DICCIONARIO · X

XHTML

XHTML (Extensible HyperText Markup Language) es la reformulación de HTML como aplicación de XML, publicada por el W3C en 2000, que obliga a escribir un marcado bien formado: etiquetas en minúsculas, todas cerradas y atributos entre comillas. Hoy está superado por HTML5, aunque su sintaxis XML sigue viva en formatos como EPUB.

Germán Gutiérrez Escrito por 5 min de lectura
Ficha rápida
Nombre completo
Extensible HyperText Markup Language
Organismo
W3C (World Wide Web Consortium)
XHTML 1.0
Recomendación del 26 de enero de 2000; revisada el 1 de agosto de 2002
XHTML 1.1
Recomendación del 31 de mayo de 2001
Estado
XHTML 1.0 y 1.1 son Recomendaciones superadas desde el 27 de marzo de 2018
Tipo MIME propio
application/xhtml+xml

≡En resumen

  • XHTML es HTML escrito con las reglas estrictas de XML.
  • XHTML 1.0 se publicó el 26 de enero de 2000 y tuvo tres variantes: Strict, Transitional y Frameset.
  • El W3C abandonó XHTML 2.0 en 2009 para centrarse en HTML5.
  • Desde 2018 el W3C considera XHTML 1.0 y 1.1 especificaciones superadas.
  • La sintaxis XML de HTML (antes XHTML5) sigue existiendo y la usan los libros EPUB.

01 ¿Qué es XHTML?

El nombre significa Extensible HyperText Markup Language. El W3C lo publicó como Recomendación el 26 de enero de 2000 con una idea ambiciosa: acercar la web a XML para que las páginas pudieran mezclarse con otros vocabularios XML (SVG, MathML) y leerse con analizadores más simples y estrictos que los de los navegadores.

02 Versiones de XHTML: de XHTML 1.0 a XHTML5

Versión Fecha Qué aportó
XHTML 1.0 26 de enero de 2000 (2.ª edición, 1 de agosto de 2002) HTML 4 reformulado en XML, con tres DTD: Strict, Transitional y Frameset
XHTML 1.1 31 de mayo de 2001 Versión modular basada en XHTML 1.0 Strict, sin elementos de presentación
XHTML 2.0 Borrador abandonado Rompía la compatibilidad con HTML; el W3C anunció el 2 de julio de 2009 que su grupo de trabajo cerraría a finales de ese año
XHTML5 / sintaxis XML de HTML Dentro de HTML5 y del HTML Living Standard La misma semántica de HTML5 escrita con sintaxis XML
Estado actual 27 de marzo de 2018 XHTML 1.0 y 1.1 pasan a Recomendaciones superadas
Historia de XHTML según el W3C y el WHATWG

03 Reglas de XHTML: cómo se escribe

  • ✓El documento debe estar bien formado: todos los elementos se cierran y se anidan correctamente.
  • ✓Nombres de elementos y atributos en minúsculas.
  • ✓Todos los valores de atributo entre comillas, incluidos los numéricos.
  • ✓Sin minimización de atributos: checked="checked" en lugar de checked.
  • ✓Elementos vacíos cerrados con barra final: br, img o hr se escriben como «br /», «img … /» y «hr /».
  • ✓Declaración del espacio de nombres http://www.w3.org/1999/xhtml en el elemento html.
Ejemplo · Ejemplo mínimo de documento XHTML 1.0 Strict

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es">
<head><title>Mi página</title></head>
<body><p>Hola<br />mundo</p></body>
</html>

En HTML5 bastaría con <!DOCTYPE html> y las etiquetas podrían quedar sin cerrar sin que el navegador protestara.

04 XHTML vs HTML5: diferencias

Aspecto XHTML 1.0 HTML5 (sintaxis HTML)
Base XML Su propia sintaxis, definida por el estándar HTML
Doctype Largo, con referencia a una DTD <!DOCTYPE html>
Errores Con application/xhtml+xml, un error de XML impide mostrar la página El navegador corrige y muestra la página según un algoritmo común
Mayúsculas Obligatorio en minúsculas Indiferente
Cierre de etiquetas Obligatorio Opcional en muchos elementos
Elementos semánticos No existen header, nav, article, video… Sí, además de APIs como audio, vídeo o canvas
Estado Superado (2018) Estándar vivo del WHATWG
Diferencias entre XHTML 1.0 y HTML5

En la práctica, un código «estilo XHTML» (minúsculas, comillas, etiquetas cerradas) sigue siendo HTML5 válido, por eso muchos desarrolladores conservan esos hábitos. Lo que cambia es cómo se sirve y se interpreta el documento. Para las bases del lenguaje actual, consulta nuestras etiquetas HTML.

05 Por qué XHTML perdió frente a HTML5

01

Casi nadie lo servía como XML

La mayoría de webs XHTML se enviaban como text/html, así que los navegadores las leían como HTML normal y la ventaja de XML no existía.

02

Errores fatales

Servido como application/xhtml+xml, un solo error de marcado hacía que el navegador mostrara un error en vez de la página.

03

XHTML 2.0 rompía la web

No era compatible con el HTML existente. Los fabricantes de navegadores prefirieron el trabajo del WHATWG, y el W3C cerró XHTML 2 en 2009.

04

HTML5 resolvió lo importante

Definió cómo tratar el código incorrecto, añadió elementos semánticos y multimedia y se convirtió en Recomendación del W3C en 2014.

06 ¿Dónde se usa XHTML hoy?

  • ✓Libros electrónicos: los documentos de contenido de EPUB 3.3 son XHTML y usan la sintaxis XML de HTML.
  • ✓Webs y CMS antiguos que aún declaran un doctype XHTML 1.0 Transitional o Strict.
  • ✓Sistemas que generan o transforman páginas con herramientas XML como XSLT o XPath.
  • ✓Documentos que mezclan HTML con otros vocabularios XML, como SVG o MathML.

Si trabajas con documentos XHTML de forma automática, te interesará XPath, el lenguaje para seleccionar nodos de un documento XML. Y si tu web lleva años con un marcado heredado de esa época, quizá sea el momento de un diseño web profesional sobre HTML5 y CSS modernos.

07 XHTML en el desarrollo de aplicaciones web actuales

En un proyecto nuevo no tiene sentido elegir XHTML: los frameworks de interfaz generan HTML5 y los navegadores siguen el estándar vivo del WHATWG. Donde sí aparece es al integrar sistemas antiguos, exportar contenidos a EPUB o procesar documentos con herramientas XML. En nuestros proyectos de desarrollo de aplicaciones web a medida tratamos ese marcado heredado como un formato de entrada más y servimos al usuario HTML5.

Preguntas frecuentes sobre XHTML

XHTML significa Extensible HyperText Markup Language: es HTML reformulado con las reglas de XML.

XHTML exige un marcado bien formado (etiquetas cerradas, minúsculas, atributos entre comillas) y puede procesarse como XML, mientras que HTML tolera errores y el navegador los corrige.

Poco. El W3C lo considera superado desde 2018 y la web usa HTML5, pero su sintaxis XML sigue presente en los libros EPUB y en sistemas antiguos.

XHTML 1.0 se publicó como Recomendación del W3C el 26 de enero de 2000, y XHTML 1.1 el 31 de mayo de 2001.

Es el nombre que se daba a la sintaxis XML de HTML5. El estándar actual ya no usa el término XHTML y desaconseja esa sintaxis para la web.

Ninguno aporta ventaja por sí mismo, pero HTML5 ofrece elementos semánticos y es el estándar actual, así que es la opción recomendada.

Cambia el doctype por <!DOCTYPE html>, sirve la página como text/html, sustituye los divs genéricos por elementos semánticos como header, nav o article cuando tenga sentido y valida el resultado. El resto del marcado XHTML bien escrito ya es HTML5 válido.

Fuentes consultadas

Germán Gutiérrez

Sobre el autor

Development Manager en appyweb

Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.

Ver perfil en LinkedIn ↗

Términos relacionados

Ver todos los términos →
H HTML HTML (HyperText Markup Language, «lenguaje de marcado de hipertexto») es el lenguaje de marcado estándar con el que se estructura el contenido de las páginas web: títulos, párrafos, enlaces, imágenes o formularios. No es un lenguaje de programación. Hoy lo mantiene el WHATWG como HTML Living Standard, una especificación única que se actualiza continuamente. X XML XML (Extensible Markup Language) es un lenguaje de marcado del W3C, recomendación desde el 10 de febrero de 1998, que estructura datos en texto con etiquetas que define cada aplicación. Es legible por personas y máquinas, y sigue siendo la base de los sitemaps, los feeds RSS, los documentos de Office y la factura electrónica. C CSS CSS (Cascading Style Sheets, «hojas de estilo en cascada») es el lenguaje de estilos que define cómo se presentan los documentos HTML: colores, tipografías, espacios, maquetación y adaptación a cada pantalla. No es un lenguaje de programación, sino de presentación; es un estándar del W3C que interpretan todos los navegadores y separa el diseño del contenido. E Etiquetas HTML Las etiquetas HTML son las marcas entre los signos menor y mayor, como p (párrafo) o h1 (título), con las que el lenguaje HTML indica qué es cada parte de una página web: un título, un párrafo, un enlace, una imagen o un formulario. El navegador las interpreta para mostrar el contenido y los buscadores, para entender su estructura. H HTML Validator Un HTML validator (validador HTML) es una herramienta que comprueba si el código de una página cumple las reglas del estándar HTML y señala errores como etiquetas mal cerradas, atributos inválidos o elementos fuera de lugar. Importa porque un marcado correcto evita fallos de visualización, problemas de accesibilidad y metadatos que Google no llega a leer. X XPath XPath (XML Path Language) es un lenguaje de expresiones del W3C que sirve para localizar nodos dentro de un documento XML o HTML mediante rutas, como /html/body/h1. Es la base de XSLT y XQuery y se usa a diario para extraer datos, automatizar pruebas con Selenium y auditar webs en SEO.