Unidad 4. Avanzado: Doctype


Es importante intentar hacer que nuestra página sea lo más compatible posible, tanto con los navegadores actuales, como con los futuros. Además, hemos de tener en cuenta que cada vez son más los dispositivos capaces de navegar por Internet: móviles, PDAs, videoconsolas, etc...

Para lograrlo, hemos de seguir los estándares al crear nuestra página. Y el estándar dice, que una de las cosas que debemos de introducir en nuestra página es información sobre cómo está escrita, y que sintaxis sigue.

HTML o XHTML

El HTML es un lenguaje basado en etiquetas. El estándar en lenguaje de etiquetas es XML, por lo que la idea es convertir el HTML en XML. Esto no quiere decir que se vaya a cambiar la forma de escribir HTML, ya que de hecho el formato es muy similar al XML. Lo que se intenta conseguir es que se escriba de forma correcta y siguiendo unas reglas, facilitando así la compresión por del código por cualquier programa pensado para entender el XML, y facilitar la ampliación de etiquetas en el futuro. A esta conversión del HTML tradicional a XML se le ha llamado XHTML.

Actualmente, lo más común es definir nuestro documento como HTML 4.01 o como XHTML 1.0. Realmente, no existen grandes diferencias entre ambas. Sí podemos ver que mientras que HTML es más permisivo, XHTML nos obliga a cerrar todas las etiquetas correctamente, y escribir etiquetas y atributos en minúsculas, siguiendo las reglas del XML. Por ejemplo, mientras que escribir <br> o <BR /> sería válido en HTML, en XHTML deberíamos escribir <br /> o <br></br>.

Normalmente, si escribimos un nuevo documento, lo haremos como XHTML y nos aseguraremos de que todo esté bien estructurado. Si utilizamos código más viejo, o que puede que no todas las etiquetas estén cerradas, utilizaremos HTML.

Document Type Declaration

Básicamente, la definición de tipo de documento o Doctype asocia el documento a una archivo DTD, en el que se detalla cómo se debe escribir ese documento, que etiquetas son válidas, que atributos pueden tener, etc... Esto hace que el navegador interprete la página de una forma u otra. Por lo que elegirlo de forma incorrecta puede hacer que algunos elementos no se vean como esperamos.

Básicamente, existen tres tipos de declaraciones de documento:

Strict.
Indica que el documento está diseñado completamente para el uso de CSS, por lo que no se admiten las etiquetas o atributos ya en desuso, orientadas a la presentación de la página.
Por lo general, elegiremos este tipo cuando creemos las páginas nuevas, ya que nos preocuparemos por hacerlo correctamente. En cambio, Puede que no nos servirá si reutilizamos código de páginas viejas no pensadas para el strict. Además, puede provocar incompatibilidades con navegadores muy viejos.
Transitional.
Funciona como el Strict, pero permite las etiquetas orientadas a formatear la presentación de la página.
Utilizaremos este tipo cuando queramos utilizar código de páginas no diseñados para strict, por ejemplo que utiliza etiquetas como <b>, <i>, <center> o <font>, o atributos de formato, como <div background="red" align="center"> . También cuando queramos facilitar la compatibilidad con navegadores viejos.
Frameset.
Funciona como el Ttransitional, pero además permite utilizar frames (marcos), actualmente en desuso.
Utilizaremos este tipo en páginas viejas, que usen marcos.

En los documentos XHTML es obligatorio declarar el Doctype.

Declaración

Por lo tanto, al comienzo de nuestro documento, antes de la etiqueta <html>, debemos de indicar si utilizamos HTML o XHTML y qué tipo de DTD, utilizando las siguientes etiquetas:

XHTML

XHTML 1.0 Estrict:

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

En las páginas del curso, será éste el que utilizaremos.

XHTML 1.0 Transitional:

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

XHTML 1.0 Frameset:

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

De forma opcional, los documentos XHTML, al ser un documento XML pueden indicar al principio del documento, antes del doctype, la versión de XML utilizada y la codificación, utilizando una etiqueta como la siguiente:

<?xml version="1.0" encoding="ISO-8859-1"?>

Lo que sí se agrega a la etiqueta HTML es el atributo xmlns. Y también se le suele agregar el idioma en que se ha escrito el documento, con el atributo lang:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">

Puedes observar que al crear una página con KompoZer, no agrega la etiqueta <?xml, pero sí el atributo xmlns.

 

HTML

HTML 4.01 Estrict:

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

HTML 4.01 Transitional:

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

HTML 4.01 Frameset:

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

Estos son los más comunes, pero existes otros tipos, por ejemplo para otras versiones de HTML o XHTML, o para otros lenguajes, como puede ser MathML para representar fórmulas matemáticas, o SVG para representar gráficos vectoriales a partir del código.

   Inicio    





.