whatwg spec html xhtml

spec - xhtml vs html



HTML vs XHTML ¿sigue siendo importante? (7)

Elija uno y cúmplalo, y sea lo más obediente posible frente a otras limitaciones. No piense por un segundo, sin embargo, que HTML vs. XHTML es un tema más importante que hacer el trabajo y que el sitio esté en funcionamiento, porque eso es lo que generará los ingresos. Los usuarios no dan un vistazo sobre XHTML.

Me pregunto si debería molestarme en absoluto con el lenguaje de marcado, siempre y cuando produzca un marcado válido.

He leído artículos que señalan que HTML es la mejor opción y vienen directamente de la boca del caballo (¡los implementadores de navegadores!):

Otros artículos, de James Bennet, señalan otro punto: si no está sirviendo XHTML como XML, entonces no quiere XHTML sino HTML.

Así que pensé que si quería desencadenar el Modo Estándar, debería usar la validación estricta de HTML. Pero ese no es el caso más con al menos los navegadores más modernos (también conocido como todo excepto IE6): si tiene XHTML estricto válido todavía activa el modo compatible estándar, por lo tanto, siempre que produzca un marcado válido, ¿para qué molestarse?



Si realmente no te importa el soporte incompleto, prueba HTML 5. Mi respaldo sería HTML 4.01 Estricto, a menos que necesite algo como SVG en línea o similar, en cuyo caso es XHTML (se sirve como XML) hasta el final.


si va a xhtml, elija xhtml 1.0 y no xhtml 1.1, a menos que tenga la intención de publicarlo con un tipo mimet xml o xhtml correcto. En realidad, pensándolo mejor, tampoco hagas eso. Hay grandes desventajas paralizantes para servir xhtml 1.0 o 1.1 con el tipo mimet correcto. ¡El error más leve y se obtiene una pantalla amarilla de la muerte!

Las especificaciones de w3c dicen que está bien servir xhtml 1.0 como texto / html siempre y cuando siga ciertas reglas para la compatibilidad con versiones anteriores (principalmente en etiquetas de cierre automático, incluya un espacio antes de la barra diagonal / adelante.

Aparte de eso, hay otros argumentos a favor / en contra. Tiendo a usar xhtml debido a las diversas herramientas y bibliotecas que están disponibles que pueden analizar xml válidos, lo que hace posibles las transformaciones de xslt a / from xhtml. (¿útil?).

Otra cosa es que es posible analizar xml válido en flash, por lo que puede elegir xhtml para el reemplazo de contenido dinámico con una película flash, o bien cargar dinámicamente contenido xhtml en una película flash. O realmente, cualquier cosa que pueda leer xml puede leer xhtml. eso es un montón de cosas


Mi consejo es usar HTML4 Strict o HTML5. Válido, en modo estándar, con CSS para el diseño. Obtendrá todos los beneficios comúnmente asociados con XHTML, pero sin ninguno de los problemas.

Recuerde: XHTML DOCTYPE no habilita el análisis de documentos como XHTML . Solo habilita el modo estándar, el mismo que está disponible para HTML 4 Strict y HTML 5.

  • XHTML / 1.0 tiene semántica idéntica y soporte de CSS prácticamente idéntico a HTML 4.01.
  • Valid HTML 4.01 se analiza sin ambigüedades al igual que XHTML / 1.0 válido y bien formado.
  • XML DOM le brinda soporte de espacios de nombres, pero quita soporte para document.write y innerHTML .

Sin el tipo MIME XML correcto configurado en los encabezados HTTP (no el documento en sí) todo lo que obtiene es analizar todo como HTML y HTML DOM.

XHTML todavía no es compatible con Internet Explorer (incluido IE8). Lo mejor que puedes obtener en IE (y en Googlebot) es que XHTML se malinterpreta como HTML con errores de sintaxis (ya sea el 70% o el 30% de tu audiencia, es algo en lo que debes pensar).

Intente forzar a los sitios web "XHTML" a usar el modo XML real , y notará rápidamente que casi nadie usa XHTML. Simplemente le dan una bofetada a DOCTYPE incorrecto en su HTML:

Estas páginas "XHTML" solo funcionan porque generalmente se interpretan como HTML.


En la mayoría de los casos, no importa. De hecho, usar XHTML causa más dolor de cabeza. Sin embargo, hay algunas situaciones en las que se necesita XHTML. Puedo pensar en dos.

Primero, si desea usar SVG incrustado, necesita XHTML.

En segundo lugar, si desea usar HTML mark up como XML. En algún momento (por una razón desconocida), descubrí que mi solicitud AJAX verifica el código incluso cuando lo marque como html o texto. Y para evitarlo rápidamente, lo cambio a XHTML.

Eso es todo.


Siempre uso HTML 4.01 estricto por el momento. HTML 5 aún no es definitivo. Solía ​​ser un usuario acérrimo de XHTML, pero mis razones fueron grabadas y soy mucho más feliz y productivo.

Los argumentos para XHTML generalmente tienden hacia el "marcado más limpio" o sobre el marcado bien formado. Esto parece más como un argumento de hombre de paja, y no se sostiene bajo una paliza.

Si XHTML está garantizado para ser analizado por un analizador XML, generalmente no se verá más limpio que HTML 4.01 estricto (simplemente comparando doctypes estrictos).

Por un lado, tener que escribir URL como http://example.com/?foo=bar&baz=qux parece incómodo. Declarar los tipos de entidad envejece.

La otra cosa es que el marcado generalmente no se traduce notablemente bien como un árbol XML, pero un árbol Dom está bien.

HTML 4.01 strict es moderadamente más fácil de usar y crea sitios válidos. No tiene que poner etiquetas de cierre sin sentido en elementos como <img>, <br> o <link>. Solo poner la barra invertida no cambia nada de ningún significado en particular.

Douglas Crockford, de Yahoo y todo markupy, dice que es mejor pensar en el marcado como un formato de entrega de aplicaciones.

Como tal, lo que será más fácil de entregar y más robusto y confiable. Esto es lo que finalmente tomó la decisión por mí. Todos los navegadores web manejan XHTML de manera diferente y requieren que se corte el encabezado de tipo de contenido. Si usa "text / xhtml" o "text / xml" obtendrá resultados diferentes.

Además, "text / xml" no funciona bien con REST porque eso debería significar la serialización XML de los datos y no una página de marcado formateada (Safari lo equivoca, en mi opinión, al solicitar texto / xml antes de text / html como tipos de contenido deseados!)

Por lo tanto, use HTML 4.01 porque:

  1. Funciona de manera más similar en todos los navegadores
  2. No requiere manejo basado en el tipo de contenido (text / html hace el truco en general)
  3. No es tan frágil como XHTML
  4. HTML 5 no ofrece nada significativo sobre HTML 4.01 estricto