En DesarrolloWeb.com hemos publicado un manual de XHTML para explicar las características de este lenguaje, de modo que en este artículo deseamos simplemente ofrecer una introducción y explicar cuáles son las características principales.
Como sabemos, HTML tiene diferentes versiones, en las que ha cambiado bastante con respecto a la idea inicial. La web ha crecido muy rápido y ha evolucionado con mayor velocidad que los propios estándares de HTML, al surgir necesidades como la incorporación de vídeo, sonido, animaciones complejas, etc. Por ello, el propio lenguaje HTML se ha visto superado por las necesidades de las empresas y desarrolladores y ha crecido muchas veces sin atender al plano director creado desde el W3C.
XHTML es una vuelta hacia atrás, que intenta recuperar la línea marcada por los estándares, pero que trata de solucionar diversos casos de uso del HTML, a la vez que lo prepara para adaptarse a las nuevas necesidades y corrientes tecnológicas.
XML es un lenguaje que también funciona por etiquetas, igual que HTML, pero cuyas reglas de creación de documentos son mucho más estrictas que las del propio lenguaje HTML, lo que da pie a la posibilidad de procesarlos automáticamente por programas informáticos. Ese pequeño detalle, realmente es la base para toda una serie de ventajas que hacen que XML sea una herramienta ideal para el momento actual, donde la información circula sin límite por las redes globales y XHTML intenta aprovecharse de ello.
Por tanto, podemos decir que XHTML es la versión XML de HTML. Desde el punto de vista del desarrollador, veremos que XHTML hereda la rigidez de XML, con lo cual no se puede escribir documentos XHTML de cualquier manera, como ocurría con HTML, sino atendiendo a unas normas. Ese detalle, que en principio pueda parecer una limitación, en realidad tiene una serie de ventajas.
HTML tiene muchas etiquetas como FONT, B, I... que expresan la forma con la que tiene que mostrarse un elemento, es decir, sirven para definir el aspecto de los contenidos de la página. Del mismo modo, existen muchos atributos, como align, bgcolor, vspace, que sirven también para definir asuntos relacionados son aspecto de los elementos de la página. Todo eso, con el tiempo de uso de HTML y la evolución de la web, se ha demostrado que era incorrecto.
Lo ideal es que las personas, que realizan una página escribiendo HTML, escriban el contenido de manera que se exprese qué es cada cosa y no cómo tiene que verse cada cosa. De ese modo, la web sería semántica, porque se especificaría sólo el significado de cada elemento y no cómo se debe de visualizar.
XHTML procura acercarse a ese ideal, por lo que se suprimen todas las etiquetas y atributos que sirven para definir el aspecto y sólo se dejan las etiquetas que sirven para definir el significado de cada elemento de la página.
Por ejemplo, la etiqueta <strong> sirve para definir que una información está destacada. Es correcto, porque sirve para definir qué es ese contenido (un texto a resaltar). Sin embargo, otras etiquetas como B no son correctas desde el punto de vista de la web semántica, porque sirven para definir cómo debe mostrarse un texto en concreto (en Bold, negrita).
La web semántica permite separar el contenido de la presentación y eso es algo que se lleva intentando desde hace años y un asunto que se ha puesto especialmente en práctica en el XHTML.
Todos esos asuntos los vamos a explicar con detalle en el presente manual de XHTML.