XHTML
adaptación de HTML en XML
From Wikipedia, the free encyclopedia
XHTML (siglas de eXtensible HyperText Markup Language, ‘lenguaje extensible de marcado de hipertexto’) es la formulación de HTML como aplicación de XML.[1] Históricamente fue desarrollado por el World Wide Web Consortium (W3C) como una reformulación de HTML 4 en XML 1.0.[1]
.xhtml, .xhtapplication/xhtml+xml| XHTML | ||
|---|---|---|
|
| ||
| Desarrollador | ||
| World Wide Web Consortium | ||
| www.w3.org | ||
| Información general | ||
| Extensión de archivo |
.xhtml, .xht | |
| Tipo de MIME |
application/xhtml+xml | |
| Lanzamiento inicial | 1.0, 26 de enero de 2000(info) | |
| Tipo de formato | Lenguaje de marcado | |
| Extendido de | HTML, XML | |
| Estándar(es) | ||
| Formato abierto |
| |
XHTML 1.0 se convirtió en recomendación del W3C el 26 de enero de 2000, y XHTML 1.1 lo hizo el 31 de mayo de 2001.[2][3] Ambas recomendaciones fueron retiradas por el W3C el 27 de marzo de 2018.[2][3]
En el estándar HTML mantenido por WHATWG, XHTML se describe como la sintaxis XML para HTML.[4] No obstante, el mismo estándar señala que el uso de la sintaxis XML no se recomienda en general y que no se espera que reciba nuevas funcionalidades.[4]
Ventajas respecto a HTML
Entre las ventajas prácticas asociadas históricamente a XHTML se encuentran las siguientes:
- permite incorporar vocabularios XML de otros espacios de nombres, como MathML y Scalable Vector Graphics;
- permite utilizar herramientas genéricas del ecosistema XML, como validadores, transformaciones XSLT y otros procesadores;
- exige una sintaxis bien formada, lo que reduce ciertas ambigüedades toleradas por analizadores HTML clásicos.[1][4]
Apéndice de compatibilidad
La especificación XHTML 1.0 incluye un apéndice informativo de guías de compatibilidad con HTML, destinado a autores que desean que sus documentos XHTML puedan mostrarse también en navegadores HTML existentes.[5] Asimismo, la propia especificación señala que los documentos XHTML 1.0 que siguen esas pautas pueden etiquetarse como text/html, además de poder servirse como application/xhtml+xml.[6]
Entre las recomendaciones más citadas de ese apéndice se encuentran:
- evitar instrucciones de proceso y la declaración XML en ciertos contextos de compatibilidad heredada;
- escribir los elementos vacíos con un espacio antes de
/>, por ejemplo<br />; - no usar la forma abreviada en elementos no vacíos sin contenido, por ejemplo escribir
<p></p>en vez de<p />; - extremar el cuidado con hojas de estilo, scripts, entidades y codificación de caracteres cuando se busca compatibilidad con navegadores HTML tradicionales.[5]
Diferencias entre HTML y XHTML
La siguiente lista resume algunas diferencias sintácticas características de XHTML 1.0 frente a HTML 4.01, derivadas de su condición de aplicación XML:[1]
- los elementos vacíos deben cerrarse;
- Ejemplo:
<br />
- Ejemplo:
- los elementos no vacíos deben tener etiqueta de cierre;
- Ejemplo:
<p>Primer párrafo</p>
- Ejemplo:
- los elementos anidados deben cerrarse en orden correcto;
- Correcto:
<em><strong>Texto</strong></em>
- Correcto:
- los valores de los atributos deben ir entre comillas;
- Correcto:
<td rowspan="3">
- Correcto:
- los nombres de elementos y atributos deben escribirse en minúsculas;
- Correcto:
<a href="http://www.example.com">Ejemplo</a>
- Correcto:
- no está permitida la minimización de atributos;
Sintaxis XML y procesamiento
Cuando un documento XHTML se transmite como application/xhtml+xml, es procesado como XML.[4] En ese contexto, los errores de buena formación pueden impedir que el documento sea renderizado correctamente, a diferencia de lo que sucede con documentos servidos como text/html, donde el procesamiento HTML moderno contempla recuperación de errores.[4]