2011-01-15 8 views
7

Tome el más famoso grupo de líneas de todos ellos:manera semántica de representar líneas de una obra de teatro en HTML

Hamlet: ser o no ser: es decir
la pregunta: Si es más noble para
el espíritu: sufrir los golpes y
flechas de la insultante fortuna, o para
tomar las armas contra un mar de problemas,
y por frente, acabar con ellas? Morir: al
dormir; No más; y por un sueño decir
Terminamos el dolor de corazón y los mil
quebrantos que heredó nuestra carne,
'tis una consumación devotamente
wish'd. Morir, dormir; Para dormir:
para soñar: ay, está el
rub; En el que el sueño de la muerte lo
sueños pueden venir

¿Cómo marcar que de una manera semántica, conservando espacio para a) número de línea (por ejemplo, 1.1.1), b) el nombre del personaje, y c) por supuesto, el texto?

+0

Para ser claros, los saltos de línea explícitos que tiene en el texto anterior se deben mantener? – Phrogz

+0

Sí. Cada salto de línea anterior representa una línea separada, aunque el mismo personaje está hablando. –

Respuesta

1

Voy a tener que decepcionarte allí, pero no es posible. Vea esto A List Apart article para más información.

En resumen, debido a HTML es un lenguaje de marcas diseñado específicamente para marcar un determinado tipo de documento, no todos los documentos se pueden representar con un conjunto limitado de HTML de elementos:

Algunos documentos no pueden ser publicados utilizando HTML . En muchos casos, ni siquiera deberíamos molestarnos en intentarlo. En otros casos, tenemos que cambiar radicalmente la apariencia y la estructura del documento.

Incluso utilizaron un guión como ejemplo de uno de esos documentos. Le recomendaré que lea el artículo completo en su totalidad para ver el fundamento, así como otros métodos para marcar documentos.

+0

+1 para el enlace, y para transmitir las limitaciones de html para la tarea en cuestión. –

4

Como la especificación HTML 4 explícitamente suggests using dl for dialogue, creo que usaría eso.

O bien:

<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, si la prosa contigua es semánticamente importante (probablemente lo sea):

<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> 
    ... 

El estilo de este (dejando "espacio" para las cosas) es separado del marcado semántico; sin embargo, lo anterior le da suficientes puntos de control para lograr lo que necesita, incluido posiblemente el uso de contenido CSS generado.

+0

No sabía que los períodos '.' se consideraban [caracteres válidos para' id'] (http://stackoverflow.com/questions/70579/what-are-valid-values-for-the-id-attribute -in-html) hasta hoy. –

0

"HTML" y "marcado semántico" en la misma oración parece un poco como una contradicción en los términos. A menos que, por supuesto, cuente etiquetando cosas como <span class="line-of-poetry">.

Si quiere hacer esto correctamente, necesita pensar en la superposición: en una obra de teatro, dividir el texto en líneas de poesía proporciona límites diferentes/superpuestos como cuando se divide de acuerdo con quién está hablando.hay una vasta literatura sobre cómo manejar el marcado superpuesto, ¡pero no creo que nada de eso mencione HTML!

Cuestiones relacionadas