Definición de tipo de documento

Definición de tipo de documento

Definición de tipo de documento

No debe confundirse con declaració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 del formato de datos, para usar un formato 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.

Contenido

Definició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.

¿Qué describe una DTD?

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.

Ejemplos

  • Un ejemplo de una DTD XML muy simple, para describir una lista de personas:
<!ELEMENT lista_de_personas (persona*)>
<!ELEMENT persona (nombre, fechanacimiento?, sexo?, numeroseguridadsocial?)>
<!ELEMENT nombre (#PCDATA) >
<!ELEMENT fechanacimiento (#PCDATA) >
<!ELEMENT sexo (#PCDATA) >
<!ELEMENT numeroseguridadsocial (#PCDATA)>

Observándolo línea a línea nos dice:

  1. <lista_de_personas> es un nombre de elemento válido. El * indica que puede haber 0 o más elementos de persona.
  2. <persona> es un nombre de elemento válido. Éste contiene obligatoriamente el elemento nombre mientras que el resto son opcionales. Y lo son porque nos lo indica el símbolo "?".
  3. <nombre> es un nombre de elemento válido. Contiene caracteres.
  4. <sexo> es un nombre de elemento válido. Contiene caracteres.
  5. <fechanacimiento> es un nombre de elemento válido.
  6. <numeroseguridadsocial> es un nombre de elemento válido.
  • Un ejemplo de un fichero XML que hace uso de esta DTD:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE lista_de_personas SYSTEM "ejemplo.dtd">
<lista_de_personas>
  <persona>
    <nombre>José García</nombre>
    <fechanacimiento>25/04/1984</fechanacimiento>
    <sexo>Varón</sexo>
  </persona>
</lista_de_personas>

La DTD mostrada más arriba requiere un elemento "nombre" dentro de cada elemento "persona"; el elemento "lista_de_personas" es también obligatorio, pero el resto son opcionales.

Es posible renderizar este documento en un navegador habilitado para XML (como IE5 o Mozilla) pegando y guardando la DTD de más arriba en un archivo de texto llamado ejemplo.dtd y el fichero.xml a un fichero de texto denominado de forma diferente, y abriendo el archivo.xml con el navegador. Ambos ficheros deben estar guardados en el mismo directorio (o carpeta). No obstante, algunos navegadores no comprueban que un documento XML sigue las reglas de la DTD; solamente se requieren para comprobar que la DTD es sintácticamente correcta.

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.

Véase también

Enlaces externos

Obtenido de "Definici%C3%B3n de tipo de documento"

Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • Declaración de tipo de documento — Saltar a navegación, búsqueda No debe confundirse con definición de tipo de documento. Una declaración de tipo de documento o DOCTYPE (del inglés document type declaration) asocia un documento SGML o XML particular con una definición de tipo de… …   Wikipedia Español

  • Definición de Software Libre — Saltar a navegación, búsqueda Logo de la Fundación para el software libre. La definición de Software Libre, escrita por Richard Stallman y publicada por la Free Software Foundation (Fundación por el Software Libre o FSF), define al software libre …   Wikipedia Español

  • Televisión de alta definición — Etiqueta oficial europea (EICTA). La televisión de alta definición o HDTV (siglas en inglés de high definition television) es uno de los formatos que, junto a la televisión digital (DTV), se caracterizan por emitir señales televisivas en una… …   Wikipedia Español

  • Extensible Markup Language — (XML) Desarrollador World Wide Web Consortium Información general …   Wikipedia Español

  • Validación XML — La Validación XML (eXtensible Markup Language) es la comprobación de que un documento en lenguaje XML está bien formado y se ajusta a una estructura definida. Un documento bien formado sigue las reglas básicas de XML establecidas para el diseño… …   Wikipedia Español

  • XML Schema — es un lenguaje de esquema utilizado para describir la estructura y las restricciones de los contenidos de los documentos XML de una forma muy precisa, más allá de las normas sintácticas impuestas por el propio lenguaje XML. Se consigue así una… …   Wikipedia Español

  • HTML — (HyperText Markup Language) Desarrollador World Wide Web Consortium WHATWG Información general …   Wikipedia Español

  • Document Object Model — Jerarquía de DOM. El Document Object Model o DOM ( Modelo de Objetos del Documento o Modelo en Objetos para la representación de Documentos ) es esencialmente una interfaz de programación de aplicaciones (API) que proporciona un conjunto estándar …   Wikipedia Español

  • Lexical Markup Framework — El Lexical Markup Framework (LMF) es un proyecto en fase de desarrollo de la Organización Internacional para la Estandarización ISO/TC37 con el fin de definir un marco común normalizado para la construcción de lexicones y diccionarios máquina… …   Wikipedia Español

  • Lenguaje de esquema — Llamamos esquema a un conjunto de reglas que restringe cómo debe ser un documento XML. Un lenguaje de esquema es un lenguaje que permite establecer dichas reglas. Existen varios lenguajes de esquema de XML como: DTD Definición de Tipo de… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”