Qué es XHTML

  • XHTML significa Lenguaje de marcado de hipertexto EXtensible
  • XHTML es una versión de HTML más estricta y más basada en XML.
  • XHTML es HTML definido como una aplicación XML
  • XHTML es compatible con todos los principales navegadores

Por qué XHTML?

XML es un lenguaje de marcas en el que todos los documentos deben marcarse correctamente (estar "bien formados").

XHTML fue desarrollado para hacer HTML más extensible y flexible para trabajar con otros formatos de datos (como XML). Además, los navegadores ignoran los errores en las páginas HTML e intentan mostrar el sitio web incluso si tiene algunos errores en el marcado. Entonces XHTML viene con un manejo de errores mucho más estricto.

Las más importantes diferencias entre HTML y XHTML

  • <!DOCTYPE> es obligatorio
  • El atributo xmlns en <html> es obligatorio
  • <html>, <head>, <title> y <body> son obligatorios
  • Los elementos siempre deben estar correctamente anidados
  • Los elementos siempre deben estar cerrados.
  • Los elementos siempre deben estar en minúsculas
  • Los nombres de los atributos siempre deben estar en minúsculas
  • Los valores de los atributos siempre se deben citar
  • La minimización de atributos está prohibida.

XHTML - <!DOCTYPE ....> es obligatorio

Un documento XHTML debe tener una declaración XHTML <!DOCTYPE>.

Los elementos <html>, <head>, <title> y <body> también deben estar presentes, y el atributo xmlns en <html> debe especificar el espacio de nombres xml para el documento.

Ejm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Title of document</title>
</head>
<body>

  some content here...

</body>
</html>
  • Los elementos XHTML deben estar correctamente anidados
  • En XHTML los elementos deben cerrarse obligatoriamente
  • Los elementos XHTML vacíos también deben cerrarse obligatoriamente
  • Los elementos XHTML deben escribirse en minúsculas
  • Los atributos de los elementos XHTML deben escribirse obligatoriamente en minúscula
  • Los valores de los atributos en XHTML deben estar acotados
  • La minimización de atributos XHTML está prohibida

Para el último apartado la sintaxis correcta sería

<input type="checkbox" name="vehicle" value="car" checked="checked" />
<input type="text" name="lastname" disabled="disabled" />

Y la incorrecta sería

<input type="checkbox" name="vehicle" value="car" checked />
<input type="text" name="lastname" disabled />