2009-01-05 14 views
19

Me pregunto si debería preocuparme en absoluto por el lenguaje de marcado, siempre que produzca un marcado válido.HTML vs XHTML ¿sigue siendo importante?

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

Otros Los 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 modo compatible con el estándar vez debería usar HTML validación estricta. 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?

+0

Algunas otras preguntas sobre este tema: - [¿cuál es la principal diferencia entre xhtml y html? ¿Cuál es mejor en tu opinión y por qué?]] (http://stackoverflow.com/questions/195840/whats-the-main-differences-between-xhtml-and-html-which-one-is-better-in- your-op) - [HTML 5 versus XHTML 1.0 Transitional?] (http://stackoverflow.com/questions/256953/html-5-versus-xhtml-1-0-transitional) - [¿El cumplimiento con XHTML no tiene sentido?] (http://stackoverflow.com/questions/101822/is-xhtml-compliance-pointless) Hay bastantes más preguntas sobre ese tema (o uno similar), por ejemplo usando la siguiente búsqueda en SO – M4N

+0

Probablemente sería más útil si sus enlaces contenían la pregunta real en lugar de solo una URL. – cletus

+0

Además, esto es más un comentario que una respuesta. –

Respuesta

1

Me gustaría ir a xHTML, sobre todo porque el código es más limpio y fácil de mantener.

pero aquí hay algunos puntos interesantes sobre por qué no usar XHTML http://meiert.com/en/blog/20081219/html-vs-xhtml/

+0

Puede haber muchas razones para elegir HTML versus XHTML. El tamaño del documento, en mi opinión, no está en ninguna parte cerca de una consideración superior. –

+0

Exactamente, NUNCA usaría HTML alguna vez cuando recibo un nuevo proyecto web. –

+0

Puede escribir código HTML muy limpio, lo cual está bien siempre que no necesite tratarlo como XML (XSLT y demás). – PhiLho

4

Escoja uno y se adhieren a ella, y ser lo más compatible posible de cara a otras restricciones. 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.

+0

Sí, mi punto es que no me importa nada, siempre y cuando el navegador lo represente correctamente, pero puede haber algún costo oculto al no elegir lo que los navegadores manejan mejor. En otras palabras: ¿seguir con HTML me dará menos problemas de renderización/css? – Lorenzo

+0

No necesariamente menos problemas de procesamiento/CSS de cualquier manera. Si necesita la naturaleza xml de XHTML por alguna razón, vaya con eso, de lo contrario, usar html es más tolerante a los errores que XHTML. – Alohci

0

Si realmente no te importa la compatibilidad incompleta, prueba con 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 (servido como XML) hasta el final .

4

si elige xhtml, elija xhtml 1.0 y no xhtml 1.1, a menos que tenga la intención de utilizar un tipo de letra 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 W3C dicen que está bien para servir XHTML 1.0 como text/html, siempre y cuando siga ciertas reglas para la compatibilidad con versiones anteriores (sobre todo en las etiquetas de cierre automático, incluye un espacio antes de la barra/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álido, haciendo que las transformaciones de xslt a/from xhtml sean posibles. (¿Ú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 el contenido xhtml en un fla sh película. O realmente, cualquier cosa que pueda leer xml puede leer xhtml. eso es un montón de cosas

+0

Transformo HTML <> HTML felizmente usando PHP's DOMDocument :: loadHTML y el modo de salida HTML de XSLT. Es aún más robusto, porque no tiene que configurar el catálogo XML para analizar entidades con nombre sin tocar los servidores W3C. – Kornel

+0

mi punto es que algunas herramientas, como flash, no tienen incorporado un analizador html completo. – Breton

+1

Es intencional que los navegadores se nieguen a analizar el xhtml incorrectamente formateado servido como XML. Si todos hicieran eso, la calidad del código en la web sería mucho mejor. – Casebash

2

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 una semántica idéntica y prácticamente idéntica compatibilidad con CSS como HTML 4.01.
  • Valid HTML 4.01 se analiza sin ambigüedades como 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 establecido en encabezados HTTP (no el documento en sí) todo lo que obtiene es el análisis de todo como HTML y HTML DOM.

XHTML aún no es compatible con Internet Explorer en todo (incluido IE8). Lo mejor que puedes obtener en IE (y Googlebot) es XHTML malinterpretado como HTML con errores de sintaxis (ya sea el 70% o 30% de tu público, es algo en lo que debes pensar).

Try forcing "XHTML" websites to use actual XML mode, y rápidamente notará que casi nadie usa XHTML. Ellos simplemente una palmada DOCTYPE equivocado en su HTML:

Estas páginas "Valid" sólo funcionan porque están generalmente interpretados como HTML.

23

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 se garantiza que XHTML será analizado por un analizador XML, por lo general no se verá más limpio que HTML 4.01 estricto (solo se comparan los estrictos doctypes).

Por un lado, tener que escribir URL como http://example.com/?foo=bar&amp;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 <enlace>. 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 juega muy bien con el descanso debido a que debe significar la serialización XML de los datos y no una página con formato de marcado (Safari obtiene esta equivocado, en mi opinión, mediante la solicitud de texto/xml antes text/html como tipos de contenido deseados)

Por lo tanto, el uso de HTML 4.01 ya que:!

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

¿Cómo es XHTML frágil? La única diferencia real en mi humilde opinión es que XHTML puede ser analizado por analizadores XML, que a menudo es una gran ventaja. – singpolyma

+1

@singpolyma: Estoy de acuerdo, XHTML no es frágil, es * estricto *. Lo cual es algo bueno en mi humilde opinión porque te obliga a ser lo más preciso posible acerca de lo que quieres. –

+0

@jshirley: +1 y bien dicho. También agregaría: 5. En HTML, aún puede usar el útil y rápido documento JS function.write cite: http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite. 6. en HTML no tiene que perder el tiempo envolviendo script que podría contener char reservado en código CDATA. –

0

En la mayoría de 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.

En primer lugar, si desea utilizar SVG embebido, necesita XHTML.

En segundo lugar, si desea utilizar 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 marqué como html o texto. Y para evitarlo rápidamente, lo cambio a XHTML.

Eso es todo.

Cuestiones relacionadas