Actividad 2 Actividad 2 | Page 9

8. HTML y XHTML

Diferencias

Como XHTML está basado en XML, además de incluirse una serie de líneas obligatorias, su marcado es mucho más estricto. Las principales diferencias con el antiguo HTML son las siguientes:

En teoría, el documento debe comenzar con la declaración de XML <?xml version="1.0" encoding="utf-8"?>. Por desgracia, Internet Explorer 6 entra en quirks mode al encontrar esta declaración, por lo que hasta que sus usuarios no dejen de ser más del 50 por ciento de los internautas, las autoridades recomiendan no incluirla. Yo, personalmente, sí la incluyo.

Al comienzo del código, inmediatamente antes del elemento html, se debe incluir la declaración de DTD.

El elemento html debe incluir la llamada al espacio de nombres de XHTML. Se debería incluir en él también la especificación del idioma del documento por medio del atributo xml:lang.

El elemento title es obligatorio, y además debería describir de forma sintética el contenido del documento.

Todos los nombres de los elementos se escriben en minúsculas, al igual que los de los atributos. Los valores de estos, sin embargo, aceptan cualquier caso.

Las etiquetas de cierre de los elementos son obligatorias. En el caso de los elementos vacíos, es decir, aquellos que no admiten contenido, la sintaxis es <elemento />. Es importante el espacio antes de />, para evitar que los navegadores antiguos cometan errores de interpretación.

Los elementos deben anidarse correctamente, sin intercalar aperturas y cierres de distintas etiquetas. Así, <p>Esto es un párrafo, con <i>parte del texto en cursiva</p></i> sería incorrecto; lo correcto sería <p>Esto es un párrafo, con <i>parte del texto en cursiva</i></p>.

Los valores de atributos implícitos se vuelven explícitos, por lo que hay que repetir el atributo en su valor.

Los mismos caracteres que deben ser sustituidos por referencias de entidad en XML deben sustituirse en XHTML, incluso en el valor del href de los vínculos.

Salvo en los campos de formulario, elementos meta y param, el atributo name se sustituye por el atributo id.

No se deberían emplear elementos ni atributos que en la DTD especificada aparezcan marcados como depreciados, aunque esto se aplica a cualquier lenguaje de marcado, no sólo a XHTML.

8