Lectura de la DTD XHTML Una Guía a las declaraciones de XML

Lectura de la DTD XHTML: A Guide to XML Declaraciones

Aunque el W3C siempre ha tenido definiciones de tipo de documento (DTD) para el HTML, pocos desarrolladores utilizan realmente los DTD como una base para aprender HTML. XHTML 1.0 simplifica los DTDs con la sintaxis XML ligeramente más amistoso - que anteriormente utilizadas de SGML sintaxis más compleja - y el mayor énfasis en la validación puede dar lugar a los desarrolladores para explorar más de cerca. Hacer buen uso de XHTML 1.1 requiere cierto nivel de comprensión de la DTD, de manera de empezar ahora es una buena idea. Afortunadamente, XHTML no utiliza todas las herramientas XML proporciona; averiguar XHTML es más fácil que aprender todo acerca de XML.

NotaEl W3C se está moviendo lentamente hacia su nuevo estándar de esquemas XML para describir las estructuras de documento. Usted querrá aprender de esquemas XML cuando estén listos, pero la DTD se describe en esta estructura de una base sólida para calcular hacia fuera. Se puede trabajar con XHTML 1.0 sin ningún tipo de comprensión de la DTD, porque las normas de elemento y atributo de uso son las mismas que las de HTML 4.0. Sin embargo, si usted planea usar la validación de los analizadores con XHTML 1.0, usted debe saber acerca de las DTD de descubrir algunos de los mensajes de error que puede encontrar. Además, DTD comprensión puede ayudarle considerablemente con XHTML 1.1 y su enfoque modular.

NotaDebido a que no necesariamente tienen que entender la sintaxis a utilizar DTD XHTML, le invitamos a rescatar de este artículo, si lo prefiere, y volver a ella siempre y cuando lo necesite. El W3C escribió el DTD XHTML para su propio conveniencia, haciéndolos más manejables (y en un nivel abstracto, más legible) - pero a costa de requerir algunas referencias cruzadas de averiguar exactamente qué se incluye en un elemento o atributo en particular. Como resultado, la DTD XHTML no se recomienda la lectura para los desarrolladores sin un fondo SGML o XML. Las siguientes secciones se presentan los diferentes tipos de declaraciones utilizadas en el DTD XHTML en sus formas más simples, la construcción de las normas más complejo utilizado para montar el XHTML 1.0 DTD.

  

Consejo Si desea una guía para la creación y la lectura DTD XML en toda su gloria, intenta XML: APrimer, 2nd Edition por Simon St. Laurent (IDG artículos, 1999). Para obtener aún más detalles sobre aspectos técnicos de XML, consulte Elementos XML de Estilo (McGraw-Hill, 1999), también por Simon St.Laurent.

Tipo de elemento de DeclaracionesCada documento válido que las necesidades de uno o más las declaraciones de tipo de elemento, que describen los nombres de los elementos utilizados dentro de un documento y el contenido que aparece dentro de un elemento dado. Si un nombre de elemento aparece en un documento y no hay correspondiente declaración de tipo de elemento, la validación de los analizadores reportar un error. (Algunos analizadores también detener el procesamiento, a pesar de que no es necesario.) Del mismo modo, si un elemento aparece en un contexto donde no se supone que aparecen, analizadores de errores de validación de informe. La sintaxis de las declaraciones de tipo de elemento es simple:

contentModel elementName>

Los nombres de elementos deben comenzar con letras, guiones, o dos puntos, y pueden contener letras, guiones, dos puntos, números, guiones y puntos. Los nombres de elementos a partir de XML (o cualquier variación en caso de que, como XML o XML) están reservados para el uso de la W3C. El uso de dos puntos se desalienta excepto para su uso con espacios de nombres, que el artículo 4, se describe. modelos de contenido pueden ser mucho más complicado, permitiendo a los diseñadores especificar intrincadas combinaciones de elementos y de texto. Hay cuatro tipos básicos de modelos disponibles de contenido: vacío, CUALQUIER, modelos de contenido estructurado, y los modelos de contenido mixto.

NotaLas declaraciones de tipo de elemento no proporcionar cualquier fondo de lo que el elemento es, qué contextos puede ser utilizada en, o lo que su aparición en un determinado contexto puede significar. Usted tiene que proporcionar esa información por separado, por lo general en la documentación. Las declaraciones de tipo de elemento sólo describen un pequeño pero importante conjunto de propiedades de los elementos: nombre y el contenido permitidos.

El modelo de contenido EMPTYEl VACÍO modelo de contenido es el modelo más simple disponible. Los elementos vacíos pueden recurrir a las etiquetas de elemento vacío o un conjunto de etiquetas de inicio y final sin contenido alguno (ni siquiera un espacio en blanco) entre ellos. Sin embargo, pueden (y generalmente lo hacen) en el almacén de información de atributos, que se declaran por separado. Los elementos img y br son ejemplos de elementos con EMPTY modelos de contenido, y sus declaraciones son muy similares:


    

El modelo de contenido de cualquierEl CUALQUIER modelo de contenido es casi tan simple como el modelo VACÍA. Elementos declarados como cualquier puede contener cualquier combinación de texto y (declarado) elementos. El modelo de contenido de cualquier nunca se utiliza en XHTML 1.0, pero a veces aparece en los documentos XML que contienen contenido XHTML (quizá seguido de un comentario):


   

Desarrolladores XML desaprueban el uso generalizado de ninguno, ya que la introducción de graves deficiencias, pero puede utilizar de manera adecuada en su propio DTD en el comienzo de un proyecto o para preservar los espacios para ampliaciones futuras. Con esta clave de descodificación, puedes traducir la del modelo de contenido de la declaración del tipo de elemento de la tabla y sus piezas en Inglés. El fuera de paréntesis sólo incluya el modelo de contenido de todo - la exigencia de modelos de declaraciones de contenido estructurado. El primer punto dentro de los paréntesis, el título?, Indica que un elemento de título puede aparecer una vez como el primer elemento dentro del elemento de la tabla (aunque es opcional) . La coma epígrafe siguiente? Indica que los otros elementos siguientes debe aparecer en la secuencia. La siguiente parte presenta algunas opciones:

(col * | colgroup *)

Esta agrupación significa que o bien elementos de col o colgroup puede aparecer después de que el título y antes de que el thead (si aparecen), pero que los elementos de col y colgroup no se puede mezclar en un elemento de la tabla dada. Este trozo de marcado dice que cualquiera cero o más elementos de col o cero o más elementos colgroup puede aparecer en este punto. Si los desarrolladores del estándar XHTML había querido permitir que elementos de col y colgroup para ser mezclado, se podría haber escrito:

(col | colgroup) * 

Esto nos dice que cero o más instancias de los elementos de col o colgroup puede aparecer, sin la prohibición tanto de los que aparecen en una única secuencia. Comas que sigue el (col * | colgroup *) grupo, seguido por thead?. Como título?, Esto permite que el elemento thead a aparecer cero o una vez. La coma después de entonces los permisos de tfoot? para indicar la posible aparición de un elemento tfoot cero o una vez. La última parte del modelo de contenido es similar al de la col (* | colgroup *) la agrupación, pero con un pequeño cambio:

(tbody + | tr +)

Una vez más, ya sea o tbody tr elementos pueden aparecer en esta ubicación en el modelo de contenido. Sin embargo, al menos una instancia de uno de estos elementos es necesaria para un documento válido. Este es el contenido sólo se requiere dentro de un elemento de la tabla. Ningún caso del elemento de tabla puede aparecer sin que contengan al menos una o un elemento tbody tr.

Modelos de contenido mixtoLa mayoría de los elementos HTML contienen modelos de contenido mixto, Que permiten a los autores del documento para mezclar texto y los elementos para crear páginas Web. Modelos de contenido mixto en XML vienen en dos variedades. La variedad más simple te permite crear elementos que pueden contener texto: El elemento del título, por ejemplo, pueden contener texto:

PCDATA significa de datos de caracteres analizados, El único de los tipos textuales de SGML que soporta XML. Puede escribir la misma declaración como ésta:

El asterisco es opcional, cuando un texto se declara sólo elemento, pero el asterisco hace que los modelos de contenido más acorde con otros modelos de contenido mixto. Mixta que describen la mezcla de texto y los elementos son más complicadas. Se parecen a los modelos estructurados de contenido, utilizando el | * y los indicadores, pero son muy limitados en cómo puede utilizarlos. La sintaxis general para una declaración de tipo de elemento de uso de contenido mixto de este tipo tiene este aspecto:

elementName (# PCDATA | child1 | child2 | ...) *>

Modelos de contenido mixto sólo le permiten crear una lista de elementos que pueden aparecer mezclados con texto, pero no puede especificar la secuencia o el número de veces que puede aparecer. Por ejemplo, si un elemento muy simple párrafo sólo contiene texto mezclado con elementos en negrita y cursiva, las declaraciones podría tener este aspecto:


   
 

Con base en esas declaraciones, todos los párrafos se muestran aquí son legales:

 Sólo hay texto en este!  Ésta es atrevida!  Cursiva Ésta es!  Ésta es parte en negrita  y  cursiva parte!  Cursiva parte Este de  y  parte en negrita --  y luego  negrita otra vez! 

Mezcla de las declaraciones se utilizan en todo el DTD XHTML 1.0, para entender su uso allí, lo que necesita saber acerca de las entidades de parámetros (que cubren más adelante en este artículo).

Declaraciones de Lista de atributosDeclaraciones lista de atributos le permiten especificar los atributos que se pueden utilizar en los tipos de elemento en particular. Cada elemento en XHTML tiene al menos un conjunto básico de atributos para atribuir las declaraciones de la lista (a veces abreviado ATTLIST declaraciones) son una parte importante de las DTD XHTML 1.0. Usted tiene más opciones para las declaraciones de lista de atributos que las declaraciones de tipo de elemento en XML, pero, afortunadamente, el 1.0 de las especificaciones XHTML permanece lejos de los tipos más complicados de atributos. La sintaxis básica para una declaración de lista de atributos se ve así:

elementName defecto attType attName defecto attType attName ... >

Declaraciones lista de atributos múltiples puede aparecer un tipo de un solo elemento, aunque la primera definición de un atributo particular de un determinado elemento es el que se usa en las definiciones repetidas. Cualquier número de atributos se pueden definir para un elemento particular en un determinado declaración de atributos de lista, incluso ninguno:

Los nombres de atributos están sujetos a las mismas reglas que los nombres de los elementos: deben empezar con letras, guiones o dos puntos, y puede contener letras, guiones, dos puntos, números, guiones y puntos. Atributo nombres que comienzan con XML (o cualquier variación de caso sobre que, como XML o XML) están reservados para el uso de la W3C. Además, se desaconseja el uso de dos puntos excepto para su uso con espacios de nombres. El tipo más simple de atributo es el tipo CDATA, una abreviatura para Datos de Carácter. La forma más sencilla por defecto es el IMPLÍCITAS palabra clave #, que no proporciona ningún valor por defecto para el atributo. Una declaración de atributos muy simple puede ser como este:

Las secciones siguientes discuten los tipos de atributos y opciones por defecto en más detalle.

Tipos de atributos deEchemos un vistazo a cómo estos atributos son utilizados por la exploración de los subconjuntos de las declaraciones de empleados en la DTD XHTML. El DTD utiliza entidades parámetro, más adelante en este artículo, y ejemplares más pequeños son más fáciles de trabajar, así que vamos a crear ejemplos que son fáciles de leer, pero no el precio exacto de la DTD XHTML. Además, como se verá, el W3C utiliza entidades parámetro para especificar las expectativas de contenido de los atributos que no pueden expresarse utilizando los tipos básicos. Atributos del tipo CDATA aparecen en el DTD XHTML. CDATA es el modelo más suelta, con capacidad para todo tipo de necesidades, mientras que fijar expectativas muy pocos. Tipos de atributos CDATA pueden contener URLs, la información numérica, información de estilo - básicamente cualquier cosa que se puede expresar como texto. Un subconjunto de la declaración de lista de atributos para el elemento img, por ejemplo, podría tener este aspecto:


    

El atributo src, que tiene una dirección URL, es representado como CDATA. El atributo "alt", que contiene el texto que se mostrará si la imagen no se carga, también se representa como CDATA pesar de las diferencias entre su contenido y la del atributo src. La altura y los atributos de anchura, que aceptan longitudes, también usan CDATA. CDATA pueden manejar todos estos tipos diferentes porque pone restricciones tan pocas sobre su contenido. La Recomendación XHTML 1.0 nombres de todos sus atributos de tipo ID como identificación y pone a disposición de cada elemento en la DTD. Para añadir el elemento de identificación para el elemento img, sólo se utiliza la siguiente:

 

O añadir esto a la lista anterior:


    

El IDREF y IDREF tipos de atributos se utilizan con más moderación. El elemento de etiqueta, que permite la creación de etiquetas para todos los elementos en un documento, tiene un atributo que debe de contener un valor de identificación que describe el contenido que la etiqueta:


    

Este mecanismo permite que la etiqueta para referirse a uno y sólo un elemento de un documento - el que tiene un valor de atributo ID igual a la de la etiqueta de atributo. IDREFS se utilizan de manera similar, si bien permiten un solo atributo para referirse a varios valores de ID . XHTML 1.0 usa IDREFS para permitir que las celdas de tabla para apuntar a la cabecera de las etiquetas que los describen:


    
    

Tablas complejas a veces brotan varios niveles de cabeceras, lo que puede ayudar a administrar la reorganización de mesa o de análisis. Por ejemplo, XHTML utiliza el tipo de atributo NMTOKEN para restringir el contenido de una sola palabra. En el A, el mapa y los elementos objeto, NMTOKEN se utiliza para restringir el valor de los atributos de nombre a las mismas reglas que se aplican a los atributos id:


    
    
    

XHTML usos enumeran los atributos para restringir los valores de un atributo a un pequeño conjunto de opciones permitidas, presentado como una lista. Atributos enumerados aparecen en el DTD. El uso de un tipo de atributo enumerado para restringir los valores es útil especialmente para los elementos de entrada en la que el tipo de atributo define el "verdadero" significado del elemento:


    

Los tipos enumerados también se utilizan para ciertos atributos (como el atributo ismap img elementos, que sólo puede tener un valor si se utilizan los tipos enumerados):

Si el elemento img debe ser tratado como un mapa de imagen, el creador del documento debe utilizar el atributo ismap se muestra aquí:

Si la imagen no es un mapa, el elemento img no debe tener un atributo ismap a todos como se muestra aquí:

XHTML 1.0 no utiliza la NMTOKENS, notación, ENTIDAD, o las entidades en todos los tipos de atributos. Sin embargo, su uso no está prohibido en XML DTDs que están diseñados para incluir o ser incluido por XHTML. Si encuentra este tipo en una DTD se utiliza con XHTML, consulte la documentación de ese DTD en cuanto a su uso adecuado.

un artículo presentado por Albert Lichtblau


Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito.
Importante: Este artículo "Leer la DTD XHTML Una Guía a las declaraciones XML" fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.


Online: 490 users browsing the articles directory