Índice
As seccións seguintes tratan de cuestións relacionadas coa estruturación do texto. Os elementos que apresentan texto (elementos de aliñamento, elementos de tipo de letra, follas de estilo, etc.) tratan-se noutros lugares desta especificación. Para información sobre os caracteres, consulte-se a sección sobre o conxunto de caracteres do documento.
O conxunto de caracteres do documento inclui unha ampla variedade de caracteres de espazo en branco. Moitos destes son elementos tipográficos usados en certas aplicacións para producir efectos de espaciado visual determinados. Na HTML, só se definen os seguintes como caracteres de espazo en branco :
Os saltos de liña tamén son caracteres de espazo en branco. Observe-se que, ainda que 
 e 
 se definen en [ISO10646] para que se separen liñas e parágrafos sen ambigüidade respectivamente, estes non constituen saltos de liña en HTML e tamén non as inclui esta especificación na categoria máis xeral de caracteres de espazo en branco.
Esta especificación non indica o comportamento, de representación nen doutro tipo, dos espazos en branco máis que os que se identifican aqui explicitamente como espazos en branco. Por este motivo, os autores deberian usar os elementos e estilos apropriados para atinxiren os efectos de formato que implican ao espazo en branco en vez de caracteres de espazo.
Para todos os elementos HTML, a exceición de PRE , as secuéncias de espazo en branco separan "palabras" (usamos aqui o termo "palabra" para referir-nos a "caracteres de espazo non brancos"). Ao formatar o texto, os axentes de usuário deberian identificar estas palabras e dispó-las dacordo coas convencións da linguaxe natural concreta (escrita) e o médio ao que se destinan.
Esta disposición pode implicar colocar espazo entre as palabras (chamado espazo inter-palabras ), mais as convencións para o espazo inter-palabras varian en cada forma de escrita. Por exemplo, co alfabeto latino, o espazo inter-palabras mostra-se normalmente como un espazo ASCII ( ), mentres que en thai é un separador de palabras de ancho cero (​). En xaponés e chinés, o espazo inter-palabras non se mostra en absoluto.
Observe-se que unha secuéncia de espazos en branco entre palabras no documento-fonte pode resultar nun espaciado inter-palabras completamente diferente (exceito no caso do elemento PRE ). En concreto, os axentes de usuário deberian colapsar as secuéncias de espazo en branco de entrada ao produciren espazo inter-palabras. Isto pode de debe ser feito na auséncia de información sobre o idioma (do atributo lang , o campo de cabezallo HTTP "Content-Language" (ver [RFC2616] , sección 14.12), axustamentos do axente de usuário, etc.)
O elemento PRE usa-se para o texto pré-formatado , no que o espazo en branco é signiticativo.
Para evitar problemas coas regras de salto de liña da SGML e inconsisténcia entre as implementacións existentes, os autores non deberian confiar en que os axentes de usuário mostren o espazo en branco imediatamente depóis dunha etiqueta inicial ou imediatamente antes dunha etiqueta final. Asi, os autores, e en concreto as ferramentas de creación, deberian escreber:
<P>Oferecemos <A>axuda técnica</A> aos abonados.</P>
e non:
<P>Oferecemos<A> axuda técnica </A>aos abonados.</P>
<!ENTITY % phrase "EM | STRONG | DFN | CODE |
SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
<!ATTLIST (%fontstyle;|%phrase;)
%attrs; -- %coreattrs, %i18n, %events --
>
Etiqueta inicial: requerida, Etiqueta final: requerida
Atributos que se definen noutro lugar
Os elementos de frase adicionan-lles información estrutural aos fragmentos de texto. Os significados habituais dos elementos de frase son os seguintes:
EM e STRONG usan-se para indicar énfase. Os demáis elementos de frase teñen un sentido especial en documentos técnicos. Estes exemplos ilustran alguns dos elementos de frase:
Como <CITE>Harry S. Truman</CITE> dixo,
<Q lang="en-us">Aqui se acabaron os cartos.</Q>
Pode-se achar máis información en <CITE>[ISO-0000]</CITE>.
Refira-se ao número de referéncia seguinte na correspondéncia
relacionada: <STRONG>1-234-55</STRONG>
A apresentación dos elementos de frase depende do axente de usuário. Normalmente, os axentes de usuário visuais apresentan o texto EM en cursiva e o texto STRONG en negrita. Os axentes de usuário sintetizadores de voz poden mudar os parámetros de síntese, tais como o volume e o ton e decidir en consecuéncia.
Os elementos ABBR e ACRONYM permiten que os autores indiquen claramente cando aparecen abreviaturas e acrónimos. Os idiomas ocidentais fan moito uso de acrónimos tais e como "GmbH", "NATO", e "F.B.I.", asi como abreviaturas como "M.", "Inc.", "et al.", "etc.". Tanto o chinés como o xaponés usan mecanismos de abreviación análogos, nos que se refire a un nome subsecuentemente cun subconxunto de caracteres Han da secuéncia orixinal. Etiquetar estas entidades fornece información útil para os axentes de usuário e ferramentas como correctores ortográficos, sintetizadores de voz, sistemas de tradución e indexadores de motores de procura.
O contido dos elementos ABBR e ACRONYM especifica a expresión abreviada mesma, tal e como apareceria normalmente en texto corrido. O atributo title destes elementos pode-se usar para facilitar a forma completa ou expandida da expresión.
Velaqui alguns exemplso de ABBR :
<P>
<ABBR title="World Wide Web">WWW</ABBR>
<ABBR lang="fr"
title="Société Nationale des Chemins de Fer">
SNCF
</ABBR>
<ABBR lang="es" title="Doña">Doña</ABBR>
<ABBR title="Abbreviation">abbr.</ABBR>
Observe-se que as abreviaturas e acrónimos con frecuéncia teñen pronunciacións idiosincráticas. Por exemplo, mentres que "IRS" e "BBC" normalmente se pronúncian letra por letra, "NATO" e "UNESCO" se pronúncian foneticamente. E ainda outras formas abreviadas (p.ex., "URI" e "SQL") son pronunciadas, por alguns letra a letra e por outros como palabras. Cando for preciso, os autores deberian usar as follas de estilo para especificar a pronunciación dunha forma abreviada.
<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- citación longa -->
<!ATTLIST BLOCKQUOTE
%attrs; -- %coreattrs, %i18n, %events --
cite %URI; #IMPLIED -- URI de documento fonte ou mensaxe --
>
<!ELEMENT Q - - (%inline;)* -- citación na liña curta -->
<!ATTLIST Q
%attrs; -- %coreattrs, %i18n, %events --
cite %URI; #IMPLIED -- URI de documento fonte ou mensaxe --
>
Etiqueta inicial: requerida, Etiqueta final: requerida
Definicións dos atributos
Atributos que se definen noutro lugar
Estes dous elementos designan texto citado. BLOCKQUOTE é para citacións longas (conteúdo de nível de bloco) e Q para citacións curtas (conteúdo na liña) que non requiren salto de parágrafo.
Este exemplo formata un fragmento de "As duas torres" de J.R.R. Tolkien, como unha citación de bloco.
<BLOCKQUOTE cite="http://www.mycom.com/tolkien/twotowers.html">
<P>They went in single file, running like hounds on a strong scent,
and an eager light was in their eyes. Nearly due west the broad
swath of the marching Orcs tramped its ugly slot; the sweet grass
of Rohan had been bruised and blackened as they passed.</P>
</BLOCKQUOTE>
Os axentes de usuário visuais normalmente mostran BLOCKQUOTE como un bloco indentado.
Os axentes de usuário visuais deben-se asegurar de que o conteúdo do elemento Q se mostre entre aspas. Os autores non deberian pór aspas ao comezo e final do conteúdo dun elemento Q .
Os axentes de usuário deberian mostrar as aspas dacordo co idioma (ver o atributo lang ). Moitos idiomas adoptan diferentes estilos de citación para citacións externas e internas (aniñadas), que os axentes de usuário deberian respeitar.
O exemplo seguinte ilustra citacións aniñadas co elemento Q .
John said, <Q lang="en-us">I saw Lucy at lunch, she told me
<Q lang="en-us">Mary wants you
to get some ice cream on your way home.</Q> I think I will get
some at Ben and Jerry's, on Gloucester Road.</Q>
Dado que o idioma das duas citacións é inglés americano, os axentes de usuário deberian-no mostrar apropriadamente, por exemplo con aspas simples arredor da citación interna e aspas dobres arredor da citación externa:
John said, "I saw Lucy at lunch, she told me 'Mary wants you
to get some ice cream on your way home.' I think I will get some
at Ben and Jerry's, on Gloucester Road."
Nota. Recomendamos que as implementacións de follas de estilo fornezan un mecanismo para inserir aspas antes e depóis dunha citación delimitada por BLOCKQUOTE de maneira apropriada ao contexto de idioma e o degrau de aniñamento das citacións.
Porén, como alguns autores teñen usado BLOCKQUOTE simplesmente como un mecanismo para indentar o texto, para preservar a intención dos autores, os axentes de usuário non deberian insertar aspas no estilo por omisión.
O uso de BLOCKQUOTE para indentar texto está desaprovado en favor das follas de estilo.
<!ELEMENT (SUB|SUP) - - (%inline;)* -- subíndice, superíndice -->
<!ATTLIST (SUB|SUP)
%attrs; -- %coreattrs, %i18n, %events --
>
Etiqueta inicial: requerida , Etiqueta final: requerida
Atributos que se definen noutro lugar
Moitas escritas (p.ex., o francés ou o galego) requiren subíndices e superíndices para a sua correcta representación. Deberian-se usar os elementos SUB e SUP para etiquetar o texto nestes casos.
H<sub>2</sub>O
E = mc<sup>2</sup>
<SPAN lang="fr">M<sup>lle</sup> Dupont</SPAN>
Tradicionalmente, os autores dividen os seus pensamentos e argumentos en secuéncias de parágrafos. A organización da información en parágrafos non se ve afectada por como se apresenten os parágrafos: os parágrafos que teñen dobre xustificación conteñen os mesmos pensamentos que os que están xustificados à esquerda.
A etiquetaxe HTML para definir un parágrafo é directa: o elemento P define un parágrafo.
A apresentación visual dos parágrafos non é tan simples: Hai que acomodar un bon número de cuestións, tanto estilísticas como técnicas:
Estes asuntos tratan-se a continuación. O aliñamento de parágrafos e obxectos flotantes tratan-se máis abaixo neste documento.
Etiqueta inicial: requerida, Etiqueta final: opcional
Atributos que se definen noutro lugar
O elemento P representa un parágrafo. Non pode conter elementos do nível do bloco (incluído P mesmo).
Desaconsellamos que os autores usen elementos P vacios. Os axentes de usuário deberian ignorar os elementos P vacios.
O salto de liña define-se como un retorno de carro (
), un salto de liña (
), ou un par retorno de carro/salto de liña. Todos os saltos de liña constituen espazo en branco.
Para máis información sobre a especificación da SGML sobre os saltos de liñe, consulte as notas sobre os salto de liña no apéndice.
<!ELEMENT BR - O EMPTY -- salto de liña forzado -->
<!ATTLIST BR
%coreattrs; -- id, class, style, title --
>
Etiqueta inicial: requerida , Etiqueta final: proibida
Atributos que se definen noutro lugar
O elemento BR forza (finaliza) a liña de texto actual.
Para os axentes de usuário visuais, o atributo clear pode-se usar para determinar se o código que segue o elemento BR flue arredor das imaxes e outros obxectos flotando sobre a marxe esquerda ou direita, ou se comeza depóis da parte inferior deses obxectos. Dán-se máis detalles na sección sobre aliñamento e obxectos flotantes . Aconse-lla-se que os autores usen follas de estilo para controlar o fluxo do texto arredor das imaxes flotantes e outros obxectos.
Con referéncia ao formato bidireccional, o elemento BR deberia-se comportar da mesma maneira que o carácter SEPARADOR DE LIÑA [ISO10646] no algoritmo bidireccional.
Às veces os autores poden querer evitar que se dé un salto de liña entre duas palabras. A entidade (  ou  ) actua como un espazo no que os axentes de usuário non deberian realizar un salto de liña.
En HTML hai dous tipos de trazos: o trazo normal e o trazo brando. O axente de usuário deberia interpretar o trazo normal como calquer outro carácter. O trazo brando di-lle ao axente de usuário onde se pode colocar un salto de liña.
Os navegadores que interpreten os trazos brandos deben observar a seguinte semántica: Se se rompe unha liña nun trazo brando, hai que mostrar un carácter de trazo no fin da primeira liña. Se non se rompe unha liña nun trazo brando, o axente de usuário non debe mostrar un carácter de trazo. Para operacións como a procura e a ordenación haberia que ignorar sempre o trazo brando.
En HTML, o trazo normal representa-se co carácter "-" (- or -). O trazo brando representa-se coa referéncia a entidade de carácter ­ (­ ou ­)
<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- texto pré-formatado -->
<!ATTLIST PRE
%attrs; -- %coreattrs, %i18n, %events --
>
Etiqueta inicial: requerida, Etiqueta final: requerida
Definicións dos atributos
Atributos que se definen noutro lugar
O elemento PRE di-lles aos axentes de usuário visuais que o texto rodeado está "pré-formatado". Ao tratar o texto pré-formatado, os axentes de usuário visuais:
Non se require que os axentes de usuário non visuais respeiten o espazo en branco no contido dun elemento PRE .
Para máis información sobre a especificación da SGML sobre os saltos de liña, consulte as notas sobre os saltos de liña no apéndice.
O fragmento DTD anterior indica que elementos non poden aparecer nunha declaración PRE . É o mesmo que en HTML 3.2 e pretende-se que preserve o espaciado de liña constante e o aliñamento de colunas en texto mostrado nun ancho de letra fixo. Desconsella-se que os autores alteren este comportamento con follas de estilo.
O exemplo seguinte mostra un verso pré-formatado do poema To a Skylark de Shelly:
<PRE>
Higher still and higher
From the earth thou springest
Like a cloud of fire;
The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.
</PRE>
Velaqui o texto como se mostra normalmente:
Higher still and higher
From the earth thou springest
Like a cloud of fire;
The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.
O carácter
de tabulación horizontal
Os axentes de usuário visuais normalmente interpretan o carácter
de tabulación horizontal (decimal 9 en
[ISO10646]
e
[ISO88591]
) como o menor número non cero de espazos necesários
para aliñar os caracteres ao longo de tabulacións que estivesen
cada 8 caracteres. Desaconsellamos vivamente que se usen tabuladores horizontais
en texto pré-formatado xa que é prática normal, ao editar,
que as tabulacións teñan outros valores, o que conduciria a
documentos mal aliñados.
Nota. A sección seguinte é unha descrición informativa do comportamento dalguns axentes de usuário visuais actuais ao formatar parágrafos. As follas de estilo permiten un mellor control do formato de parágrafo.
Como se mostren visualmente os parágrafos depende do axente de usuário. Os parágrafos normalmente mostran-se contra a esquerda cunha marxe direita desigual. Hai outros axustamentos apropriados para as escritas de esquerda a direita.
Os axentes de usuário HTML tradicionalmente mostran os parágrafos cun espazo en branco antes e depóis, p.ex.:
Ao mesmo tempo, comezou a tomar forma un sistema de numeración,
o calendário, unha escrita hieroglífica e unha arte tecnicamente
avanzada, todo o cal influiu noutros povos.
No marco desta evolución gradual ou progreso cultural,
o horizonte pré-clásico dividiu-se nos períodos Inferior, Médio
e Superior, aos que se lles pode acrescentar un período transicional
ou Proto-clásico con vários rasgos que máis tarde
distinguirian as civilizacións emerxentes de Mesoamérica.
Isto contrasta co estilo usado nas novelas, que indenta a primeira liña do parágrafo e usa un espaciado normal entre a liña final do parágrafo actual e a primeira liña do seguinte, p.ex.:
Ao mesmo tempo, comezou a tomar forma un sistema de numeración,
o calendário, unha escrita hieroglífica e unha arte tecnicamente
avanzada, todo o cal influiu noutros povos.
No marco desta evolución gradual ou progreso cultural,
o horizonte pré-clásico dividiu-se nos períodos Inferior, Médio
e Superior, aos que se lles pode acrescentar un período transicional
ou Proto-clásico con vários rasgos que máis tarde
distinguirian as civilizacións emerxentes de Mesoamérica.
Seguindo o precedente sentado polo navegador NCSA Mosaic en 1993, os axentes de usuário normalmente non xustifican as duas marxes, en parte porque é difícil de facé-lo ben sen rotinas de hifenación sofisticadas. A chegada das follas de estilo e as letras con anti-aliasing con posicionamento de sub-píxeis promete oferecer-lles aos autores de HTML escollas máis ricas que o posíbel con anterioridade.
As follas de estilo fornecen un control rico sobre o tamaño e estilo dun tipo de letra, as marxes, o espazo antes de depóis dun parágrafo, a indentación da primeira liña, a xustificación e moitos outros detalles. A folla de estilo por omisión do axente de usuário mostra os elementos P de maneira familiar, como se ilustrou antes. Poderia-se, en princípio, anular isto para mostrar os parágrafos sen os saltos que convencionalmente distinguen parágrafos sucesivos. En xeral, dado que isto poderia confundir aos leitores, desaconsellamo-lo
Por convención, os axentes de usuário de HTML visuais fan saltar as liñas de texto para que collan dentro das marxes disponíbeis. Os algoritmos de salto dependen da escrita que se está a formatar.
Nas escritas ocidentais, por exemplo, o texto deberia saltar só no espazo en branco. Os primeiros axentes de usuário facian saltar as liñas, incorrectamente, xusto despóis da etiqueta inicial ou xusto despóis da etiqueta final dun elemento, o que resultaba en pontuación deslabazada. Por exemplo, considere-se esta oración:
Unha estátua dos <A href="cih78">Cihuateteus</A>, que son patróns ...
Facendo saltar a liña xusto antes do final da etiqueta do elemento A fai que a coma fique perdida ao comezo da liña seguinte:
Unha estátua dos Cihuateteus
, que son patróns ...
Isto é un erro, dado que non habia espazo en branco nese lugar do código.
<!-- INS/DEL tratan-se por inclusión en BODY -->
<!ELEMENT (INS|DEL) - - (%flow;)* -- texto inserido, texto eliminado -->
<!ATTLIST (INS|DEL)
%attrs; -- %coreattrs, %i18n, %events --
cite %URI; #IMPLIED -- información sobre a razón do cámbio --
datetime %Datetime; #IMPLIED -- data e hora do cámbio --
>
Etiqueta inicial: requerida , Etiqueta final: requerida
Definicións dos atributos
Atributos que se definen noutro lugar
INS e DEL usan-se para etiquetar seccións do documento que se inseriron ou eliminaron con relación a unha versión distinta dun documento (p.ex., en borradores de disposicións legais nas que os lexiladores necesitan ver as alteracións).
Estes dous elementos son extraños en HTML en que sirven tanto para elementos a nível de bloco como na liña (mais non para ambos). Poden conter unha ou máis palabras dun parágrafo ou conter un ou máis elementos de nível de bloco como parágrafos, listas e tabelas.
Este exemplo poderia ser dunha proposta para modificar a lexislación sobre cantos axudantes pode empregar un Sheriff dun contado de 3 a 5.
<P>
Un sheriff pode empregar <DEL>3</DEL><INS>5</INS> axudantes.
</P>
Os elementos INS e DEL non deben conter conteúdo de nível de bloco cando estes elementos se comporten como elementos na liña.
EXEMPLO ILEGAL:
O seguinte non é HTML legal.
<P>
<INS><DIV>...conteúdo de nível de bloco...</DIV></INS>
</P>
Os axentes de usuário deberian mostrar o texto inserido e borrado de maneira que faga as alteracións óbvias. Por exemplo, o texto inserido pode aparecer nun tipo de letra especial, o texto borrado pode non aparecer en absoluto ou mostrar-se tallado ou con marcas especiais, etc.
Os dous exemplos seguintes corresponden ao 5 de novembro de 1994, 8:15:30 am, US EST (Tempo Padrón do Leste).
1994-11-05T13:15:30Z
1994-11-05T08:15:30-05:00
Usado con INS , isto dá::
<INS datetime="1994-11-05T08:15:30-05:00"
cite="http://www.foo.org/omeudocumento/comentarios.html">
Ademáis, as cifras máis recentes do departamento de marketing
suxiren que tal práctica está en aumento.
</INS>
O documento "http://www.foo.org/omeudocumento/comentarios.html" conteria comentários sobre por que se inseriu información no documento.
Os autores tamén poden facer comentários sobre texto inserido ou eliminado usando o atributo title dos elementos INS e DEL . Os axentes de usuário poden-lle apresentar esta información ao usuário (p.ex., como unha nota frotante). Por exemplo:
<INS datetime="1994-11-05T08:15:30-05:00"
title="Modificou-se como consecuéncia dos comentários de Steve B na reunión.">
Ademáis, as cifras máis recentes do departamento de marketing
suxiren que tal práctico está en aumento.
</INS>