whatwg spec all html xhtml html5

spec - Sintaxis HTML5-HTML vs XHTML



tags html5 (9)

Incluso si HTML5 es el camino a seguir para HTML, tenemos dos opciones como desarrolladores: sintaxis XHTML y sintaxis HTML. He estado utilizando XHTML como mi tipo de documento principal durante 5 o más años, así que estoy muy cómodo con él.

Pero mi pregunta es que no se permitirá la sintaxis xml, ¿hay alguna razón para seguir con una sintaxis XML válida? ¿Ganas algo yendo con uno sobre otro, además de preferencia (compatibilidad, etc.)? Personalmente, me sentiré un poco sucio al volver a no cerrar las etiquetas,
es una segunda naturaleza para mí ahora, pero ¿obtendré algo que me lleve a la sintaxis HTML?

Actualización: supongo que mi verdadera pregunta es ¿hay alguna razón para cambiar de sintaxis XHTML a HTML? He estado usando XHTML durante años y no estoy seguro si hay una razón para volver atrás. Compatibilidad con el navegador (IE a veces es finiky con la aplicación / xhtml + xml mime-type), etc.


Actualización: supongo que mi verdadera pregunta es ¿hay alguna razón para cambiar de sintaxis XHTML a HTML? He estado usando XHTML durante años y no estoy seguro si hay una razón para volver atrás. Compatibilidad con el navegador (IE a veces es finiky con la aplicación / xhtml + xml mime-type), etc.

Tienes que considerar realmente dos cosas. El idioma que está escribiendo y el idioma que está enviando. La web está definida por 3 componentes:

  • URI
  • Un recurso - Lenguaje de marcado (documento)
  • Un protocolo: HTTP (herramienta para gestionar el espacio de información)

Puede escribir un documento con una sintaxis XML en su escritorio, como usar XHTML. En este entorno específico, si le da la extensión ".xhtml" al nombre del archivo y lo abre con su navegador local, se analizará como XML. Si le da la extensión ".html" al nombre del archivo, se analizará como HTML. Básicamente en su herramienta de creación, es XML, pero esto ya no importa una vez que lo procesa con una herramienta.

En la Web, su recurso identificado por un URI se enviará con un tipo de mimet específico, la mayoría de las veces, en la actualidad, las personas usan texto / html. El tipo mimet define cómo el cliente (navegador, bot de motor de búsqueda, etc.) debe procesar su documento. Si está utilizando una sintaxis XML pero la envía con texto / html , el documento será procesado por un analizador html.

Para enviar sus documentos a través del cable como XML, debe configurar su servidor para enviarlo como application / xhtml + xml. (Nota: IE8 y las versiones anteriores no entienden qué es application / xhtml + xml y proponen el menú guardar).

El modelo HTML 5 Abstract ha sido diseñado de forma que casi puede escribirlo con una sintaxis html o una sintaxis xml en text / html. Casi porque incluso si escribe con una sintaxis XML (cierre de elementos vacíos, comillas alrededor de atributos, etc.) tendrá problemas para páginas complejas que llaman scripts y espacios de nombres, debido a la forma en que los analizadores XML y los analizadores de HTML se encargan de ellas.


Creo que mi verdadera pregunta es si hay alguna razón para cambiar de sintaxis XHTML a HTML. He estado usando XHTML durante años y no estoy seguro si hay una razón para volver atrás. Compatibilidad con el navegador (IE a veces es finiky con la aplicación / xhtml + xml mime-type), etc.

Como se mencionó en una respuesta anterior, text/html se analiza como HTML y application/xhtml+xml se analiza como XML. Por lo tanto, debe usar la sintaxis que coincida con el tipo MIME que utiliza.

Si ahora está sirviendo text/html pero usando la sintaxis XHTML, entonces debe arreglar su contenido para usar la sintaxis HTML5. Puede que ya esté cerca, ya que HTML5 permite la sintaxis de XMLesque /> elemento vacío para elementos vacíos (elementos que siempre están vacíos, como img y br ).

Si ahora está utilizando application/xhtml+xml , el soporte de IE sería una razón para cambiar a text/html y la sintaxis HTML si le importa soportar IE.

Intentar escribir documentos políglot que son correctos HTML5 y XHTML5 (para servir diferentes tipos MIME hacen diferentes navegadores con los mismos bytes de carga útil) es más difícil de lo que parece a primera vista y no vale la pena el problema.


La ventaja de la sintaxis XHTML es que es XML. Se puede analizar, comprender y manipular fácilmente. La sintaxis HTML es mucho más difícil de usar para los clientes.

¡Disparates! La especificación de HTML5 define cómo analizar el HTML de una manera que es relativamente fácil de implementar, y se están desarrollando analizadores listos para usar que se pueden integrar fácilmente en las cadenas de herramientas. Incluso es posible integrar un analizador HTML5 en una cadena de herramientas XML en lugar de un analizador XML.

Pero lo que necesita comprender es que, en la práctica, lo más probable es que use HTML de todos modos, incluso si cree que está utilizando XHTML basado en el DOCTYPE. Si su contenido se sirve como texto / html, en lugar de application / xhtml + xml u otro tipo XML MIME, su contenido se procesará como HTML.

Con HTML5, puede optar por utilizar la sintaxis solo HTML, lo que significa que solo es compatible con ser servido y procesado como texto / html. No es XML bien formado. O use sintaxis solo XHTML, lo que significa que es un XML bien formado, pero usa funciones XML que no son compatibles con HTML. O bien, puede escribir un documento Polyglot, que se ajuste y sea compatible con el procesamiento HTML y XHTML (en principio, esto es conceptualmente similar a escribir XHTML 1.0 que cumpla con las directrices del Apéndice C).


Al usar XHTML puede mezclarlo con otro contenido XML, fe MathML, SVG o su propio formato patentado, simplemente cambiando el espacio de nombres en algún momento. Además, puede incrustar XHTML dentro de otros documentos XML.

(bueno, en realidad MathML y ​​SVG también se pueden usar en HTML5 no XML, pero tienen un diseño especial)



La mayoría de los beneficios de XHTML no se han materializado . Si bien no lo recomendaría para nuevos proyectos, XHTML sirve como text / html parece ser bastante manejable y generalizada, siempre y cuando siga las pautas de compatibilidad . Probablemente no valga la pena cambiar ningún proyecto importante a la serialización HTML.


La ventaja de la sintaxis XHTML es que es XML. Se puede analizar, comprender y manipular fácilmente. La sintaxis HTML es mucho más difícil de usar para los clientes.

Pero, en última instancia, es solo una cuestión de sintaxis. Ambos formularios están permitidos para HTML5.


Me gusta XHTML, porque me obliga a escribir una buena página. Hay muchas ventajas para XHTML, porque los navegadores lo analizan más rápido y necesita crear XML bien formado en lugar de solo HTML. Además, necesita publicar una página con la application/xhtml+xml MIME Type application/xhtml+xml o no obtiene ninguna de las ventajas de la X. El único problema con XHTML es que no se mostrará en IE8 ni en versiones anteriores.