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