Un DTD, del inglés document type definition, especifica cuales son los tipos de elementos y atributos que podemos utilizar en nuestra página web. También define las reglas de cómo podemos utilizar estos elementos juntos, de acuerdo a la especificación del lenguage de marcado. La DTD también declara cuales juegos de caracteres podemos utilizar.

Los validadores van a probar que una página web esté correctamente escrita de acuerdo al DTD especificado en la declaración DOCTYPE, utilizando el identificador del sistema o implicitamente usando el identificador público. Sin embargo los navegadores usan intérpretes no que no validan y acutalmente no leen el DTD.

¿Cuales son las diferencias entre los DTD?

Para el HTML 4.01, la cual es la versión más reciente del HTML existen 3 tipos de DTD los cuales son:

  • Strict, el DTD «HTML 4.01 Strict» hace énfasis en la separación del contenido de la presentación y el comportamiento. Este DTD es el que la W3C recomienda para todos las páginas web actuales.
  • Transitional, el DTD «HTML 4.01 Transitional» significa que puede ser usado transicionalmente para convertir un documento de las versiones anteriores de HTML 4.01 en uno más moderno, no es recomendable para nuevas páginas web. Este tipo incluye 11 tipos de elementos que estás obsoletos pero que se pueden usar.
  • Frameset, el DTD «HTML 4.01 Frameset» se utiliza para página que usan marcos. debes tener en cuenta que los marcos son obsoletos fueron descotinuados por la W3C, se recomienda que en este caso se utilice algún scritp del lado del servidor para reemplazar los marcos.

¿Cuál DOCTYPE debo utilizar?

Si estamos creando una nueva página web la W3C recomienda que utilicemos el DTD HTML 4.01 Strict.

Si estamos tratando de convertir desde alguna versión vieja de HTML cómo HTML 2.0 o HTML 3.2 a la nueva versión, podemos utilizar HTML 4.01 Transitional al menos que hayamos migrado toda la parte de la presentación a CSS, y los comportamientos a JavaScript.

Este post es para responder una de las preguntas de las 37 preguntas un desarrollador y diseñador web debe saber responder.