Saltar al contenido principal

XHTML vs HTML

Existen unas diferencias entre HTML y XHTML a nivel sintáctico y estructural. En general, los diseñadores web suelen trabajar con HTML. El XHTML es más apreciado por los desarrolladores, que valoran la regularidad adicional. De cualquier manera, los tres primeros puntos de la anterior lista se consideran una buena práctica y se suelen cumplir siempre.

Para que que el código HTML se pueda considerar XML bien formado, y por tanto, XHTML, tiene que cumplir:

  • Toda la página debe estar contenida en un elemento raíz <html>.
  • Los nombres de las etiquetas y atributos siempre se escriben en minúsculas.
  • El valor de los atributos, incluso los numéricos, siempre se encierra entre comillas.
  • En los atributos en los que el nombre coincide con su valor, no puede darse el valor por entendido, es decir, no se pueden comprimir. Este tipo de atributos no son muy habituales. Por ejemplo, <div value="value"></div> no es posible ponerlo como <div value></div>.
  • Todas las etiquetas deben cerrarse siempre. XHTML permite que, en lugar de abrir y cerrar de forma consecutiva la etiqueta (<br><br/>), se puede utilizar la sintaxis <br /> para indicar que es una etiqueta vacía que se abre y se cierra en ese mismo punto.

Por otro lado, hay que tener en cuenta que los navegadores no procesan HTML y XHTML exactamente igual:

  • Si un documento HTML contiene errores, el navegador intentará mostrar el mayor contenido posible.
  • Si un documento XHTML contiene algún error, el navegador no mostrará el documento.
MIME type

Un navegador web sabe si el documento que se está sirviendo es un HTML o un XHTML por el MIME (Multipurpose Internet Mail Extensions). MIME es una cabecera del protocolo HTTP que indica al navegador qué tipo de documento se está enviando.

El MIME para un documento HTML es el siguiente:

text/html

El MIME para un documento XHTML es alguno de los dos siguientes:

application/xhtml+xml
application/xml