XHTML (eXtensible Hypertext Markup
Language - lenguaje extensible de
marcación hipertexto) es un lenguaje similar a HTML, es básicamente HTML
expresado como XML válido.
Es algo más estricto a nivel técnico
que HTML, pero permite su posterior modificación más fácil. (También facilita la
búsqueda de errores entre otras cosas).
Existen algunas diferencias entre HTML y XHTML que hacen
que XHTML sea más robusto y
aconsejable para la modelación de páginas web. HTML
tiene diferentes versiones, que han ido cambiando con respecto a la idea inicial. Al surgir
necesidades como la incorporación de vídeo, sonido, animaciones complejas, etc.,
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.
Está
basado en…
Una de las tecnologías que más ha
llamado la atención de los creadores de estándares abiertos para web es el XML, un lenguaje de marcación que sirve
como base para crear otros lenguajes multidisciplinares, que solucionan muchas
necesidades de documentación de distintos tipos de colectivos en la nueva
sociedad de la información.
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.
A modo de resumen…
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.
- Procesar su contenido por cualquier programa informático (igual que ocurre con el XML)
- Los navegadores no tienen por qué volverse locos intentando interpretar lo que el desarrollador ha querido escribir ni solucionar los posibles errores de código cometidos, como ocurría con HTML.
·
Pero atención a este
punto, puesto que XHTML no es sólo
un HTML con sintaxis XML. En
realidad XHTML incorpora una nueva concepción o si lo preferimos, una nueva
filosofía de modelación de las páginas web, que busca la creación de una web
semántica.
·
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.
Algunas ventajas…
Las
principales ventajas del XHTML sobre
el HTML son:
- Se pueden incorporar elementos de distintos espacios de nombres XML (como MathML y Scalable Vector Graphics).
- Un navegador no necesita implementar heurísticas para detectar qué quiso poner el autor, por lo que el parser puede ser mucho más sencillo.
- Como es XML se pueden utilizar fácilmente herramientas creadas para procesamiento de documentos XML genéricos (editores, XSLT, etc.).
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.
Algunas de las reglas propuestas para que XHTML «parezca»
HTML son:
- No usar instrucciones de proceso.
- Los elementos vacíos (como <br>) deberán escribirse <br />, es decir en forma abreviada y con un espacio antes de «/».
- No se debe utilizar la forma abreviada para elementos no vacíos que no tengan contenido, es decir: no se debe escribir <p/>.
La siguiente lista muestra algunas
reglas de XHTML 1.0 que lo
diferencian de HTML 4.01. Muchas de estas diferencias vienen con el cambio de
ser una aplicación SGML a ser una aplicación del más estricto XML:
·
Debe estar escrito en
minúsculas.
- Todas las etiquetas deben ser cerradas:
- Los elementos vacíos deben cerrarse siempre:
- <br></br> o <br/> o
<br />
Nota: Cualquiera de las tres formas es válida en XHTML. Para compatibilidad según el "Apéndice C" debe usarse <br />. - Los elementos no vacíos también deben cerrarse siempre:
- <p>Primer párrafo</p><p>Segundo párrafo</p>
- Los elementos anidados deben tener un correcto orden de apertura/cierre (el que se abre último, debe cerrarse primero).
- <em><strong>Texto</strong></em>
·
Los documentos tienen
que estar “bien formados”. Existen validadores de documentos.
Sección
<head> obligatoria y <title> dentro de ella
·
Utiliza atributo ID
en vez de NAME.
o
<img src=”/imagenes/imagen.jpg” id=”mifoto” />
·
No se puede usar
sintaxis abreviada.
- Hay que usar sentencia DOCTYPE para indicarle al navegador como procesar el documento.
- Los valores de los atributos deben siempre ir encerrados entre comillas (simples o dobles).
- <td rowspan=3>
- <td rowspan="3">
- <td rowspan='3'>
- Los nombres de elementos y atributos deben ir en minúsculas.
- <a href="http://www.domname.com">Domname</a>
- No está permitida la minimización de atributos (se usa el nombre del atributo como valor).
- <textarea readonly="readonly">Solo-lectura</textarea>
- Los atributos desaprobados en HTML 4.01 no forman parte de XHTML.
- <span style="color: #0000FF;">Blue text</span>