4.4
Definición de Tipo de Documento
Una
definición de tipo de documento o DTD (siglas en inglés de document type
definition) es una descripción de estructura y sintaxis de un documento XML o
SGML. Su función básica es la descripción de la estructura de datos, para usar
una estructura común y mantener la consistencia entre todos los documentos que
utilicen la misma DTD. De esta forma, dichos documentos pueden ser validados,
conocen la estructura de los elementos y la descripción de los datos que trae
consigo cada documento, y pueden además compartir la misma descripción y forma
de validación dentro de un grupo de trabajo que usa el mismo tipo de
información.
La
DTD es una definición, en un documento SGML o XML, que especifica restricciones
en la estructura y sintaxis del mismo. La DTD se puede incluir dentro del
archivo del documento, pero normalmente se almacena en un fichero ASCII de
texto separado. La sintaxis de las DTD para SGML y XML es similar pero no
idéntica.
La
definición de una DTD especifica la sintaxis de una aplicación de SGML o XML,
que puede ser un estándar ampliamente utilizado como XHTML o una aplicación
local.
Las
DTD se emplean generalmente para determinar la estructura de un documento
mediante etiquetas (en inglés tags) XML o SGML. Una DTD describe:
- § Elementos: indican qué etiquetas son permitidas y el contenido de dichas etiquetas.
- § Estructura: indica el orden en que van las etiquetas en el documento.
- § Anidamiento: indica qué etiquetas van dentro de otras.
Limitaciones
de la DTD
Un
esquema basado en una DTD tiene bastantes limitaciones. Una DTD no permite
definir elementos locales que sólo sean válidos dentro de otros elementos. Por
ejemplo, si queremos tener un elemento <Manager> que describa al gestor
de una compañía o al de una delegación, y la definición de Manager es diferente
en cada caso, con una DTD tendríamos que crear los elementos “CompanyManager” y
“DelegationManager” para evitar el conflicto de nombres. Es decir, la falta de
jerarquía en una DTD obliga a introducir una jerarquía a base de guiones o
puntos en el espacio de nombres (Namespace).
En una DTD es poco flexible la
definición de elementos con contenido mixto, es decir, que incluyan otros
elementos además de texto. Además no es posible indicar a qué tipo de dato (número,
fecha, moneda) ha de corresponder un atributo o el texto de un elemento.
La
necesidad de superar estas limitaciones propicia la aparición de otros
lenguajes de esquema como XML Schema, herramientas más completas de descripción
que son una alternativa a las DTD.
No hay comentarios:
Publicar un comentario