Definición de Tipo de Documento

La Definición de Tipo de Documento, o DTD, especifica la versión HTML que se está utilizando en el código fuente de una web. De esta manera, un navegador u otro software de lectura puede mostrar el contenido del código fuente ya que es capaz de detectar qué tipo de documento es. En el pasado, muchos navegadores no mostraban el contenido cuando se enumeraba una DTD que faltaba o era incorrecta. Sin embargo, el estándar actual HTML5 ya no requiere la especificación DTD para mostrar la web correctamente, sino más bien, para validarlo contra la definición del tipo de documento. El estándar para la definición de la clase de documento ha sido fijado por el W3C.

Origen[editar]

El HTML se ha utilizado como lenguaje de marcado durante muchos años. Por lo tanto, HTML está disponible en muchas versiones. La última versión es HTML5. Las versiones más antiguas, como XHTML o HTML4, actualmente se utilizan en sitios antiguos. El HTML se basaba originalmente en el lenguaje meta markup SGML. La DTD describió la estructura de los documentos, que fueron creados con subconjuntos (XML) o aplicaciones (HTML) por SGML. Con el desarrollo de HTML5, estos compuestos han sido eliminados. HTML5 ya no es una aplicación de SGML, sino un lenguaje generalizado compatible con las versiones anteriores.

La definición del tipo de documento para HTML especifica qué versión se está utilizando en el código fuente de un documento web. Esta información debe ser proporcionada para que la aplicación (el navegador) pueda detectar qué tipo de documento es y qué marcado está permitido. Sin embargo, los navegadores modernos muestran el contenido de un documento HTML cuando falta la DTD, pero un archivo HTML sólo es válido si se introduce con un tipo de documento claramente definido. Esto, a su vez, se define con la definición del tipo de documento <!DOCTYPE html>. Especifica qué caracteres se pueden utilizar en un documento HTML y qué atributos se deben utilizar. Cada documento HTML debe incluir una cabecera y un elemento de cuerpo y también estar listado en una cierta estructura lógica (estructura de árbol), para que sea válido.

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
  </body>
</html>

Definiciones de tipos de documentos para navegadores[editar]

Cuando se accede a una web a través de un navegador, éste descargará la definición de tipo de documento especificada en el código fuente y la aplicará al documento al abrir, con el fin de interpretar correctamente los caracteres contenidos en el mismo. Los navegadores como Firefox de Mozilla, Internet Explorer desde Windows o Google Chrome son compatibles con W3C y pueden interpretar diferentes definiciones de tipo de documento. Sin embargo, existe la posibilidad de que se generen errores en la pantalla y al leer desde CSS para sitios web que utilizan versiones anteriores de la definición del tipo de documento. Otros navegadores como Opera sólo interpretan páginas HTML basándose en los estándares más actuales. De esta manera, se reduce el riesgo de errores. La DTD sirve así para marcar documentos HTML válidos y la probabilidad de una representación correcta aumenta cuando son válidos.

Construcción[editar]

El W3C tiene propuestas para definiciones comunes de tipo de documento HTML, pero cada webmaster debe hacer eventualmente algunos ajustes a su web para asegurar que se muestre correctamente en todos los navegadores. La especificación de la clase de documento es la primera entrada en el código fuente de una página HTML. La especificación DTD distingue entre mayúsculas y minúsculas. El string de clase de documento debe estar en mayúsculas.

<!DOCTYPE html>

En XHTML, la especificación de la versión XHTML es la primera en la lista:

<?xml version="1.0"?>
<!DOCTYPE ... >

Un ejemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de">

La dirección después del tipo de documento especifica la ruta a la definición de la clase de documento. El navegador puede descargar la definición allí y aplicarla al documento actual. Si especifica "público", la fuente para la definición del tipo de documento es pública. La especificación del idioma, es decir, EN, no se refiere en este caso al idioma que se utiliza en el contenido, sino a la versión del idioma de la definición HTML. Por lo tanto, una definición de clase de documento para HTML debe referirse siempre a EN.

Definiciones de tipos de documentos comunes para webs HTML/XHTML[editar]

Hay algunas diferencias sobre cómo indicar la DTD en diferentes versiones de HTML.

DTD para HTML 4[editar]

Hay tres definiciones diferentes para HTML 4:

  • HTML 4.01 estricto: En un documento HTML de este tipo, sólo se permiten elementos de estructuración en el código fuente. El formato y el diseño son controlados por hojas de estilo. Así, el código fuente HTML es muy fácil y rápido de leer.

Línea de ejemplo para este tipo de documento:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  • Transición a HTML 4.01: Este tipo de documento especifica que se usan en él tanto los atributos HTML como las hojas de estilo. Es una definición transitoria.

La línea de muestreo para esta clase es la siguiente:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  • Conjunto de frameworks HTML 4.01: Con esta clase de documento, se especifica que el archivo HTML contiene un conjunto de marcos, es decir, ventanas individuales. Los elementos HTML y el BODY (cuerpo) se declaran aquí de otra manera. Todos los elementos del cuerpo se sustituyen por el FRAMESET.

Esta definición se aplica a las páginas con conjuntos de framesets:

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

DTD para XHTML[editar]

XHTML 1.0 está basado en las mismas reglas que HTML 4.01. La única diferencia es que este lenguaje de marcado está basado en XML y no en SGML. Para XHTML, se pueden especificar tres tipos diferentes. Las mismas características que se aplican a los tipos de documentos HTML, se aplican también a los documentos XHTML. Los siguientes son ejemplos relevantes de la información que se debe listar:

  • XHTML 1.0 estricto:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • XHTML 1.0 transicional:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • Frameset XHTML 1.0:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  • XHTML 1.1 ya no está vinculado a las reglas de HTML 4.01. Por lo tanto, sólo queda una definición de clase de documento:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

DTD para HTML5[editar]

La definición de la clase de documento se ha simplificado con HTML5:

<!DOCTYPE html>

Definición de tipo de documento para sitios web y SEO[editar]

Dado que la definición del tipo de documento para las páginas HTML fue un factor importante para la correcta visualización del contenido web, garantizar la exactitud de estas definiciones sigue siendo parte de la optimización de una página. Sólo si todo el contenido de una web se puede mostrar como se desea a prácticamente todos los usuarios, se pueden realizar análisis con los resultados adecuados y se pueden alcanzar los objetivos de marketing. Muchos usuarios siguen utilizando navegadores más antiguos que requieren especificaciones DTD. Si se producen errores, no afecta necesariamente al aspecto de la web, ya que la mayoría de los navegadores aún pueden mostrar el contenido. Pero los documentos HTML pueden contener muchos errores y el navegador los analizará de todos modos. Esto lleva tiempo y los usuarios tendrán que esperar más tiempo.

La elección de la definición apropiada del tipo de documento también determina cuán delgado será el código fuente de un sitio web y cuál es la relación texto/código. Debido a que la velocidad de carga es un criterio de posicionamiento en los motores de búsqueda, elegir la definición correcta del tipo de documento puede ser ventajoso a la hora de cargar la página. El navegador puede detectar el tipo de documento rápidamente, para renderizar el contenido. Además, la relación entre el código fuente y el texto también se considera relevante desde una perspectiva de SEO. Debería haber más texto y menos código fuente.

Enlaces Web[editar]