¿Qué es el XHTML Doctype?

Patxi Echarte, March 22nd, 2005

Hace ya tiempo que la mayoría de páginas webs incluyen a su comienzo una misteriosa etiqueta <!DOCTYPE, y sin embargo hay mucha gente que ignora cuál es su significado o para qué sirve, por lo que simplemente se limita a copiarla, haciéndolo además muchas veces de forma incorrecta. En las siguientes líneas trataremos de explicar para qué sirve y cómo ha de utilizarse.

La declaración de tipo de documento DOCTYPE, que así es como se llama, es una parte fundamental de todas aquellas páginas que quieran cumplir los estándares, tanto HTML como XHTML. Esta declaración indica que versión de (X)HTML se usa en la página, de forma que los navegadores pueden saber qué sintaxis y gramática se usa, y los validadores puedan comprobar su validez. Para ello la declaración indica un DTD contra el cual se puede realizar la validación.

Aparte de esto la declaración DOCTYPE se utiliza por los navegadores para activar su modo estándar o estricto, o su modo compatibilidad (quirk). La razón de esto y las diferencias existentes entre estos modos queda fuera del ámbito de esta explicación, pero es suficiente con darse cuenta de que la no utilización de un DOCTYPE o su incorrecto uso, puede hacer que los navegadores rendericen la página de forma completamente diferente a lo que teníamos previsto. Todas las páginas nuevas que se hagan deberían contener esta declaración y hacerlo de forma correcta, con el fin de cumplir los estándares por un lado y garantizar resultados de renderizado homogéneos por otro.

Una declaración DOCTYPE suele tener una estructura similar a la siguiente:

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

En este ejemplo se indica que la página debe validarse como XHTML Transitional utilizando el DTD existente en la url http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd. Es habitual que estas líneas las creen los propios editores pero no siempre lo hacen de forma correcta, además a veces se copia de alguna otra página en la que por ejemplo la ruta del DTD es local, por lo que seguramente generaría un fallo en la validación en nuestro web.

Existen tres tipos de documentos XHTML: Strict, Transitional y Frameset. A continuación se muestra la declaración de cada una de ellas con la referencias válidad a cada DTD, y un poco más abajo sus diferencias para saber cuándo usar cada una.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  • Strict: este tipo de documento está principalmente ideado para su utilización con CSS, separando completamente el contenido y la presentación. Para ello no permite la utilización de etiquetas y atributos ya en desuso orientados a la presentación, como font, center y otros. Escribiendo páginas en XHTML 1.0 Strict se consiguen páginas bien estructuradas y fácilmente adaptables mediante CSS, pero tiene la desventaja de crear incompatibilidades con ciertos navegadores.
  • Transitional: incluye todas las características de XHTML 1.0 Strict, pero añade características orientadas a la presentación ya en desuso.
  • Frameset: es una variante del Transitional para las páginas que utilizan frames

Por último hay que tener en cuenta que no es necesario que las páginas XHTML contengan una instrucción prolog similar a <?xml version="1.0" encoding="utf-8" ?> salvo en los modos estrictos. En realidad esta instrucción es únicamente necesaria cuando el contenido de la página se sirve como text/xml y además su utilización hace que Explorer 6 pase a modo Quirk por lo que no se recomienda su uso. Si necesitamos indicar el encoding de la página se recomienda utilizar la etiqueta meta correspondiente.

Referencias

Comparte esta información

17 Comentarios para “¿Qué es el XHTML Doctype?”

  1. Susana dice:

    Antes del Doctype no debería aparecer nada, ni siquiera comentarios html (salvo saltos de línea). En caso contrario el navegador puede ponerse en modo compatibilidad, Explorer 6 lo hace así.

  2. ivan dice:

    En mi web estoy intentando rediseñarla para el XHTML y la Accesibilidad. http://www.ntra-net.com/dt3/promoter/index.php

  3. carmen dice:

    Antes de esto no tenia ni pisca de idea, gracias chicos ;)

  4. Gina dice:

    No entendi nada sobre este articulo ¿podrian ser mas explicitos? gracias

  5. Patxi dice:

    Hola Gina, te recomiendo que mires en las referencias y alguna otra página en Google para tener una idea más exacta, considero que el artículo ya es bastante explícito, aunque sí que es cierto que hacen falta algunos conocimientos previos para entenderlo.

  6. Mariano dice:

    Idem. Me quedé un poco colgado con el artículo. Habría que desarrollarlo un poquito mas. S2.

  7. melkorcete dice:

    Yo diria que es completamente correcto. Si alguien no lo entiende que busque mas informacion por la red. No todo debe estar orientado “for dummies”

  8. Ana Cristina dice:

    Interesante el artículo. Me gustó mucho aunque me deja algunos vacíos. Buscaré más información en google (si alguien sabe de algunos buenos enlaces sobre el tema se lo agradeceré)

  9. Gloton dice:

    El articulo lo encontre buenisimo, solo que al final (ultimo parrafo) no entendi bien, especialmente la frase “instrucción prolog”.
    Es mi primer comentario ;)

    La pagina no la conocia hasta ayer y la puse en mis favoritos.

  10. Patxi dice:

    Con “instrucción prolog” me refiero al <?xml….>. Si te fijas pese a formar parte del documento xml, su estructura no está basada en etiquetas de apertura y cierre, ya que empieza con un interrogante. Mediante estas instrucciones es posible indicar información que queremos que los programas que lean el xml tengan en cuenta. Por ejemplo, en el caso que muestro, se indica que el xml es versión 1 y está codificado como utf-8.

    De todas formas, esto es válido para documentos XML, y pese a XHTML es en también XML, por diferentes limitaciones de los navegadores, incluir estas instrucciones al principio del documento, puede acarrear problemas, principalmente en Internet Explorer 6.

  11. Princesa dice:

    Pues si,es muy cierto , esto del doctype es muy importante, me parece q todo funciona más con esto si:

    porque colocándo en mi página, uno de esos tres mencionados anteriormente,no me funciona por ejemplo, el “background-position”.No sé si es estándar el DOCTYPE que estoy utilizando.

  12. Miguel dice:

    Muy buen artículo, buscaba algo que me informara sobre las diferencias strict y transitional, y qué mejor que este. Gracias.

  13. Yokiro dice:

    El articulo es genial ya que difine muchas cosas que en mi caso ya usaba hace algun tiempo pero no sabia que significaban.
    Por mi parte me gustaria saber donde puedo encontrar una gramatica para XHTML.

  14. Análisis de los sitios web de los candidatos a las Elecciones Generales 2008 en España | 5líneas dice:

    […] La asignatura pendiente es la validación del código, ninguna de las páginas lo consigue, existiendo algunas webs que ni tan siquiera declaran el DOCTYPE del documento. […]

  15. José Gregorio dice:

    Que buen artículo chicos, gracias…

  16. Samuel Alejos dice:

    Excelente articulo. Al igual que otros no tenia ni idea de que hacia esa etiqueta, solo la copiaba y ya. Gracias

  17. manuel dice:

    hola no se si esto tiene algo que ver con el tema que se esta tratando aqui, pero tengo un problema a la hora de navegar por internet y es que se me habren paginas publicitarias en la que la configuracion empieza por doctype y no se de que manera poder eliminar que aparezca este tipo de paginas asociadas con este documento.

Deja un comentario