Estás en Home » XML y DTD » XML y DTD. Introducción a XML
disenador-web-autonomo

XML y DTD. Introducción a XML

DTD (Document Type Definition) es un estándar que nos permite definir una gramática que deben cumplir nuestros documentos XML para considerarlos válidos. Una definición DTD para n documentos XML especifica: qué elementos pueden existir en un documento XML, qué atributos pueden tener éstos, qué elementos pueden o deben aparecer contenidos en otros elementos y en qué orden.

Los parsers de XML que son capaces de validar documentos con DTD leen esos documentos y el DTD asociado. En caso de que el documento XML no cumpla los requerimientos que le impone el DTD, nos advertirán del error y no validarán el documento.

Mediante los DTD definimos cómo será nuestro dialecto de XML (recordad que nosotros definimos qué etiquetas vamos a usar en nuestros documentos, qué significado les damos, etc.). Esta capacidad de definir un dialecto propio de XML es lo que permite que XML se denomine.

A pesar de que DTD es un estándar que deberá ser sustituido por XML Schema, sigue siendo muy usado. Además, su uso resulta más simple que el de XML Schema. Por otro lado, es más compacto. A eso hay que añadir que las mejoras que aporta XML Schema no son necesarias para la mayoría de los usos. Con DTD se han definido multitud de dialectos de XML que son usados ampliamente en Internet, como RDF para la web semántica, MathML para documentos matemáticos, XML/EDI para intercambio de datos electrónicamente para negocio, VoiceXML para aplicaciones que se utilicen mediante voz o que hagan uso de ésta, WML para representar documentos para los navegadores de dispositivos móviles como teléfonos, etc.

Veamos un posible DTD para la receta del ejemplo que nos definirá la forma que deben tener las recetas escritas en Receta XML:

<!-- DTD de ejemplo para RecetaXML -->

          <!ELEMENT Receta (Nombre, Descripcion?,

          Ingredientes?, Instrucciones?)>

          <!ELEMENT Nombre (#PCDATA)>

          <!ELEMENT Descripcion (#PCDATA)>

          <!ELEMENT Ingredientes (Ingrediente*)>

          <!ELEMENT Ingrediente (Cantidad, Item)>

          <!ELEMENT Cantidad (#PCDATA)>

          <!ATTLIST Cantidad unidad CDATA #REQUIRED>

          <!ELEMENT Item (#PCDATA)>

          <!ATTLIST Item opcional CDATA “0”

          vegetariano CDATA “si”>

          <!ELEMENT Instructiones (Paso+)>

          <!ELEMENT Paso (#PCDATA)>

De este documento DTD podemos inferir una descripción de las reglas de validez que sea un poco más legible:

  • Una receta consta de un nombre (obligatorio), una descripción (opcional), unos ingredientes (opcionales) y unas instrucciones (opcionales).
  • El nombre y la descripción pueden contener caracteres alfanuméricos (PCDATA corresponde a Parsed Character Data).
  • Los ingredientes son una lista de elementos ingrediente.
  • Un ingrediente consta de un ítem y la cantidad.
  • La cantidad es un valor alfanumérico, teniendo la etiqueta un atributo, unidad que nos describe qué unidad de medida estamos utilizando.
  • Un ítem de la receta consta del nombre (un valor alfanumérico) y puede tener dos atributos: opcional (si el ingrediente es o no obligatorio) y vegetariano (si el ingrediente es apto para vegetarianos).
  • Las instrucciones de elaboración son una lista de pasos.
  • Un paso consta de un texto alfanumérico descriptivo del paso.

Vamos a estudiar ahora la sintaxis de DTD para definir los dialectos XML.




Artículos Relacionados
XML y DTD. Vincular un DTD con un documento
Cómo vincular un DTD con un documento XML Para que un documento XML quede vinculado a...
XML y DTD. Introducción a DTD
Introducción al estándar DTD. DTD (Document Type Definition) es un estándar que nos permite definir...
XML y DTD. Elemento ELEMENT
Qué es el elemento ELEMENT del lenguaje XML Los elementos de DTD llamados ELEMENT nos definen...
XML y DTD. Convenciones sintácticas y validación
Validación: DTD y XML Schema Como hemos visto, XML posibilita la comprobación automática de la ...
Última Actualización: 14/12/07
(Sin valoración)
Loading ... Loading ...

Autor y licencia

Autor: Carles Mateu
URL: No especificado
Licencia GNU

Guía de capítulos

Índice | Siguiente




Publicar un comentario