XHTML
De Wikipedia, la enciclopedia libre
XHTML, acrónimo inglés de eXtensible Hypertext Markup Language (lenguaje extensible de marcado de hipertexto), es el lenguaje de marcado pensado para sustituir a HTML como estándar para las páginas web. XHTML es la versión XML de HTML, por lo que tiene, básicamente, las mismas funcionalidades, pero cumple las especificaciones, más estrictas, de XML. Su objetivo es avanzar en el proyecto del World Wide Web Consortium de lograr una web semántica, donde la información, y la forma de presentarla estén claramente separadas. En este sentido, XHTML serviría únicamente para transmitir la información que contiene un documento, dejando para hojas de estilo (como las hojas de estilo en cascada) y JavaScript su aspecto y diseño en distintos medios (ordenadores, PDAs, teléfonos móviles, impresoras...).
Tabla de contenidos |
[editar] Vista general
XHTML es el sucesor de HTML. Es por eso que muchos lo consideran la “versión actual” del HTML, pero es una recomendación aparte y a la vez paralela; la W3C continúa recomendando el uso de XHTML 1.1, XHTML 1.0, y HTML 4.01 para publicar en la web.
La necesidad de una versión más estricta de HTML se sintió principalmente porque el contenido de la World Wide Web ahora puede visualizarse desde numerosos dispositivos (como móviles) aparte de los ordenadores tradicionales, donde no pueden dedicarse recursos suplementarios para afrontar la complejidad añadida de la sintaxis del HTML.
La mayoría de las versiones recientes de los navegadores web más populares soportan XHTML adecuadamente, pero algunas versiones más antiguas solo pueden leer el XHTML como si se tratara de HTML. Asimismo casi todos los navegadores que son compatibles con XHTML también leen HTML correctamente. Algunos argumentan que esta compatibilidad ralentiza el cambio de HTML a XHTML. En octubre de 2005 aproximadamente el 10% de los internautas utilizaban un navegador compatible con el estándar XHTML [1]. El Internet Explorer de Microsoft es incompatible con XHTML, a pesar de que esta empresa sea miembro de la W3C [2]. Por tanto, gran parte de los autores de sitios web se ven forzados a elegir entre la escritura de documentos válidos, respetuosos con los estándares u ofrecer contenido que se visualice correctamente en la mayor parte de los navegadores.
Una característica especialmente útil del XHTML es que se pueden incorporar elementos de distintos espacios de nombres XML (como MathML y Scalable Vector Graphics).
Los cambios de HTML a la primera generación de XHTML (es decir, XHTML 1.x) son menores ya que, principalmente, están destinados a conseguir la conformidad con XML. El cambio más importante es el requisito de que el documento esté bien formado y que todas las etiquetas estén explícitamente cerradas, como se requiere en XML. Como las etiquetas en XML distinguen entre mayúsculas y minúsculas (case-sensitive), la recomendación XHTML ha definido todos los nombres de etiqueta en minúsculas. Lo cual está en contraste directo con las tradiciones extendidas en el tiempo de HTML 2.0, cuando mucha gente prefería las mayúsculas para estos casos, normalmente para mostrar más fácilmente el contraste de éstas con el contenido. En XHTML, los valores de los atributos deben encerrarse entre comillas ('
simples'
o "
dobles"
, es indiferente). Al contrario ocurría en SGML y por consecuencia en HTML, donde las comillas podían omitirse en algunos casos. Todos los elementos han de ser explícitamente cerrados, incluyendo elementos vacíos como pueden ser img
o br
. Esto puede hacerse añadiendo una barra a la etiqueta: <img … />
y <br />
. La minimización de atributos (como <option selected>
) está también prohibida, ya que el atributo “selected
” no contiene ningún valor explícito; en lugar de eso, se usa <option selected="selected">
. Hay más diferencias detalladas en la recomendación XHTML 1.0 de la W3C.
[editar] Ventajas
Las principales ventajas del XHTML sobre otros formatos son:
- Compatibilidad parcial con navegadores antiguos: la información se visualiza, aunque sin formato. Apuntar que el XHTML 1.0 fue diseñado expresamente para ser mostrado en navegadores que soportan HTML de base.
- Un mismo documento puede adoptar diseños radicalmente distintos en diferentes dispositivos, pudiendo incluso escogerse entre varios diseños para un mismo medio.
- Facilidad de edición directa del código y de mantenimiento.
- Formato abierto, compatible con los nuevos estándares que actualmente está desarrollando el W3C como recomendación para futuros agentes de usuario o navegadores.
- Los documentos escritos conforme a XHTML 1.0 pueden potencialmente presentar mejor rendimiento en las actuales herramientas web que aquellos escritos conforme a HTML.
[editar] Inconvenientes
- Algunos navegadores antiguos no son totalmente compatibles con los estándares, lo que hace que las páginas no siempre se muestren correctamente. Esto cada vez es menos problemático, al ir cayendo en desuso.
- Muchas herramientas de diseño web aún no producen código XHTML correcto.
[editar] Diferencias entre HTML y XHTML
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:
- Los elementos vacíos deben cerrarse siempre:
- Incorrecto:
<br>
- Correcto:
<br></br> o <br/> o <br />
Nota: Cualquiera de las tres formas es válida en XHTML. Se recomienda el cierre<br />
por razones de compatibilidad.
- Incorrecto:
- Los elementos no vacíos también deben cerrarse siempre:
- Incorrecto:
<p>Primer párrafo<p>Segundo párrafo
- Correcto:
<p>Primer párrafo</p><p>Segundo párrafo</p>
- Incorrecto:
- Los elementos anidados deben tener un correcto orden de apertura/cierre (el que se abre último, debe cerrarse primero).
- Incorrecto:
<em><strong>Texto</em></strong>
- Correcto:
<em><strong>Texto</strong></em>
- Incorrecto:
- Se debe siempre especificar un texto alternativo para imágenes (atributo "alt" para la etiqueta "img").
- Incorrecto:
<img src="http://upload.wikimedia.org/wikipedia/es/b/bc/Wiki.png" />
- Correcto:
<img src="http://upload.wikimedia.org/wikipedia/es/b/bc/Wiki.png" alt="Logo: Wikipedia, la enciclopedia libre" />
- Incorrecto:
- Insertar elementos de bloque dentro de elementos de línea.
- Incorrecto:
<em><h2>Título</h2></em>
- Correcto:
<h2><em>Título</em></h2>
- Incorrecto:
- Los valores de los atributos deben siempre ir encerrados entre comillas (simples o dobles).
- Incorrecto:
<td rowspan=3>
- Correcto:
<td rowspan="3">
- Correcto:
<td rowspan='3'>
- Incorrecto:
- El símbolo & (ampersand) debe ser usado únicamente como parte de una entidad.
- Incorrecto:
Cars & houses
- Correcto:
Cars & houses
- Incorrecto:
<a src="http://www.domname.com/index.php?id=1&cat=2">Category 2</a>
- Correcto:
<a src="http://www.domname.com/index.php?id=1&cat=2">Category 2</a>
- Incorrecto:
- Los nombres de elementos y atributos deben ir en minúsculas.
- Incorrecto:
<A HREF="http://www.domname.com">Domname</A>
- Correcto:
<a href="http://www.domname.com">Domname</a>
- Incorrecto:
- No está permitida la minimización de atributos (se usa el nombre del atributo como valor).
- Incorrecto:
<textarea readonly>Solo-lectura</textarea>
- Correcto:
<textarea readonly="readonly">Solo-lectura</textarea>
- Incorrecto:
- Los atributos desaprobados en HTML 4.01 no forman parte de XHTML.
- Incorrecto:
<font color="#0000FF">Blue text</font>
- Correcto:
<span style="color: #0000FF;">Blue text</span>
- Incorrecto:
[editar] Reglas para DTDs estrictos
- El texto no debe ser insertado directamente en el cuerpo (dentro de la etiqueta "body").
- Incorrecto:
<body>Texto plano</body>
- Correcto:
<body><span>Texto plano</span></body>
- Incorrecto:
[editar] Enlaces externos
- Wikilibros contiene el libro titulado «Lenguaje XHTML»
- Traducción de la especificación oficial de XHTML
- Resúmen sobre las novedades del borrador XHTML 2.0
- Especificación oficial de XHTML (en inglés)
- Validador en línea del W3C (en inglés)