Aunque los documentos xml tienen una estructura sencilla eso no evita que haya errores. Para esto hay que definir como debe ser estructurado el documento xml. Una vez que terminamos el documento xml y dtd podremos comparar el contenido del documento con la estructura definida en ele documento dtd para ver si está correcto. Esta tarea se denomina validación del documento xml.
DTD precisa de que elementos pueden aparecer en un documento y dónde, asi como el contenido y los atributos del mismo. Garantisan que todos los datos del documento xml cumplen las restricciones que se les haya impuesto en el DTD.
Ejemplo:
<? xml vesion = “1.0” encoding=”UTF-8” standalone=”yes”?>
<libro autor=”anónimo”>
<titulo>Libro</titulo>
<capitulo num=”uno”>Capitulo 1</capitulo>
<capitulo num=”dos">Capitulo 2</capitulo>
</libro>
La gramática DTD correspondiente al documento XML será
<!DOCTYPE libro[
<!ELEMENT libro(titulo, capitulo+)>
<!ATTLIST libro autor CDATA #REQUIRED>
<!ELEMENT titulo(#PCDATA)>
<!ELEMENT capitulo(#PCDATA)>
<!ATTLIST capitulo numero ID #REQUIRED>
]>
La vinculación de los documentos DTD a los documentos XML se hacen dentro del proprio documento xml (no recomendable) o mediante una referencia a un archivo externo. En segundo caso para asociar el documento externo .dtd a un .xml se incluye en el segundo después del prólogo:
<!DOCTPE nombre_elemento_raiz SYSTEM "archivo.dtd">
Los documentos DTD describen la estructura de los documentos XML mediante 3 tipos de declaraciones: