Especificación HTML 4.01

Especificación HTML 4.01 siguiente contenidos elementos atributos índice Especificación HTML 4.01 (HTML 4.01 Specifica...

20 downloads 1051 Views 4MB Size Report

This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!

Report copyright / DMCA form

) implica la etiqueta final de la etiqueta inicial

abierta. Los elementos no son etiquetas. Algunas personas se refieren a los elementos como etiquetas (p.ej., "la etiqueta P"). Recuerde que el elemento es una cosa, y la etiqueta (sea la inicial o la final) es otra cosa distinta. Por ejemplo, el elemento HEAD está siempre presente, incluso si tanto la etiqueta inicial de HEAD como la final están ausentes del código. Todos los tipos de elemento declarados en esta especificación se enumeran en el índice de elementos.

3.2.2 Atributos Los elementos pueden tener propiedades asociadas, llamadas atributos, que pueden tener valores (por defecto o asignados por el autor o por un script). Las parejas atributo/valor aparecen antes del ">" final de la etiqueta inicial de un elemento. En la etiqueta inicial de un elemento puede aparecer cualquier número de parejas (legales) atributo/valor, separadas por espacios. Pueden aparecer en cualquier orden. En este ejemplo se establece el atributo id de un elemento H1:

Este es un título identificado gracias al atributo id

Por defecto, SGML requiere que todos los valores de atributo estén delimitados ya sea mediante comillas dobles (ASCII decimal 34) o mediante comillas simples (ASCII decimal 39). Un valor de atributo delimitado por comillas dobles puede contener signos de comillas simples, y viceversa. Los autores también pueden utilizar referencias numéricas de caracteres para representar comillas dobles (") y simples ('). Para las comillas dobles los autores también pueden utilizar la referencia a entidad de caracteres ". En ciertos casos, los autores pueden especificar el valor de un atributo sin ponerlo entre comillas. El valor del atributo sólo puede contener letras (a-z y A-Z), dígitos (0-9), guiones (ASCII decimal 45), puntos (ASCII decimal 46), subguiones (ASCII decimal 95) y dos puntos (ASCII decimal 58). Recomendamos usar comillas incluso cuando sea posible eliminarlas. Para los nombres de atributos no se distingue nunca entre mayúsculas y minúsculas. Para los valores de los atributos en general no se distingue entre mayúsculas y minúsculas. En el manual de referencia se indica, en la definición de cada atributo, si se distingue para su valor entre mayúsculas y minúsculas. Todos los atributos definidos por esta especificación se enumeran en el índice de atributos.

3.2.3 Referencias de caracteres Las referencias de caracteres son nombres simbólicos o numéricos de caracteres que pueden incluirse en un documento HTML. Son útiles para hacer referencia a caracteres usados esporádicamente, o a aquellos que son difíciles o imposibles de introducir con las herramientas de creación. A lo largo de este documento pueden verse referencias de caracteres; comienzan con un signo "&" y terminan con un punto y coma (;). A continuación figuran algunos ejemplos comunes: ● "<" representa el signo <. ● ">" representa el signo >. ● """ representa el signo ". ● "å" (en decimal) representa la letra "a" con un pequeño círculo encima. ● "И" (en decimal) representa la letra mayúscula cirílica "I". ● "水" (en hexadecimal) representa el carácter chino para el agua. Hablaremos con más detalle acerca de las referencias de caracteres en HTML más adelante en la sección sobre el conjunto de caracteres de los documentos HTML. La especificación contiene también una lista de referencias de caracteres que pueden aparecer en documentos HTML 4.

http://html.conclase.net/w3c/html401-es/intro/sgmltut.html (3 de 8) [11/6/2001 4.48.47]

Sobre SGML y HTML

3.2.4 Comentarios Los comentarios en HTML tienen la sintaxis siguiente: No se permite espacio en blanco entre el delimitador de apertura de declaración de etiqueta (""). Un error común es incluir una cadena de guiones ("---") dentro de un comentario. Los autores deberían evitar poner dos o más guiones adyacentes dentro de un comentario. La información que aparece entre comentarios no tiene significado especial (p.ej., las referencias de caracteres no se interpretan como tales). Obsérvese que los comentarios forman parte del código.

3.3 Cómo leer el DTD de HTML En esta especificación, todas las declaraciones de elementos y atributos vienen acompañadas del fragmento correspondiente de la definición del tipo de documento. Hemos optado por incluir en la especificación fragmentos del DTD en lugar de intentar describir las propiedades de un elemento de una forma que sea más abordable, pero más larga y menos precisa. El tutorial que sigue permitirá a los lectores que no estén familiarizados con el SGML leer el DTD y entender los detalles técnicos de la especificación HTML.

3.3.1 Comentarios DTD En los DTDs, los comentarios pueden extenderse a lo largo de una o más líneas. En el DTD, los comentarios están delimitados por un par de marcas "--", p.ej.:
-- valor de propiedad con nombre -->

Aquí, el comentario "valor de propiedad con nombre" explica el uso del tipo de elemento PARAM. Los comentarios de un DTD son únicamente informativos.

3.3.2 Definiciones de entidades paramétricas El DTD HTML comienza con una serie de definiciones de entidades paramétricas. Una definición de entidad paramétrica define una clase de macro a la que se puede hacer referencia y ser expandida en cualquier otra parte del DTD. Estas macros no pueden aparecer en documentos HTML, sólo en el DTD. Otros tipos de macros, llamadas referencias de caracteres, sí pueden utilizarse en el texto de un documento HTML o dentro de los valores de los atributos. Cuando se hace referencia a una entidad paramétrica por su nombre en el DTD, ésta se expande, sustituyéndose por una cadena. Una definición de entidad paramétrica comienza con la palabra clave de cierre. Las apariciones de entidades paramétricas dentro de un DTD comienzan con un "%", seguido por el nombre de la entidad paramétrica, y finalmente por un ";" opcional. El siguiente ejemplo define la cadena a la que se expandirá la entidad "%fontstyle;". La cadena a la que se expande la entidad paramétrica puede contener otros nombres de entidades paramétricas. Estos nombres se expanden recursivamente. En el siguiente ejemplo, la entidad paramétrica "%inline;" se define de modo que incluya las entidades paramétricas "%fontstyle;", "%phrase;", "%special;" y "%formctrl;". Hay dos entidades DTD que aparecen frecuentemente en el DTD HTML: "%block;" e "%inline;". Se utilizan cuando el

http://html.conclase.net/w3c/html401-es/intro/sgmltut.html (4 de 8) [11/6/2001 4.48.47]

Sobre SGML y HTML

modelo de contenido incluye elementos en bloque y elementos en línea, respectivamente (definidos en la sección sobre la estructura global de un documento HTML).

3.3.3 Declaraciones de elementos El grueso del DTD HTML consiste en la declaración de tipos de elementos y sus atributos. La palabra clave la termina. Entre ellos se especifica: 1. El nombre del elemento. 2. Si las etiquetas del elemento son opcionales. Si aparecen dos guiones después del nombre del elemento tanto la etiqueta inicial como la final son obligatorias. Un guión seguido por la letra "O" indica que puede omitirse la etiqueta final. Un par de letras "O" indican que tanto la etiqueta inicial como la final pueden omitirse. 3. Los contenidos del elemento, si los hay. El contenido admitido para un elemento se denomina su modelo de contenido. Los tipos de elemento diseñados de modo que no tengan contenido se llaman elementos vacíos. El modelo de contenido de tales tipos de elemento se declara con la palabra clave "EMPTY". En este ejemplo:

● ●



El tipo de elemento declarado es UL. Los dos guiones indican que tanto la etiqueta inicial
    como la final
son obligatorias para este tipo de elemento. El modelo de contenido de este tipo de elemento se ha declarado como "al menos un elemento LI". Más adelante se explica cómo especificar los modelos de contenido.

Este ejemplo ilustra la declaración de un tipo de elemento vacío:

● ●



El tipo de elemento declarado es IMG. El guión y la "O" que le sigue indican que la etiqueta final puede omitirse, pero eso, junto al modelo de contenido "EMPTY", implica que la etiqueta final debe ser omitida. La palabra clave "EMPTY" significa que las apariciones de este tipo no deben tener contenido.

Definiciones del modelo de contenido El modelo de contenido describe cuál puede ser el contenido de una aparición de un tipo de elemento. Las definiciones del modelo de contenido pueden incluir: ● Nombres de los tipos de elementos permitidos o prohibidos (p.ej., el elemento UL contiene apariciones del tipo de elemento LI, y el tipo de elemento P no puede contener otros elementos P). ●

Entidades DTD (p.ej., el elemento LABEL contiene apariciones de la entidad paramétrica "%inline;").



Texto de documento (indicado mediante la estructura SGML "#PCDATA"). El texto puede contener referencias de caracteres. Recuérdese que éstas comienzan con & y terminan con un punto y coma (p.ej., "Las aventuras de Astérix" contiene la referencia a la entidad de caracteres del carácter "e con acento agudo").

El modelo de contenido de un elemento se especifica de acuerdo a la sintaxis siguiente. Obsérvese que la lista que sigue es una simplificación de las reglas de sintaxis de SGML y no habla, por ejemplo, de precedencias. ( ... ) Delimita un grupo. A A debe aparecer una sola vez. A+ A debe aparece una o más veces. A? A debe aparecer cero o una veces. A* A puede aparecer cero o más veces. http://html.conclase.net/w3c/html401-es/intro/sgmltut.html (5 de 8) [11/6/2001 4.48.47]

Sobre SGML y HTML

+(A) A puede aparecer. -(A) A no debe aparecer. A|B O bien A o bien B deben aparecer, pero no las dos. A,B Tanto A como B deben aparecer, y en ese orden. A&B Tanto A como B deben aparecer, en cualquier orden. Aquí presentamos algunos ejemplos sacados del DTD de HTML: El elemento UL debe contener uno o más elementos LI.
- - (DT|DD)+>

El elemento DL debe contener uno o más elementos DT o DD en cualquier orden. El elemento OPTION sólo puede contener texto y entidades, tales como &. Esto se indica con el tipo de datos de SGML #PCDATA. Algunos tipos de elementos HTML usan una característica adicional de SGML para excluir elementos de su modelo de contenido. Los elementos excluidos van precedidos de un guión, y van al final de la descripción del modelo de contenido. Las exclusiones explícitas prevalecen sobre los elementos permitidos. En este ejemplo, el -(A) significa que el elemento A no puede aparecer en otro elemento A (es decir, los vínculos no pueden estar anidados). Obsérvese que el tipo de elemento A es parte de la entidad paramétrica del DTD "%inline;", pero está excluido explícitamente debido al -(A). Análogamente, la siguiente declaración del tipo de elemento FORM prohíbe los formularios anidados:

3.3.4 Declaraciones de atributos La palabra clave de cierre. Cada definición de atributo es una terna que define: ● El nombre del atributo. ● El tipo del valor del atributo o un conjunto explícito de valores posibles. Los valores definidos explícitamente por el DTD no distinguen entre mayúsculas y minúsculas. Consulte la sección sobre tipos de datos básicos de HTML para más información sobre tipos de valores de atributos. ● Si el valor por defecto del atributo es implícito (palabra clave "#IMPLIED"), en cuyo caso el valor por defecto debe ser porporcionado por el agente de usuario (en algunos casos heredándolo de elementos padre); siempre requerido (palabra clave "#REQUIRED"); o fijo e igual a un valor dado (palabra clave "#FIXED"). Algunas definiciones de atributos especifican explícitamente un valor por defecto para el atributo. En este ejemplo, se define el atributo name para el elemento MAP. El atributo es opcional para este elemento.

http://html.conclase.net/w3c/html401-es/intro/sgmltut.html (6 de 8) [11/6/2001 4.48.47]

Sobre SGML y HTML



#IMPLIED

El tipo de los valores permitidos para el atributo está dado como CDATA, un tipo de datos de SGML. CDATA es texto que puede contener referencias de caracteres. Para más información sobre "CDATA", "NAME", "ID", y otros tipos de datos, consúltese la sección sobre tipos de datos de HTML. Los siguientes ejemplos ilustran varias definiciones de atributos: rowspan http-equiv id valign

NUMBER 1 -- número de filas abarcado por la celda -NAME #IMPLIED -- nombre de encabezado de respuesta HTTP -ID #IMPLIED -- identificador único a nivel de documento -(top|middle|bottom|baseline) #IMPLIED

El atributo rowspan requiere valores de tipo NUMBER. El valor por defecto está dado explícitamente y es "1". El atributo opcional http-equiv requiere valores de tipo NAME. El atributo opcional id requiere valores de tipo ID. El atributo opcional valign está restringido a los valores del conjunto {top, middle, bottom, baseline}. Entidades DTD en definiciones de atributos Las definiciones de atributos también pueden contener referencias a entidades. En este ejemplo, vemos que la lista de definiciones de atributos para el elemento LINK comienza con la entidad paramétrica "%attrs;".

%URI; %LanguageCode; %ContentType; %LinkTypes; %LinkTypes; %MediaDesc;

-- un vínculo independiente del medio -->

#IMPLIED #IMPLIED #IMPLIED #IMPLIED #IMPLIED #IMPLIED #IMPLIED

-- %coreattrs, %i18n, %events --- codificación de caracteres del recurso vinculado --- URI del recurso vinculado --- código de idioma --- tipo consultivo de contenido --- tipos de vínculos directos --- tipos de vínculos inversos --- para representar en estos medios --

Etiqueta inicial: obligatoria, Etiqueta final: prohibida La entidad paramétrica "%attrs;" se define como sigue: La entidad paramétrica "%coreattrs;" de la definición de "%attrs;" se expande como sigue:

#IMPLIED #IMPLIED #IMPLIED #IMPLIED

-----

identificador único a nivel de documento -lista de clases separadas por espacios -información de estilo asociada -título consultivo --"

La entidad paramétrica "%attrs;" se ha definido por conveniencia ya que estos atributos se definen para la mayoría de los tipos de elemento de HTML. Análogamente, el DTD define la entidad paramétrica "%URI;" que se expande a la cadena "CDATA".

http://html.conclase.net/w3c/html401-es/intro/sgmltut.html (7 de 8) [11/6/2001 4.48.47]

Sobre SGML y HTML

Como se muestra en este ejemplo, la entidad paramétrica "%URI;" proporciona a los lectores del DTD más información sobre el tipo de datos que se espera para un atributo. Se han definido entidades similares para "%Color;", "%Charset;", "%Length;", "%Pixels;", etc. Atributos booleanos Algunos atributos actúan como variables booleanas (p.ej., el atributo selected del elemento OPTION). Su aparición en la etiqueta inicial de un elemento implica que el valor del atributo es "verdadero" ("true"). Su ausencia implica un valor "falso" ("false"). Los atributos booleanos sólo pueden tomar un valor legal: el propio nombre del atributo (p.ej., selected="selected"). Este ejemplo define el atributo selected como un atributo booleano. selected

(selected)

#IMPLIED

-- opción preseleccionada --

El atributo se iguala a "verdadero" si aparece en la etiqueta inicial del elemento: En HTML, los atributos booleanos pueden aparecer en forma minimizada: sólo aparece el valor del atributo en la etiqueta inicial del elemento. Así, puede establecerse selected escribiendo: