Saltar la navegación

1.2.- HTML y XHTML.

Caso práctico

Puesto que Juan ha aceptado realizar la página web se plantea el hacerla en HTML o en XHTML consulta con Marina, trabajadora de su empresa informática.

Marina opina que, desde un punto de vista formal, no hay diferencias sustanciales entre utilizar uno u otro lenguaje, y siguiendo la evolución lógica le parece que sería más apropiado utilizar XHTML y añade que este lenguaje tiene la ventaja de ser compatible con navegadores antiguos.

Juan opina que es una buena opción, pero que algunos navegadores, a pesar de ser compatibles con el lenguaje no interpretan los formatos.

Ilustración de chico pensando entre las diferencias de HTML y XHTML
Ana Polo Arozamena desde imágenes openclipart-0.18-full (Uso Educativo NC)


El lenguaje XHTML (EXtensible HyperText Markup Language) es muy similar al lenguaje HTML. De hecho, no es más que una adaptación de HTML al lenguaje XML.

El estándar XHTML 1.0 sólo añade pequeñas mejoras y modificaciones menores al estándar HTML 4.01, por lo que este último está prácticamente incluido en el primero. Pasar del HTML 4.01 Strict a XHTML no requiere casi ningún cambio.

El lenguaje HTML tiene una sintaxis muy permisiva, por lo que es posible escribir sus etiquetas y atributos de muchas formas diferentes. Las etiquetas, por ejemplo, pueden escribirse en mayúsculas, minúsculas e incluso combinando mayúsculas y minúsculas. El valor de los atributos de las etiquetas se pueden indicar con o sin comillas. Además, el orden en el que se abrían y cerraban las etiquetas no era importante.

La flexibilidad de HTML da lugar a páginas con un código desordenado, difícil de mantener y muy poco profesional.

XHTML soluciona estos problemas añadiendo ciertas normas en la forma de escribir las etiquetas y atributos. Son las normas que vimos en el capítulo 1 para que un fichero XML se considera bien formado. Así se consigue:

  • Sencillez a la hora de editar y mantener el código.
  • Al ser más regular, es más fácil escribir código que lo procese.
  • Como es XML se pueden utilizar fácilmente herramientas creadas para procesar documentos XML genéricos (editores, XSLT, etc.).

Diferencias sintácticas y estructurales con HTML

Para que que el código HTML se pueda considerar XML bien formado, y por tanto, XHTML, tiene que cumplir:

  • Toda la página debe estar contenida en un elemento raíz, <html>.
  • Los nombres de las etiquetas y atributos siempre se escriben en minúsculas.
  • El valor de los atributos, incluso los numéricos, siempre se encierra entre comillas.
  • En los atributos en los que el nombre coincide con su valor, no puede darse el valor por entendido, es decir, no se pueden comprimir. Este tipo de atributos no son muy habituales.
  • Todas las etiquetas deben cerrarse siempre. XHTML permite que en lugar de abrir y cerrar de forma consecutiva la etiqueta (<br><br/>) se puede utilizar la sintaxis <br/> para indicar que es una etiqueta vacía que se abre y se cierra en ese mismo punto.

En general, los diseñadores web suelen trabajar con HTML. El XHTML es más apreciado por los desarrolladores, que aprecian la regularidad adicional. De cualquier manera, los tres primeros puntos de la anterior lista se consideran una buena práctica y se suelen cumplir siempre.

Por otro lado, hay que tener en cuenta que los navegadores no procesan HTML y XHTML exactamente igual. En concreto, en caso de errores para HTML el navegador intentará mostrar el mayor contenido posible. Pero si el documento se sirve como XHTML (con un tipo MIME XML), cualquier error de sintaxis causa que no se muestre el documento.

Para más información sobre HTML y XHTML, consulta la sección correspondiente en la especificación (inglés).

Autoevaluación

Pregunta

La aparición del lenguaje XHTML hace que deje de evolucionar el lenguaje HTML:

Respuestas

Sí.

No.

Retroalimentación


Pregunta

La principal diferencia entre HTML y XHTML es:

Respuestas

HTML permite usar las etiquetas en mayúsculas y XHTML no.

XHTML da lugar a códigos ordenados.

XHTML es compatible con XML.

HTML es permisivo.

Retroalimentación