Document Type Declaration (DTD) es una definición o 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.

Las DTD se emplean generalmente para determinar la estructura de un documento mediante etiquetas 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.

Para poder validar un documento HTML o XHTML es obligatorio establecer una definicion del tipo de documento. Esto se hace en la primera linea de código de cada página y puede tener tantos valores permitidos como versiones aprobadas por la W3C para documentos web existan.

Por extensión de uso y popularidad, las versiones más usadas actualmente para documentos HTML y XHTML son la 4.01 y 1.0 respectivamente. Veamos ahora los DTD’s asociados a cada versión:

DTD’s para HTML 4.01

HTML 4.01 Strict, no permite elementos antiguos (marquee, font, blink) que están en desuso y atributos que sirven para formatear el estilo. Se exige el uso de CSS para el diseño. La declaración de tipo de documento es:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional permite algunos elementos y atributos antiguos que están en desuso. La declaración de tipo de documento es:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/DTD/loose.dtd">

HTML 4.01 Frameset para el uso de frames (marcos). La declaración de tipo de documento es:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/DTD/frameset.dtd">

DTD’s para XHTML 1.0

XHTML 1.0 Strict es la más estricta de las DTD disponibles: no soporta etiquetas antiguas y el código debe estar escrito correctamente. La declaración de tipo de documento es:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional es como XHTML Strict DTD, pero las etiquetas en desuso están permitidas. Actualmente ésta es la DTD más popular. La declaración de tipo de documento es:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 Frameset es la única DTD XHTML que soporta Frameset. La declaración de tipo de documento es:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

Así que cuando querramos hacer que nuestro sitio web valide, lo más recomendable es apegarnos a un DTD y aplicar todas las especificaciones. Este es el primer paso para formar parte del mundo web estandarizado.