7 La estructura global de un documento HTML

Nota: Este documento es parte de una traducci�n al castellano de la Recomendaci�n del W3C "HTML 4.01 Specification" (m�s informaci�n). Puede consultar la versi�n original del mismo. Para cualquier comentario o correcci�n acerca de la traducci�n p�ngase en contacto con el traductor en jrpozo arroba conclase punto net. Gracias por su colaboraci�n.

V�ase el Aviso de copyright de la traducci�n.

Contenidos

  1. Introducci�n a la estructura de un documento HTML
  2. Informaci�n sobre la versi�n de HTML
  3. El elemento HTML
  4. La cabecera del documento
    1. El elemento HEAD
    2. El elemento TITLE
    3. El atributo title
    4. Metadatos
  5. El cuerpo del documento
    1. El elemento BODY
    2. Identificadores de elementos: los atributos id y class
    3. Elementos en bloque y elementos en l�nea
    4. Agrupaci�n de elementos: los elementos DIV y SPAN
    5. Encabezados: los elementos H1, H2, H3, H4, H5, H6
    6. El elemento ADDRESS

7.1 Introducci�n a la estructura de un documento HTML

Un documento HTML 4 se compone de tres partes:

  1. una l�nea que contiene informaci�n sobre la versi�n de HTML,
  2. una secci�n de cabecera declarativa (delimitada por el elemento HEAD),
  3. un cuerpo, que contiene el contenido real del documento. El cuerpo puede ser especificado mediante el elemento BODY o mediante el elemento FRAMESET.

Puede aparecer espacio en blanco (espacios, saltos de l�nea, tabulaciones y comentarios) antes y despu�s de cada secci�n. Las secciones 2 y 3 deber�an estar delimitadas por el elemento HTML.

Aqu� tenemos un ejemplo de un documento HTML sencillo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
   <HEAD>
      <TITLE>Mi primer documento HTML</TITLE>
   </HEAD>
   <BODY>
      <P>�Hola mundo!
   </BODY>
</HTML>

7.2 Informaci�n sobre la versi�n de HTML

Un documento HTML v�lido declara qu� versi�n de HTML se utiliza en el documento. La declaraci�n del tipo de documento especifica la definici�n del tipo de documento (DTD) que se usa en el documento (ver [ISO8879]).

HTML 4.01 especifica tres DTDs, de modo que los autores deben incluir una de las siguientes declaraciones del tipo de documento en sus documentos. Los DTDs var�an en cuanto a los elementos que soportan.

El URI que aparece en la declaraci�n del tipo de documento permite a los agentes de usuario descargar el DTD y los conjuntos de entidades que sean necesarios. Los siguientes URIs (relativos) se refieren a los DTDs y conjuntos de entidades de HTML 4:

La vinculaci�n entre identificadores p�blicos y ficheros puede especificarse utilizando un fichero de cat�logo seg�n el formato recomendado por el Oasis Open Consortium (ver [OASISOPEN]. Al comienzo de la secci�n sobre la referencia SGML de HTML 4.01 se incluye un fichero de cat�logo de muestra para HTML 4.01. Las dos �ltimas letras de la declaraci�n indican el idioma del DTD. Para HTML, �ste es siempre ingl�s ("EN").

Nota. En lo que concierne a la versi�n de HTML 4.01 del 24 de diciembre, el Grupo de Trabajo HTML se compromete a la siguiente pol�tica:

Esto significa que en una declaraci�n del tipo de documento, los autores pueden utilizar con seguridad un identificador de sistema que se refiera a la �ltima versi�n de un DTD HTML 4. Los autores tambi�n pueden optar por usar un identificador de sistema que se refiera a una version espec�fica (antigua) de un DTD HTML 4 cuando sea necesaria la validaci�n con respecto a ese DTD en particular. El W3C har� todo lo posible para que los documentos archivados est�n siempre disponibles en sus direcciones originales y en su forma original.

7.3 El elemento HTML

<!ENTITY % html.content "HEAD, BODY">

<!ELEMENT HTML O O (%html.content;)    -- elemento ra�z del documento -->
<!ATTLIST HTML
  %i18n;                               -- lang, dir --
  >

Etiqueta inicial: opcional, Etiqueta final: opcional

Definiciones de atributos

version = cdata [CN]
Desaprobado. El valor de este atributo especifica qu� DTD HTML gobierna el documento actual. Este atributo ha sido desaprobado porque es redundante con la informaci�n sobre la versi�n proporcionada por la declaraci�n del tipo de documento.

Atributos definidos en otros lugares

Despu�s de la declaraci�n del tipo de documento, el resto de un documento HTML est� contenido en el elemento HTML. As�, un documento HTML t�pico tiene esta estructura:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
...La cabecera, el cuerpo, etc. van aqu�...
</HTML>

7.4 La cabecera del documento

7.4.1 El elemento HEAD

<!-- %head.misc; definido previamente como "SCRIPT|STYLE|META|LINK|OBJECT" -->
<!ENTITY % head.content "TITLE & BASE?">

<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- cabecera del documento -->
<!ATTLIST HEAD
  %i18n;                               -- lang, dir --
  profile     %URI;          #IMPLIED  -- diccionario de metainformaci�n con nombre --
  >

Etiqueta inicial: opcional, Etiqueta final: opcional

Definiciones de atributos

profile = uri [CT]
Este atributo especifica la localizaci�n de uno o m�s perfiles de metadatos, separados por espacio en blanco. Con vistas a extensiones futuras, los agentes de usuario deber�an considerar este valor como una lista, si bien esta especificaci�n s�lo tiene en cuenta el primer URI. Se habla sobre los perfiles m�s adelante, en la secci�n sobre metadatos.

Atributos definidos en otros lugares

El elemento HEAD contiene informaci�n sobre el documento actual, como el t�tulo, palabras clave que pueden ser de utilidad para motores de b�squeda, y otros datos que no se consideran parte del contenido del documento. En general, los agentes de usuario no representan los elementos que aparecen como contenido del HEAD. Sin embargo, pueden poner la informaci�n del HEAD a disposici�n de los usuarios a trav�s de otros mecanismos.

7.4.2 El elemento TITLE

<!-- El elemento TITLE no se considera parte del flujo de texto.
     Deber�a ser mostrado, por ejemplo, como el encabezado de la p�gina
     o como el t�tulo de la ventana. Se requiere exactamente un t�tulo
     por documento.
     -->
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- t�tulo del documento -->
<!ATTLIST TITLE %i18n>

Etiqueta inicial: obligatoria, Etiqueta final: obligatoria

Atributos definidos en otros lugares

Todos los documentos HTML deben tener un elemento TITLE en la secci�n HEAD.

Los autores deber�an utilizar el elemento TITLE para identificar los contenidos de un documento. Debido a que los usuarios a menudo consultan documentos fuera de contexto, los autores deber�an proporcionar t�tulos ricos en contexto. As�, en vez de usar un t�tulo como "Introducci�n", que no proporciona mucha informaci�n acerca del contexto, los autores deber�an poner en su lugar un t�tulo del estilo "Introducci�n a la apicultura medieval".

Por razones de accesibilidad, los agentes de usuario siempre deben poner el contenido del elemento TITLE a disposici�n de los usuarios (incluyendo los elementos TITLE que aparezcan en marcos). El mecanismo para ello depende del agente de usuario (p.ej., como un t�tulo, hablado).

Los t�tulos pueden contener entidades de caracteres (para caracteres acentuados, caracteres especiales, etc.), pero no pueden contener c�digo (incluyendo comentarios). Aqu� tenemos un ejemplo de t�tulo de documento:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Un estudio sobre la din�mica de la poblaci�n</TITLE>
... otros elementos de cabecera...
</HEAD>
<BODY>
... cuerpo del documento...
</BODY>
</HTML>

7.4.3 El atributo title

Definiciones de atributos

title = texto [CS]
Este atributo ofrece informaci�n consultiva sobre el elemento para el cual se establece.

A diferencia del elemento TITLE, que proporciona informaci�n sobre un documento entero y que s�lo puede aparecer una vez, el atributo title puede anotar cualquier n�mero de elementos. Para saber si un elemento soporta este atributo consulte la definici�n del elemento.

Los valores del atributo title pueden ser representados por los agentes de usuario de diferentes maneras. Por ejemplo, los navegadores visuales suelen representar el t�tulo como un "tool tip" (un mensaje corto que aparece cuando el dispositivo apuntador se detiene sobre un objeto). Los agentes de usuario de voz pueden pronunciar la informaci�n del t�tulo en un contexto similar. Por ejemplo, al establecer el atributo en un v�nculo, los agentes de usuario (visuales y no visuales) pueden decir a los usuarios la naturaleza del recurso vinculado:

...texto...
Aqu� hay una foto m�a 
<A href="http://algunsitio.com/cosascheveres.gif" title="Yo haciendo submarinismo">
   haciendo submarinismo el verano pasado
</A>
...m�s texto...

El atributo title tiene un papel adicional cuando se utiliza con el elemento LINK para designar una hoja de estilo externa. Consulte la secci�n sobre v�nculos y hojas de estilo para m�s detalles.

Nota. Para mejorar la calidad de la s�ntesis de voz en los casos en que las t�cnicas est�ndar logran malos resultados, las versiones futuras de HTML podr�an incluir un atributo para codificar informaci�n fon�mica y pros�dica.

7.4.4 Metadatos

Nota. El Marco de Descripci�n de Recursos (Resource Description Framework) del W3C (ver [RDF10]) se convirti� en Recomendaci�n del W3C en febrero de 1999. El RDF permite a los autores especificar metadatos legibles por m�quina sobre documentos HTML y otros recursos accesibles por la red.

El HTML permite a los autores especificar metadatos -- informaci�n sobre un documento m�s que contenido del propio documento -- de diferentes de maneras.

Por ejemplo, para especificar el autor de un documento, puede utilizarse el elemento META como sigue:

<META name="Author" content="Dave Raggett">

El elemento META especifica una propiedad (aqu� "Author") y le asigna un valor (aqu� "Dave Raggett").

Esta especificaci�n no define un conjunto de propiedades legales de metadatos. El significado de una propiedad y el conjunto de valores legales para esa propiedad deber�a estar definida en un diccionario de referencia llamado perfil. Por ejemplo, un perfil dise�ado para ayudar a los motores de b�squeda a indexar documentos podr�a definir propiedades tales como "author", "copyright", "keywords", etc.

Especificaci�n de metadatos 

En general, la especificaci�n de metadatos implica dos pasos:

  1. Declaraci�n de una propiedad y de un valor para esta propiedad. Esto puede hacerse de dos maneras:
    1. Desde dentro de un documento, por medio del elemento META.
    2. Desde fuera de un documento, vinculando los metadatos por medio del elemento LINK (v�ase la secci�n sobre tipos de v�nculos).
  2. Referencia a un perfil en el que se definen la propiedad y sus valores legales. Para designar un perfil, se usa el atributo profile del elemento HEAD.

Obs�rvese que al estar definido un perfil por el elemento HEAD, se aplica el mismo perfil a todos los elementos META y LINK de la cabecera del documento.

Los agentes de usuario no necesitan soportar los mecanismos de metadatos. Para aquellos que opten por soportar metadatos, esta especificaci�n no define c�mo deber�an interpretarse los metadatos.

El elemento META 

<!ELEMENT META - O EMPTY               -- metainformaci�n gen�rica -->
<!ATTLIST META
  %i18n;                               -- lang, dir, para usar con content --
  http-equiv  NAME           #IMPLIED  -- nombre de encabezado de respuesta HTTP --
  name        NAME           #IMPLIED  -- nombre de la metainformaci�n --
  content     CDATA          #REQUIRED -- informaci�n asociada --
  scheme      CDATA          #IMPLIED  -- seleccionar forma de contenido --
  >

Etiqueta inicial: obligatoria, Etiqueta final: prohibida

Definiciones de atributos

Para los siguientes atributos, los valores permitidos y su interpretaci�n depende del perfil:

name = name [CS]
Este atributo identifica un nombre de propiedad. Esta especificaci�n no enumera los valores legales para este atributo.
content = cdata [CS]
Este atributo especifica el valor de una propiedad. Esta especificaci�n no enumera los valores legales para este atributo.
scheme = cdata [CS]
Este atributo especifica un esquema que se usar� para interpretar el valor de la propiedad (v�ase la secci�n sobre perfiles para m�s detalles).
http-equiv = name [CI]
Este atributo puede utilizarse en lugar del atributo name. Los servidores HTTP utilizan este atributo para obtener informaci�n sobre los encabezados del mensaje de respuesta HTTP.

Atributos definidos en otros lugares

El elemento META puede utilizarse para identificar propiedades de un documento (p.ej., el autor, la fecha de caducidad, una lista de palabras clave, etc.) y para asignar valores a esas propiedades. Esta especificaci�n no define un conjunto normativo de propiedades.

Cada elemento META especifica una pareja propiedad/valor. El atributo name identifica la propiedad y el atributo content especifica el valor de la propiedad.

Por ejemplo, la siguiente declaraci�n establece un valor para la propiedad Author:

<META name="Author" content="Dave Raggett">

Puede utilizarse el atributo lang de META para especificar el idioma del valor del atributo content. Esto permite a los sintetizadores de voz aplicar reglas de pronunciaci�n dependientes del idioma.

En este ejemplo, se declara que el nombre del autor est� en franc�s:

<META name="Author" lang="fr" content="Arnaud Le Hors">

Nota. El elemento META es un mecanismo gen�rico para la especificaci�n de metadatos. Sin embargo, hay algunos elementos y atributos HTML que ya manejan determinados metadatos y que pueden ser utilizados por los autores en lugar de META para especificar dichos metadatos: el elemento TITLE, el elemento ADDRESS, los elementos INS y DEL, el atributo title, y el atributo cite.

Nota. Cuando una propiedad especificada mediante un elemento META toma un valor que es un URI, algunos autores prefieren especificar los metadatos mediante el elemento LINK. As�, la siguiente declaraci�n de metadatos:

<META name="DC.identifier"
      content="http://www.ietf.org/rfc/rfc1866.txt">

tambi�n podr�a haberse escrito as�:

<LINK rel="DC.identifier"
      type="text/plain"
      href="http://www.ietf.org/rfc/rfc1866.txt">
META y encabezados HTTP

El atributo http-equiv puede utilizarse en lugar del atributo name, lo cual tiene un significado especial cuando los documentos se obtienen mediante el Protocolo de Transferencia de Hipertexto (HTTP). Los servidores HTTP pueden usar el nombre de la propiedad especificada por el atributo http-equiv para crear un encabezado al estilo [RFC822] en la respuesta HTTP. Vea la especificaci�n HTTP ([RFC2616]) para m�s detalles sobre encabezados HTTP v�lidos.

La siguiente declaraci�n META de ejemplo:

<META http-equiv="Expires" content="Tue, 20 Aug 1996 14:25:27 GMT">

resultar� en el encabezado HTTP:

Expires: Tue, 20 Aug 1996 14:25:27 GMT

Esto lo pueden utilizar las cach�s para determinar cu�ndo obtener una nueva copia del documento asociado.

Nota. Algunos agentes de usuario soportan el uso de META para refrescar la p�gina actual despu�s de un n�mero especificado de segundos, con la opci�n de reemplazarla con un URI diferente. Los autores no deber�an utilizar esta t�cnica para dirigir a los usuarios a p�ginas diferentes, ya que esto hace la p�gina inaccesible para algunos usuarios. En lugar de eso, la redirecci�n autom�tica de p�ginas deber�a realizarse usando redirecci�n en el lado del servidor.

META y motores de b�squeda

Un uso com�n de META es especificar palabras clave que pueden usar los motores de b�squeda para mejorar la calidad de los resultados de una b�squeda. Cuando se proporcionen varios elementos META con informaci�n para varios idiomas, los motores de b�squeda pueden utilizar el atributo lang como filtro para mostrar los resultados de la b�squeda usando las preferencias de idioma del usuario. Por ejemplo,

<!-- Para hablantes de ingl�s americano -->
<META name="keywords" lang="en-us" 
      content="vacation, Greece, sunshine">
<!-- Para hablantes de ingl�s brit�nico -->
<META name="keywords" lang="en" 
      content="holiday, Greece, sunshine">
<!-- Para hablantes de espa�ol -->
<META name="keywords" lang="es" 
      content="vacaciones, Grecia, sol">

Tambi�n puede incrementarse la efectividad de los motores de b�squeda usando el elemento LINK para especificar v�nculos a traducciones del documento en otros idiomas, v�nculos a versiones del documento en otros medios (p.ej., PDF), y, cuando el documento es parte de una colecci�n, v�nculos a un punto apropiado de partida para examinar la colecci�n completa.

Se puede encontrar m�s ayuda en la secci�n sobre c�mo ayudar a los motores de b�squeda a indexar su sitio Web.

META y PICS

La Plataforma para la Selecci�n de Contenido en Internet (PICS, especificada en [PICS]) es una infraestructura para asociar etiquetas (metadatos) con contenido de Internet. Dise�ada originalmente para ayudar a los padres y a las escuelas a controlar los lugares a los que pueden acceder los ni�os en Internet, tambi�n facilita otros usos para las etiquetas, incluyendo firmas de c�digo, privacidad, y gesti�n de los derechos de la propiedad intelectual.

Este ejemplo ilustra c�mo puede usarse una declaraci�n META para incluir una etiqueta PICS 1.1:

<HEAD>
 <META http-equiv="PICS-Label" content='
 (PICS-1.1 "http://www.gcf.org/v2.5"
    labels on "1994.11.05T08:15-0500"
      until "1995.12.31T23:59-0000"
      for "http://w3.org/PICS/Overview.html"
    ratings (suds 0.5 density 0 color/hue 1))
 '>
  <TITLE>... t�tulo del documento ...</TITLE>
</HEAD>
META e informaci�n por defecto

El elemento META puede utilizarse para especificar la informaci�n por defecto de un documento en los aspectos siguientes:

El siguiente ejemplo especifica que la codificaci�n de caracteres de un documento es la ISO-8859-5

<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-5"> 

Perfiles de metadatos 

El atributo profile de HEAD especifica la localizaci�n de un perfil de metadatos. El valor del atributo profile es un URI. Los agentes de usuario pueden utilizar este URI de dos maneras:

Este ejemplo hace referencia a un perfil hipot�tico que define propiedades �tiles para indexar documentos. A las propiedades definidas en este perfil -- incluyendo "author", "copyright", "keywords" (palabras clave) y "date" (fecha) -- se les asignan valores mediante declaraciones META subsiguientes.

 <HEAD profile="http://www.acme.com/profiles/core">
  <TITLE>C�mo completar portadas de Memoranda</TITLE>
  <META name="author" content="Jos� P�rez">
  <META name="copyright" content="&copy; 1997 Acme Corp.">
  <META name="keywords" content="empresarial,instrucciones,cat�logos">
  <META name="date" content="1994-11-06T08:49:37+00:00">
 </HEAD>

En el momento de escribir esta especificaci�n, la pr�ctica com�n es usar los formatos de fechas descritos en [RFC2616], secci�n 3.3. Como estos formatos son relativamente complicados de procesar, recomendamos que los autores utilicen el formato de fechas [ISO8601]. Para m�s informaci�n, v�anse las secciones sobre los elementos INS y DEL.

El atributo scheme permite a los autores proporcionar a los agentes de usuario m�s contexto para la interpretaci�n correcta de los metadatos. A veces, esta informaci�n adicional puede ser cr�tica, por ejemplo cuando los metadatos pueden ser especificados seg�n formatos diferentes. Por ejemplo, un autor podr�a especificar una fecha en el formato (ambiguo) "10-9-97"; �significa esto 9 de octubre de 1997 o 10 de septiembre de 1997? El valor "Mes-D�a-A�o" para el atributo scheme eliminar�a la ambig�edad de este valor de fecha.

En otras ocasiones, el atributo scheme puede proporcionar informaci�n �til aunque no cr�tica a los agentes de usuario.

Por ejemplo, la siguiente declaraci�n scheme podr�a ayudar a un agente de usuario a determinar que el valor de la propiedad "identificador" es un n�mero de c�digo ISBN:

<META scheme="ISBN"  name="identificador" content="0-8230-2355-9">

Los valores del atributo scheme dependen de la propiedad name y del profile asociado.

Nota. Un ejemplo de perfil es el Dublin Core (ver [DCORE]). Este perfil define un conjunto de propiedades recomendadas para descripciones bibliogr�ficas electr�nicas, y su objetivo es promover la interoperabilidad entre modelos descriptivos dispares.

7.5 El cuerpo del documento

7.5.1 El elemento BODY

<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- cuerpo del documento -->
<!ATTLIST BODY
  %attrs;                              -- %coreattrs, %i18n, %events --
  onload          %Script;   #IMPLIED  -- el documento ha sido cargado --
  onunload        %Script;   #IMPLIED  -- el documento ha sido quitado --
  >

Etiqueta inicial: opcional, Etiqueta final: opcional

Definiciones de atributos

background = uri [CT]
Desaprobado. El valor de este atributo es un URI que designa un recurso de imagen. En general la imagen se repite para rellenar el fondo (en navegadores visuales).
text = color [CI]
Desaprobado. Este atributo establece el color de primer plano para el texto (en navegadores visuales).
link = color [CI]
Desaprobado. Este atributo establece el color del texto que marca los v�nculos de hipertexto no visitados (en navegadores visuales)
vlink = color [CI]
Desaprobado. Este atributo especifica el color del texto que marca los v�nculos de hipertexto visitados (en navegadores visuales).
alink = color [CI]
Desaprobado. Este atributo especifica el color del texto que marca los v�nculos de hipertexto cuando son seleccionados por el usuario (en navegadores visuales).

Atributos definidos en otros lugares

El cuerpo de un documento contiene el contenido del documento. El contenido puede ser presentado por un agente de usuario de distintas maneras. Por ejemplo, para los navegadores visuales, se puede imaginar el cuerpo como un lienzo sobre el que aparece el contenido: texto, im�genes, colores, gr�ficos, etc. Para agentes de usuario por voz, el mismo contenido podr�a ser pronunciado. Debido a que ahora el m�todo preferido de especificar la presentaci�n de un documento son las hojas de estilo, los atributos presentacionales del elemento BODY han sido desaprobados.

EJEMPLO DESAPROBADO:
El siguiente fragmento HTML ilustra el uso de los atributos desaprobados. Establece el color de fondo del lienzo en blanco, el color de primer plano del texto en negro, y el color de los hiperv�nculos en rojo inicialmente, fucsia cuando son activados y marr�n una vez que han sido visitados.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
 <TITLE>Un estudio sobre la din�mica de la poblaci�n</TITLE>
</HEAD>
<BODY bgcolor="white" text="black"
  link="red" alink="fuchsia" vlink="maroon">
  ... cuerpo del documento ...
</BODY>
</HTML>

Usando hojas de estilo, se podr�a conseguir el mismo efecto de la siguiente manera:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
 <TITLE>Un estudio sobre la din�mica de la poblaci�n</TITLE>
 <STYLE type="text/css">
  BODY { background: white; color: black }
  A:link { color: red }
  A:visited { color: maroon }
  A:active { color: fuchsia }
 </STYLE>
</HEAD>
<BODY>
  ... cuerpo del documento ...
</BODY>
</HTML>

El usar hojas de estilo externas (vinculadas) nos da flexibilidad para cambiar la presentaci�n sin tener que revisar el documento fuente HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
 <TITLE>Un estudio sobre la din�mica de la poblaci�n</TITLE>
 <LINK rel="stylesheet" type="text/css" href="estilolisto.css">
</HEAD>
<BODY>
  ... cuerpo del documento ...
</BODY>
</HTML>

Marcos y cuerpos HTML. Los documentos que contienen marcos reemplazan el elemento BODY con el elemento FRAMESET. Consulte la secci�n sobre marcos para m�s informaci�n.

7.5.2 Identificadores de elementos: los elementos id y class

Definiciones de atributos

id = name [CS]
Este atributo asigna un nombre a un elemento. Este nombre debe ser �nico en un documento.
class = lista de cdata [CS]
Este atributo asigna un nombre de clase o un conjunto de nombres de clase a un elemento. Se puede asignar el mismo nombre o nombres de clase a cualquier n�mero de elementos. Los nombres de clase m�ltiples deben estar separados por caracteres de espacio en blanco.
El atributo id asigna un identificador �nico a un elemento (lo cual puede ser verificado por un analizador SGML). Por ejemplo, los siguientes p�rrafos se distinguen por sus valores de id:
<P id="miparrafo"> Esto es un p�rrafo con un nombre �nico.</P>
<P id="tuparrafo"> Esto tambi�n es un p�rrafo con un nombre �nico.</P>

El atributo id tiene varios papeles en HTML:

El atributo class, por otra parte, asigna uno o m�s nombres de clase a un elemento; se puede decir que el elemento pertenece a estas clases. Varios elementos pueden compartir el mismo nombre de clase. El atributo class tiene varios papeles en HTML:

En el siguiente ejemplo, el elemento SPAN se utiliza junto con los atributos id y class para codificar mensajes informativos. Los mensajes aparecen tanto en ingl�s como en espa�ol.

<!-- Mensajes en ingl�s -->
<P><SPAN id="msg1" class="info" lang="en">Variable declared twice</SPAN>
<P><SPAN id="msg2" class="advertencia" lang="en">Undeclared variable</SPAN>
<P><SPAN id="msg3" class="error" lang="en">Bad syntax for variable name</SPAN>
<!-- Mensajes en espa�ol -->
<P><SPAN id="msg1" class="info" lang="es">Variable declarada dos veces</SPAN>
<P><SPAN id="msg2" class="advertencia" lang="es">Variable no declarada</SPAN>
<P><SPAN id="msg3" class="error" lang="es">Sintaxis incorrecta para el nombre
de la variable</SPAN>

Las siguientes reglas de estilo CSS dir�an a los agentes de usuario visuales que representaran los mensajes informativos en verde, los mensajes de advertencia en amarillo, y los mensajes de error en rojo:

SPAN.info        { color: green }
SPAN.advertencia { color: yellow }
SPAN.error       { color: red }

Obs�rvese que el "msg1" espa�ol y el "msg1" ingl�s no pueden aparecer en el mismo documento, ya que ambos comparten el mismo valor de id. Los autores pueden hacer un uso mayor del atributo id para refinar la presentaci�n de mensajes individuales, hacerlos v�nculos destino, etc.

Se les puede asignar informaci�n de identificador y clase a casi todos los elementos HTML.

Supongamos, por ejemplo, que estamos escribiendo un documento sobre un lenguaje de programaci�n. El documento debe incluir un n�mero de ejemplos preformateados. Usamos el elemento PRE para formatear los ejemplos. Tambi�n asignamos un color de fondo (verde) a todos los ejemplares del elemento PRE que pertenezcan a la clase "ejemplo".

<HEAD>
<TITLE>... t�tulo del documento ...</TITLE>
<STYLE type="text/css">
PRE.ejemplo { background : green }
</STYLE>
</HEAD>
<BODY>
<PRE class="ejemplo" id="ejemplo-1">
...c�digo del ejemplo...
</PRE>
</BODY>

Al establecer el atributo id para este ejemplo, podemos (1) crear un hiperv�nculo a �l y (2) sustituir la informaci�n de estilo de la clase por informaci�n de estilo propia.

Nota. El atributo id comparte el mismo espacio de nombres que el atributo name cuando se usa para nombres de v�nculos. Consulte la secci�n sobre v�nculos con id para m�s informaci�n.

7.5.3 Elementos en bloque y elementos en l�nea

Algunos de los elementos HTML que pueden aparecer en BODY se llaman elementos "en bloque" (o tambi�n "a nivel de bloque") mientras que otros son elementos "en l�nea" (o "a nivel de texto"). Esta distinci�n se basa en varios aspectos:

Modelo de contenido
Generalmente, los elementos en bloque pueden contener elementos en l�nea y a otros elementos en bloque. Generalmente, los elementos en l�nea s�lo pueden contener datos y a otros elementos en l�nea. Inherentemente a esta distinci�n estructural est� la idea de que los elementos en bloque crean estructuras "m�s grandes" que los elementos en l�nea.
Formato
Los elementos en bloque tienen por defecto un formato diferente que el de los elementos en l�nea. Generalmente, los elementos en bloque comienzan en una nueva l�nea, y los elementos en l�nea no. Para informaci�n sobre espacio en blanco, saltos de l�nea, y formato de bloques, consulte la secci�n sobre texto.
Direccionalidad
Por razones t�cnicas relacionadas con el algoritmo de texto bidireccional de [UNICODE], los elementos en bloque y en l�nea difieren en el modo de heredar la informaci�n de direccionalidad. Para m�s detalles, vea la secci�n sobre herencia de la direcci�n del texto.

Las hojas de estilo proporcionan medios para especificar la representaci�n de elementos arbitrarios, incluyendo la representaci�n como elemento en bloque o en l�nea. En algunos casos, como por ejemplo para informaci�n en l�nea para objetos de lista, esto puede ser apropiado, pero en general no es aconsejable que los autores invaliden la interpretaci�n convencional de los elementos HTML de este modo.

La alteraci�n del estilo de presentaci�n tradicional de los elementos en bloque y en l�nea tambi�n influye en el algoritmo de texto bidireccional. Vea la secci�n sobre el efecto de las hojas de estilo en la bidireccionalidad para m�s informaci�n.

7.5.4 Agrupaci�n de elementos: los elementos DIV y SPAN

<!ELEMENT DIV - - (%flow;)*            -- contenedor gen�rico de idioma/estilo -->
<!ATTLIST DIV
  %attrs;                              -- %coreattrs, %i18n, %events --
  >
<!ELEMENT SPAN - - (%inline;)*         -- contenedor gen�rico de idioma/estilo -->
<!ATTLIST SPAN
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Etiqueta inicial: obligatoria, Etiqueta final: obligatoria

Atributos definidos en otros lugares

Los elementos DIV y SPAN, junto con los atributos id y class, ofrecen un mecanismo gen�rico para a�adir estructura a los documentos. Estos elementos especifican si su contenido es en l�nea (SPAN) o en bloque (DIV) pero no imponen ning�n otro estilo de presentaci�n al contenido. As�, los autores pueden usar estos elementos junto con hojas de estilo, el atributo lang, etc., para adaptar el HTML a sus propios gustos y necesidades.

Supongamos, por ejemplo, que quisi�ramos generar un documento HTML basado en una base de datos de informaci�n sobre clientes. Como HTML no incluye elementos que identifiquen objetos tales como "cliente", "n�mero de tel�fono", "direcci�n de correo electr�nico", etc., utilizamos DIV y SPAN para lograr los efectos estructurales y presentacionales deseados. Podr�amos usar el elemento TABLE del modo siguiente para estructurar la informaci�n:

<!-- Ejemplo de registro de la base de datos de clientes: -->
<!-- Nombre: Stephane Boyera, Tel: (212) 555-1212, Email: sb@foo.org -->

<DIV id="cliente-boyera" class="cliente">
<P><SPAN class="cliente-titulo">Informaci�n sobre el cliente:</SPAN>
<TABLE class="cliente-datos">
<TR><TH>Apellido:<TD>Boyera</TR>
<TR><TH>Nombre:<TD>Stephane</TR>
<TR><TH>Tel:<TD>(212) 555-1212</TR>
<TR><TH>Email:<TD>sb@foo.org</TR>
</TABLE>
</DIV>

<DIV id="cliente-lafon" class="cliente">
<P><SPAN class="cliente-titulo">Informaci�n sobre el cliente:</SPAN>
<TABLE class="cliente-datos">
<TR><TH>Apellido:<TD>Lafon</TR>
<TR><TH>Nombre:<TD>Yves</TR>
<TR><TH>Tel:<TD>(617) 555-1212</TR>
<TR><TH>Email:<TD>yves@coucou.com</TR>
</TABLE>
</DIV>

A continuaci�n, podemos a�adir f�cilmente declaraciones a la hoja de estilo para ajustar la presentaci�n de estas entradas de la base de datos.

Para otro ejemplo de uso, consulte el ejemplo de la secci�n sobre los atributos class e id.

En general los agentes de usuario visuales colocan un salto de l�nea antes y otro despu�s de los elementos DIV, por ejemplo:

<P>aaaaaaaaa<DIV>bbbbbbbbb</DIV><DIV>ccccc<P>ccccc</DIV>

que normalmente se representa como:

aaaaaaaaa
bbbbbbbbb
ccccc

ccccc

7.5.5 Encabezados: los elementos H1, H2, H3, H4, H5, H6

<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!--
  Hay seis niveles de encabezados, desde H1 (el m�s importante)
  hasta H6 (el menos importante).
-->

<!ELEMENT (%heading;)  - - (%inline;)* -- encabezado -->
<!ATTLIST (%heading;)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Etiqueta inicial: obligatoria, Etiqueta final: obligatoria

Atributos definidos en otros lugares

Un encabezado describe brevemente el tema de la secci�n que introduce. La informaci�n de encabezado puede ser utilizada por los agentes de usuario, por ejemplo, para construir una tabla de contenidos de un documento autom�ticamente.

Hay seis niveles de encabezados en HTML, siendo H1 el m�s importante y H6 el menos importante. Los navegadores visuales pueden representar los encabezados m�s importantes con fuentes m�s grandes que los menos importantes.

El siguiente ejemplo muestra c�mo usar el elemento DIV para asociar un encabezado con la secci�n del documento que le sigue. Esto nos permite definir un estilo para la secci�n (color del fondo, fuente del texto, etc.) con hojas de estilo.

<DIV class="seccion" id="elefantes-de-la-selva">
<H1>Elefantes de la selva</H1>
<P>En esta secci�n descubriremos a esos grandes desconocidos:
   los elefantes de la selva.
...la secci�n contin�a...
<DIV class="subseccion" id="habitat-de-la-jungla">
<H2>H�bitat</H2>
<P>Los elefantes de la selva no viven en los �rboles, sino entre ellos.
...la subsecci�n contin�a...
</DIV>
</DIV>

Podemos decorar esta estructura con informaci�n de estilo tal como �sta:

<HEAD>
<TITLE>... t�tulo del documento ...</TITLE>
<STYLE type="text/css">
DIV.seccion { text-align: justify; font-size: 12pt}
DIV.subseccion { text-indent: 2em }
H1 { font-style: italic; color: green }
H2 { color: green }
</STYLE>
</HEAD>

Secciones numeradas y referencias
HTML no genera por s� mismo n�meros de secci�n a partir de los encabezados. Sin embargo esto podr�a ser ofrecido por los agentes de usuario. Pronto los lenguajes de hojas de estilo como CSS permitir�n a los autores controlar la generaci�n de n�meros de secci�n (muy �tiles para hacer referencias de documentos impresos, como en "Ver la secci�n 7.2").

Algunas personas consideran que saltarse niveles de encabezado es mala pr�ctica. Aceptan H1 H2 H1 pero no aceptan H1 H3 H1 ya que se salta el nivel de encabezado H2.

7.5.6 El elemento ADDRESS

<!ELEMENT ADDRESS - - (%inline;)* -- informaci�n sobre el autor -->
<!ATTLIST ADDRESS
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Etiqueta inicial: obligatoria, Etiqueta final: obligatoria

Atributos definidos en otros lugares

El elemento ADDRESS puede ser utilizado por los autores para proporcionar informaci�n de contacto en un documento o en una parte de un documento, como por ejemplo un formulario. Este elemento suele aparecer el principio de un documento.

Por ejemplo, una p�gina del sitio web del W3C relacionada con HTML podr�a incluir la siguiente informaci�n de contacto:

<ADDRESS>
<A href="../People/Raggett/">Dave Raggett</A>, 
<A href="../People/Arnaud/">Arnaud Le Hors</A>, 
personas de contacto del <A href="Activity">W3C HTML Activity</A><BR> 
$Fecha: 1999/12/24 23:07:14 $
</ADDRESS>