2011-01-15 8 views
7

Prendere il più famoso gruppo di linee di tutti:modo semantica di rappresentare linee di un gioco in HTML

Amleto: essere o non essere: questo è
la domanda: Se 'più nobile nella
mente a subire le fionde e frecce
di una sorte crudele, o per
prendere le armi contro un mare di guai,
e opponendosi loro fine? Per morire: a
sonno; Non piu; e con un sonno dire
Finiamo la mal di cuore e ai mille
shock naturali che la carne è erede,
'tis una consumazione Devotamente di essere
wish'd. Morire, dormire; Per dormire:
forse per sognare: ay, c'è lo
sfregamento; Perché in quel sonno di morte quali
dei sogni

Come si marcare che in un modo semantica, preservando lo spazio per a) numero di linea (ad esempio, 1.1.1), b) il nome del personaggio, e c) ovviamente, il testo?

+0

Per essere chiari, le interruzioni di riga esplicite presenti nel testo sopra devono essere mantenute? – Phrogz

+0

Sì. Ogni interruzione di riga sopra rappresenta una linea separata, sebbene lo stesso personaggio stia parlando. –

risposta

1

Devo deludervi, ma non è possibile. Vedere questo A List Apart article per ulteriori informazioni.

In sintesi, perché HTML è un linguaggio di markup progettato specificamente per marcare un certo tipo di documento, non tutti i documenti possono essere rappresentate con limitata serie di elementi di HTML:

Alcuni documenti non possono essere pubblicati utilizzando HTML . In molti casi, non dovremmo nemmeno preoccuparci di provare. In altri casi, dobbiamo cambiare radicalmente l'aspetto e la struttura del documento.

Hanno persino utilizzato una sceneggiatura come esempio di uno di questi documenti. Ti consiglierò di leggere l'intero articolo per intero per vedere le motivazioni, oltre ad altri metodi per la marcatura dei documenti.

+0

+1 per il collegamento e per il trasporto delle limitazioni di html per l'attività in corso. –

4

Come la specifica HTML 4 suggests using dl for dialogue, penso che lo userei.

O:

<dl> 
    <dt>Hamlet</dt> 
    <dd id="line-1.1.1">To be, or not to be: that is</dd> 
    <dd id="line-1.1.2">the question: Whether 'tis nobler in</dd> 
    ... 

... o, se la prosa contigua è semanticamente importante (probabilmente lo è):

<dl> 
    <dt>Hamlet</dt> 
    <dd> 
    <span id="line-1.1.1">To be, or not to be: that is</span> 
    <span id="line-1.1.2">the question: Whether 'tis nobler in</span> 
    ... 

Lo stile di questo (lasciando "spazio" per le cose) è separato dal markup semantico; tuttavia, quanto sopra ti dà maniglie sufficienti per ottenere probabilmente ciò di cui hai bisogno, incluso possibilmente utilizzando contenuto CSS generato.

+0

Non ero a conoscenza del fatto che i periodi '.' erano considerati [caratteri validi per l'id'] (http://stackoverflow.com/questions/70579/what-are-valid-values-for-the-id-attribute -in-html) fino ad oggi. –

0

"HTML" e "markup semantico" nella stessa frase sembra un po 'come una contraddizione in termini. A meno che, naturalmente, non contenga etichette come <span class="line-of-poetry">.

Se si vuole fare questo correttamente è necessario pensare a sovrapposizioni: in una rappresentazione, dividendo il testo in linee di poesia si creano dei confini diversi/sovrapposti come quando li si divide in base a chi sta parlando.c'è una vasta letteratura su come gestire il markup che si sovrappone - ma non penso che nessuno di essi menzioni l'HTML!

Problemi correlati