{"id":190,"date":"2011-03-01T13:48:20","date_gmt":"2011-03-01T11:48:20","guid":{"rendered":"http:\/\/webposible.com\/xposible\/?p=190"},"modified":"2020-01-28T18:15:17","modified_gmt":"2020-01-28T16:15:17","slug":"lenguajes-de-marcado-en-la-web-y-mime-type","status":"publish","type":"post","link":"http:\/\/webposible.com\/xposible\/2011\/lenguajes-de-marcado-en-la-web-y-mime-type\/","title":{"rendered":"Lenguajes de marcado en la web y MIME Type"},"content":{"rendered":"<p>Saco de la nevera un art\u00edculo que llevo cerca de dos a\u00f1os d\u00e1ndole vueltas (ya est\u00e1 bien). Personalmente me ha servido para tener m\u00e1s claro ciertas cosas que ignoraba y para recopilar algunas citas y v\u00ednculos: trata sobre <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym>, <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>, <code>text\/html<\/code> y <code>application\/xhtml+xml<\/code>. Es excelente si sufres insomnio.<\/p>\n<h3><acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> y <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym><\/h3>\n<p>\u00bfQu\u00e9 diferencia hay entre <code>text\/html<\/code> y <code>application\/xhtml+xml<\/code>? \u00bfPorqu\u00e9 con <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> s\u00f3lo puede usar <code>text\/html<\/code> y con <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> puede usar <code>text\/html<\/code>, <code>application\/xhtml+xml<\/code>, <code>application\/vnd.wap.xhtml+xml<\/code>, <code>text\/xml<\/code>, <code>application\/xml<\/code>,&#8230;? \u00bfPor qu\u00e9 los desarrolladores web con un m\u00ednimo de conocimiento y experiencia suelen tener cierta aversi\u00f3n a <span xml:lang=\"en\">Internet Explorer<\/span>?<\/p>\n<p>Son preguntas que no se responder\u00e1n aqu\u00ed, pero tendr\u00e1s pistas. Y casi ni se hablar\u00e1 sobre <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym>5. Como si no existiese.<\/p>\n<h4><acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> y <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>: a tener en cuenta<\/h4>\n<p>Una de las ventajas-desventajas del <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> es su <em>permisividad<\/em> con los errores. Si hay algo que el navegador no entiende, simplemente lo ignora. Eso explica que cualquiera pueda hacer una p\u00e1gina web, incluso con un editor de textos de ofim\u00e1tica. La p\u00e1gina, puede que incluso se visualice en un navegador. Aunque el c\u00f3digo generado probablemente una chapuza. Algo similar puede ocurrir si usamos los editores <span xml:lang=\"en\">What You See Is What You Get<\/span> (lo que ves es lo que obtienes), si se hacen p\u00e1ginas sin ver ni entender el c\u00f3digo.<\/p>\n<p>Como consecuencia, la sintaxis que se puede utilizar en <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym>, podemos denominarla dualmente como sencilla-compleja:<\/p>\n<ul>\n<li>Sencilla, porque casi cualquier c\u00f3digo que se publique, se visualiza en un navegador (por ejemplo <code>&lt;p class=\"description\"&gt;P\u00e1rrafo&lt;\/p&gt;<\/code>, <code>&lt;P class=description&gt;P\u00e1rrafo<\/code>, <code>&lt;P CLASS='description'&gt;P\u00e1rrafo&lt;\/p&gt;<\/code>,&#8230; da igual si se usan may\u00fasculas y min\u00fasculas en los elementos y atributos, se el valor de los atributos va entre comillas o no,&#8230;). De ah\u00ed que mucha gente pueda decir que <q>sabe <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym><\/q>, y que la web tenga la difusi\u00f3n actual.<\/li>\n<li>Pero a la vez es complejo: es m\u00e1s complicado aprenderlo (demasiadas opciones, falta de una sintaxis \u00fanica,&#8230;), es dif\u00edcil de mantener el c\u00f3digo, y los navegadores tienen que hacer un esfuerzo mayor para que -sabiendo que el c\u00f3digo generalmente no es muy bueno-, se muestre \u00abalgo\u00bb en los perif\u00e9ricos de salida (pantalla, altavoz, terminal braille,&#8230;)<\/li>\n<\/ul>\n<p>Por otro lado, tenemos <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>: la sintaxis es \u00fanica (de los ejemplos anteriores, s\u00f3lo es v\u00e1lido <code>&lt;p class=\"description\"&gt;P\u00e1rrafo&lt;\/p&gt;<\/code>). Pueda que exija un poco m\u00e1s de cuidado y atenci\u00f3n en los detalles -sobre todo, si alguien est\u00e1 acostumbrado a un mal c\u00f3digo de <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> -, pero si sabes <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> de verdad, entonces sabes <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym>. Desde un punto de vista did\u00e1ctico, es recomendable aprender con la sintaxis de <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>, y usar un validador de c\u00f3digo. Usarlo mucho.<\/p>\n<p>Por si acaso, y aunque se tratar\u00e1 con m\u00e1s profundidad el asunto de <code>text\/html<\/code> y <code>application\/xhtml+xml<\/code> m\u00e1s adelante, aqu\u00ed va una introducci\u00f3n esquem\u00e1tica:<\/p>\n<ul>\n<li><code>text\/html<\/code> y <code>application\/xhtml+xml<\/code> son dos <a title=\"Informaci\u00f3n sobre MIME Type en la Wikipedia\" href=\"http:\/\/es.wikipedia.org\/wiki\/Multipurpose_Internet_Mail_Extensions\"><acronym title=\"Multipurpose Internet Mail Extensions\" xml:lang=\"en\">MIME<\/acronym> <span xml:lang=\"en\">Type<\/span><\/a>, los m\u00e1s utilizados para p\u00e1ginas webs.<\/li>\n<li>Los <acronym title=\"Multipurpose Internet Mail Extensions\" xml:lang=\"en\">MIME<\/acronym> <span xml:lang=\"en\">Type<\/span> se pueden configurar desde el servidor y tambi\u00e9n se puede modificar mediante lenguajes de programaci\u00f3n.<\/li>\n<li><code>text\/html<\/code> se usa para todas las p\u00e1ginas <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> y las p\u00e1ginas <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0 que aunque usan la sintaxis de <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>, son en la pr\u00e1ctica, p\u00e1ginas <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> normales y corrientes. En principio es as\u00ed para ser compatible con los navegadores m\u00e1s antiguos (e <span xml:lang=\"en\">Internet Explorer<\/span> hasta la versi\u00f3n 9).<\/li>\n<li><code>application\/xhtml+xml<\/code> se usa para documentos <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> que se comportan como documentos <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> en navegadores m\u00e1s avanzados (donde, no est\u00e1 <span xml:lang=\"en\">Internet Explorer<\/span> hasta la versi\u00f3n 9) y una de sus caracter\u00edsticas es que es <em>extensible<\/em> (se pueden a\u00f1adir nuevos m\u00f3dulos como <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>+<acronym title=\"Resource Description Framework attribute\">RDFa<\/acronym>, <a xml:lang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-role\/\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Role Attribute Module<\/a> o <a xml:lang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-access\/\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Access Module<\/a>) y se puede combinar con otros lenguajes (<acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> como <acronym title=\"Scalable Vector Graphics\" xml:lang=\"en\">SVG<\/acronym>, <acronym title=\"Mathematical Markup Language\" xml:lang=\"en\">MathML<\/acronym> \u00f3 <acronym title=\"Synchronized Multimedia Integration Lenguage\" xml:lang=\"en\">SMIL<\/acronym>). Se emplea <code>application\/xhtml+xml<\/code> obligatoriamente en <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.1 y se puede usar tambi\u00e9n en <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0.<\/li>\n<\/ul>\n<h4>Si los navegadores fuesen estrictos con las p\u00e1ginas <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>, la Web, se romper\u00eda<\/h4>\n<p>Ojo, que hay un falso alarmismo en los siguientes p\u00e1rrafos: <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> servido como <code>text\/html<\/code> es equivalente a <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym>. Y sabemos que cualquier c\u00f3digo <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym>, por malo y cutre que sea, se mostrar\u00e1 en el navegador aunque el resultado no sea el deseado por el <em>desarrollador web<\/em> (leer <em>desarrollador web<\/em> con tono ir\u00f3nico). Pero sigamos con el alarmismo parcialmente injustificado.<\/p>\n<p>Siendo puristas &#8211; con <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> se deber\u00eda de ser muy purista, especialmente cuando <strong>no<\/strong> se env\u00eda como <code>text\/html<\/code>, es decir, lo trata como un documento <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> de verdad &#8211; el c\u00f3digo tiene que ser <strong>siempre v\u00e1lido<\/strong>. Te\u00f3ricamente, no se deber\u00edan tener errores. Pero,&#8230; \u00bfqu\u00e9 ocurrir\u00eda si los navegadores siempre fuesen estrictos, y no mostrasen las p\u00e1ginas <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> que fuesen incorrectas?. O dicho de otra manera, \u00bfqu\u00e9 ocurrir\u00eda si los navegadores interpretasen las p\u00e1ginas webs servidas como <code>text\/html<\/code> (ya sea <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> o <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>) como lo hacen con las p\u00e1ginas servidas como <code>application\/xhtml+xml<\/code>? Te lo puedes imaginar: teniendo en cuenta que son excepcionales desde un punto de vista estad\u00edstico las webs que tienen su c\u00f3digo correcto, ser\u00edan las \u00fanicas que se mostrasen correctamente. \u00bfEl resto? Tal vez s\u00f3lo se ver\u00eda una p\u00e1gina de error, como el conocido <span xml:lang=\"en\"><acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> Parsing Error<\/span> de <span xml:lang=\"en\">Mozilla<\/span>.<\/p>\n<p>Si los navegadores fuesen puristas, la Web, directamente, <strong>se romper\u00eda<\/strong>. Si, supongamos, el 95% de las p\u00e1ginas webs no se mostrasen correctamente en los navegadores, tendr\u00eda un impacto cuanto menos, apocal\u00edptico (para la web). \u00bfUn 95% de p\u00e1ginas inv\u00e1lidas no es una exageraci\u00f3n? Pues no, en todo caso, es incluso optimista. Seg\u00fan el estudio <acronym title=\"Metadata Analysis and Mining Application\" xml:lang=\"en\">MAMA<\/acronym> elaborado por <a xml:lang=\"en\" hreflang=\"en\" href=\"http:\/\/dev.opera.com\/\">Opera<\/a> durante el a\u00f1o 2008, s\u00f3lo el 4,13% de las p\u00e1ginas validadas en su numerosa muestra (m\u00e1s de 3,5 millones de p\u00e1ginas) ten\u00edan su c\u00f3digo correcto (puedes leerlo en <acronym title=\"Metadata Analysis and Mining Application\" xml:lang=\"en\">MAMA<\/acronym>: Markup validation report).<\/p>\n<p>En el estudio se hace referencia a las p\u00e1ginas webs en general, sin distinguir entre <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> y <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>. Se podr\u00eda pensar que puede haber diferencias significativas, y aquellas p\u00e1ginas publicadas en <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>, suelen tener menos errores&#8230; pero no. De aquellas webs que incluyen el icono de conformidad de c\u00f3digo v\u00e1lido (puedes verlos <a xml:lang=\"en\" hreflang=\"en\" href=\"http:\/\/www.w3.org\/QA\/Tools\/Icons\">The W3C \u00abvalidation\u00bb icons<\/a>), el porcentaje de p\u00e1ginas que mienten &#8211; es decir, que no tienen el c\u00f3digo correcto -, es muy similar en <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> y <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>: alrededor del 50%. Lo cierto es que incluir un icono de conformidad hoy en d\u00eda tiene muy poco valor, ya sea para <em>confirmar<\/em> que el c\u00f3digo es v\u00e1lido o que la web cumple los criterios de accesibilidad indicados. Vale, estamos en el 2011 y el estudio es del a\u00f1o 2008, pero honestamente, no creo que las cosas hayan cambiado mucho.<\/p>\n<p>Por eso los navegadores tienen que intentar <em>adivinar<\/em> como interpretar m\u00e1s o menos el c\u00f3digo de la vida real, por muy malo que sea y  por muchos errores que tenga. Y por supuesto, tienen la obligaci\u00f3n moral &#8211; ya el  <acronym title=\"World Wide Web Consortium\" xml:lang=\"en\">W3C<\/acronym> recomienda, no obliga -, de cumplir las Recomendaciones (la denominaci\u00f3n del <acronym title=\"World Wide Web Consortium\" xml:lang=\"en\">W3C<\/acronym> equivalente a est\u00e1ndar) que publica. Algunos aspectos de las recomendaciones, tienen una tolerancia al error <em>asumible<\/em>, en el sentido de que <q>no pasa nada<\/q> si no funciona: no es importante, o existen alternativas para solucionarlas. Pero en otros casos, las consecuencias pueden ser cr\u00edticas y la transcendencia e importancia sobrepasan los tolerable. Uno de esos casos es el nulo soporte de <span xml:lang=\"en\">Internet Explorer<\/span>, desde su versi\u00f3n 6 hasta la actual, la 8, para <code>application\/xhtml+xml<\/code> (menos mal que en la versi\u00f3n 9 de Internet Explorer <em>por fin<\/em> lo soporta).<\/p>\n<h3><code>text\/html<\/code> y <code>application\/xhtml+xml<\/code><\/h3>\n<h4><code>text\/html<\/code> y <code>application\/xhtml+xml<\/code>: un poco de historia<\/h4>\n<p>Tras la introducci\u00f3n podemos empezar diciendo que para <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> 4.01 (1999) el <acronym title=\"World Wide Web Consortium\" xml:lang=\"en\">W3C<\/acronym> especific\u00f3 que las p\u00e1ginas se enviasen con el <acronym title=\"Multipurpose Internet Mail Extensions\" xml:lang=\"en\">MIME<\/acronym> <span xml:lang=\"en\">Type<\/span> <code>text\/html<\/code>.<\/p>\n<p>M\u00e1s tarde, surgi\u00f3 <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0. En la primera edici\u00f3n (a\u00f1o 2000) todav\u00eda no estaba claro que <acronym title=\"Multipurpose Internet Mail Extensions\" xml:lang=\"en\">MIME<\/acronym> <span xml:lang=\"en\">Type<\/span> se iba a utilizar (leer <a xml:lang=\"en\" hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/2000\/REC-xhtml1-20000126\/#media\">XHTML 1.0 (<span xml:lang=\"es\">primera edici\u00f3n<\/span>): 5.1 Internet Media Type<\/a> para verlo en la especificaci\u00f3n). Pero en la segunda edici\u00f3n, hay dos opciones:<\/p>\n<ul>\n<li>enviarlo como <code>text\/html<\/code> para ser compatible con los navegadores m\u00e1s antiguos.<\/li>\n<li>o bien enviarlo como <code>application\/xhtml+xml<\/code> &#8211; definido en <a hreflang=\"en\" type=\"text\/plain\" href=\"http:\/\/ietf.org\/rfc\/rfc3236.txt\">RFC3236<\/a> (2002) -, para aquellos navegadores que interpretaban correctamente <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym>, y que pod\u00edan aprovechar sus ventajas.<\/li>\n<\/ul>\n<p>Entre los navegadores que interpretaban correctamente las p\u00e1ginas <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> servidos como <code>application\/xhtml+xml<\/code> &#8211; hablamos del 2002 -, estaban pr\u00e1cticamente todos los de la \u00e9poca y los que surgieron poco despu\u00e9s. Hablamos de los tristemente difuntos <span xml:lang=\"en\">Mozilla<\/span> y <span xml:lang=\"en\">Netscape<\/span>, adem\u00e1s de los que todav\u00eda siguen en activo: <span xml:lang=\"en\">Firefox, Opera, Camino, Safari<\/span>&#8230; Incluso aquellos navegadores para m\u00f3viles que soportaban <acronym title=\"Wireless Application Protocol\" xml:lang=\"en\">WAP<\/acronym>2, (insisto, hablamos del 2002)&#8230; todos interpretaban correctamente las p\u00e1ginas <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> servidas como <code>application\/xhtml+xml<\/code>.<\/p>\n<p>\u00bfTodos? Todos&#8230;, excepto <span xml:lang=\"en\">Internet Explorer<\/span>. A d\u00eda de hoy, a\u00f1o 2011, con la versi\u00f3n 8 de su navegador a punto de ser reemplazada (al menos en teor\u00eda, todav\u00eda hay muchas versiones 6), en <span xml:lang=\"en\">Microsoft<\/span> ha estado ignorando un est\u00e1ndar que tiene ya 9 a\u00f1os. Desde la versi\u00f3n 6 <acronym title=\"Service Pack\" xml:lang=\"en\">SP<\/acronym> 1, hasta la versi\u00f3n 8 (incluida). Sin comentarios.<\/p>\n<h4>Posibilidades de <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> servido como <code>application\/xhtml+xml<\/code><\/h4>\n<p><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> servido como <code>application\/xhtml+xml<\/code> es interpretado como un documento <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> <em>de verdad<\/em>. Gracias a la <strong>extensibilidad<\/strong> mediante la modularizaci\u00f3n de <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> &#8211; por la <strong>X<\/strong> inicial -, tiene las siguientes posibilidades:<\/p>\n<ul>\n<li>Lo t\u00edpico, combinar <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.1 con est\u00e1ndares cl\u00e1sicos como <acronym title=\"Scalable Vector Graphics\" xml:lang=\"en\">SVG<\/acronym>, <acronym title=\"Mathematical Markup Language\" xml:lang=\"en\">MathML<\/acronym> \u00f3 <acronym title=\"Synchronized Multimedia Integration Lenguage\" xml:lang=\"en\">SMIL<\/acronym>.<\/li>\n<li>Validaci\u00f3n <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym>.<\/li>\n<li>Desde el punto de vista de la Web Sem\u00e1ntica, podemos usar <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>+<acronym title=\"Resource Description Framework attribute\">RDFa<\/acronym>, que ya es recomendaci\u00f3n del <acronym title=\"World Wide Web Consortium\" xml:lang=\"en\">W3C<\/acronym>, y nos permite a\u00f1adir informaci\u00f3n sem\u00e1ntica de gran riqueza (ver <a xml:lang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-rdfa-primer\/\"><acronym title=\"Resource Description Framework attribute\">RDFa<\/acronym> Primer<\/a> y <a xml:lang=\"en\" href=\"http:\/\/www.w3.org\/TR\/rdfa-syntax\/\"><acronym title=\"Resource Description Framework attribute\">RDFa<\/acronym> in <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>: Syntax and Processing<\/a>) \u00f3 usar <a xml:lang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-role\/\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Role Attribute Module<\/a>, tambi\u00e9n relacionado, entre otros aspectos, con la accesibilidad y adaptaci\u00f3n a diferentes dispositivos. <span xml:lang=\"en\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Role Attribute Module<\/span> es m\u00e1s limitado pero \u00fatil (ojo, que de momento s\u00f3lo es un borrador de trabajo).<\/li>\n<li>Desde el punto de vista de la accesibilidad, podemos usar <a xml:lang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-access\/\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Access Module<\/a>, aunque todav\u00eda es un borrador de trabajo.<\/li>\n<li>&#8230; y lo que vaya saliendo, porque la modularizaci\u00f3n de <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> tiene muchas posibilidades (digo yo, que con <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym>5 no se cargar\u00e1n <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>, \u00bfno?).<\/li>\n<\/ul>\n<h4>A tener en cuenta cuando usamos <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> servido como <code>application\/xhtml+xml<\/code><\/h4>\n<p>Se supone que antes de desarrollar en <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>, has le\u00eddo <a href=\"http:\/\/www.w3.org\/TR\/xhtml1\/\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0 The Extensible HyperText Markup Language<\/a> y especialmente la secci\u00f3n <a xml:lang=\"en\" hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml1\/#guidelines\">C. <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> 1.0 The Extensible HyperText Markup Language Compatibility Guidelines<\/a>. Y lo m\u00e1s importante: <strong>entiendes todo<\/strong>. Por descontado, tienes la buena costumbre de comprobar que tu c\u00f3digo es v\u00e1lido (por ejemplo en <a xml:lang=\"en\" hreflang=\"en\" href=\"http:\/\/validator.w3.org\/\">The <acronym title=\"World Wide Web Consortium\" xml:lang=\"en\">W3C<\/acronym> Markup Validation Service<\/a>).<\/p>\n<p>En cualquier caso, al usar <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> servido como <code>application\/xhtml+xml<\/code>, hay que tener presente algunos aspectos muy importantes, que en ocasiones inconvenientes, que puedes encontrar en <a href=\"http:\/\/hixie.ch\/advocacy\/xhtml\">Hixie: Sending <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> as <code>text\/html<\/code> Considered Harmful<\/a>, secciones \u00ab<span xml:lang=\"en\">SPECIFIC PROBLEMS<\/span>\u00bb y \u00ab<span xml:lang=\"en\">The Myth of \u00abHTML-compatible XHTML 1.0 documents<\/span>\u00bb (por cierto, \u00a1est\u00e1 en formato txt!). El art\u00edculo de <span xml:lang=\"en\">Hixie<\/span>, actual editor de la especificaci\u00f3n de <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> 5, es una referencia importante al recopilar las particularidades de <code>application\/xhtml+xml<\/code>, y emite conclusiones discutibles. Pero t\u00fa, inteligente lector, tienes la capacidad de sacar tus propias conclusiones. Personalmente creo, que recomendar a los novatos no aprender <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> es una estupidez de las gordas. A\u00fan as\u00ed, repito: el art\u00edculo es una referencia, y muy importante, sobre <code>application\/xhtml+xml<\/code>.<\/p>\n<h3>Citas del W3C sobre <code>text\/html<\/code> y <code>application\/xhtml+xml<\/code><\/h3>\n<h4>Especificaci\u00f3n de <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> 4.01 (24 de diciembre de 1999)<\/h4>\n<blockquote xml:lang=\"en\" cite=\"http:\/\/www.w3.org\/TR\/html401\/conform.html#h-4.3\"><p><acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> documents are sent over the Internet as a sequence of bytes accompanied by encoding information (described in the section on <a href=\"http:\/\/www.w3.org\/TR\/html401\/charset.html#encodings\">character encodings<\/a>). The structure of the transmission, termed a <span class=\"index-def\" title=\"message entity\"><dfn>message entity,<\/dfn><\/span> is defined by <a class=\"normref\" rel=\"biblioentry\" href=\"http:\/\/www.w3.org\/TR\/html401\/references.html#ref-RFC2045\">[RFC2045]<\/a> and <a class=\"normref\" rel=\"biblioentry\" href=\"http:\/\/www.w3.org\/TR\/html401\/references.html#ref-RFC2616\">[RFC2616]<\/a>. A message entity with a <a href=\"http:\/\/www.w3.org\/TR\/html401\/types.html#type-content-type\">content type<\/a> of \u00ab<code>text\/html<\/code>\u00bb represents an <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> document.<\/p><\/blockquote>\n<p><a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/html401\/conform.html#h-4.3\"><cite><acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> 4.01 Specification : 4.3 The <code>text\/html<\/code> content type<\/cite><\/a><\/p>\n<h4>Segunda edici\u00f3n de la especificaci\u00f3n de <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0 (1 de agosto de 2002)<\/h4>\n<blockquote xml:lang=\"en\" cite=\"http:\/\/www.w3.org\/TR\/xhtml1\/#media\"><p><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Documents which follow the guidelines set forth in <a href=\"http:\/\/www.w3.org\/TR\/xhtml1\/#guidelines\">Appendix C<\/a>, \u00ab<acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> Compatibility Guidelines\u00bb may be labeled with the Internet Media Type \u00ab<code>text\/html<\/code>\u00bb [<a class=\"nref\" href=\"http:\/\/www.w3.org\/TR\/xhtml1\/#ref-rfc2854\">RFC2854<\/a>], as they are compatible with most <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> browsers. Those documents, and any other document conforming to this specification, may also be labeled with the Internet Media Type \u00ab<code>application\/xhtml+xml<\/code>\u00bb as defined in [<a class=\"nref\" href=\"http:\/\/www.w3.org\/TR\/xhtml1\/#ref-rfc3236\">RFC3236<\/a>]. For further information on using media types with <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>, see the informative note [<a class=\"nref\" href=\"http:\/\/www.w3.org\/TR\/xhtml1\/#ref-xhtmlmime\">XHTMLMIME<\/a>].<\/p><\/blockquote>\n<p xml:lang=\"en\"><cite><a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml1\/#media\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>&#x2122; 1.0 The Extensible HyperText Markup Language (Second Edition): 5.1. Internet Media Type<\/a><\/cite><\/p>\n<h4><span xml:lang=\"en\"><acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> and <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Frequently Answered Questions<\/span> (21 de julio del 2004).<\/h4>\n<blockquote xml:lang=\"en\" cite=\"http:\/\/www.w3.org\/MarkUp\/2004\/xhtml-faq\/\"><p><strong>Why is it allowed to send <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0 documents as <code>text\/html<\/code>?<\/strong><\/p>\n<p><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> is an <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> format; this means that strictly speaking it should be sent with an <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym>-related media type (<code>application\/xhtml+xml<\/code>, <code>application\/xml<\/code>, or <code>text\/xml<\/code>). However <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0 was carefully designed so that with care it would also work on legacy <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> user agents as well. If you follow some simple guidelines, you can get many <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0 documents to work in legacy browsers. However, legacy browsers only understand the media type text\/html, so you have to use that media type if you send <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0 documents to them. But be well aware, sending <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> documents to browsers as <code>text\/html<\/code> means that those browsers see the documents as <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> documents, not <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> documents.<\/p>\n<p><strong>Which browsers accept the media type <code>application\/xhtml+xml<\/code>?<\/strong><\/p>\n<p>Browsers known to us include all Mozilla-based browsers, such as Mozilla,Netscape 5 and higher, Galeon and Firefox, as well as Opera, Amaya, Camino, Chimera, DocZilla, iCab, Safari, and all browsers on mobile phones that accept <acronym title=\"Wireless Application Protocol\" xml:lang=\"en\">WAP<\/acronym>2. In fact, any modern browser. Most accept <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> documents as <code>application\/xml<\/code> as well. See the <a href=\"http:\/\/www.w3.org\/People\/mimasa\/test\/xhtml\/media-types\/results\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Media-type test<\/a> for details.<\/p>\n<p><strong>Does Microsoft Internet Explorer accept the media type <code>application\/xhtml+xml<\/code>?<\/strong><\/p>\n<p>No. However, there is a trick that allows you to serve <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>1.0 documents to Internet Explorer as <code>application\/xml<\/code>.<\/p>\n<p>Include at the top of your document the line in bold here:<\/p>\n<pre><code>&lt;?xml version=\"1.0\" encoding=\"iso-8859-1\"?&gt;\r\n<strong>&lt;?xml-stylesheet type=\"text\/xsl\" href=\"copy.xsl\"?&gt;<\/strong>\r\n&lt;!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN\"\r\n\t\"http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd\"&gt;\r\n\r\n\t&lt;html xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"&gt;\r\n\t&lt;head&gt;<\/code><\/pre>\n<p>where <code>copy.xsl<\/code> is a file that contains the following:<\/p>\n<pre><code>&lt;stylesheet version=\"1.0\"\r\n\txmlns=\"http:\/\/www.w3.org\/1999\/XSL\/Transform\"&gt;\r\n\t&lt;template match=\"\/\"&gt;\r\n\t\t&lt;copy-of select=\".\"\/&gt;\r\n\r\n\t&lt;\/template&gt;\r\n&lt;\/stylesheet&gt;<\/code><\/pre>\n<p>Note that this file must be on the same site as the document referring to it.<\/p>\n<p>Although you are serving the document as <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym>, and it gets parsed as <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym>, the browser thinks it has received <code>text\/html<\/code>, and so your <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0 document must follow many of the guidelines for serving to legacy browsers.<\/p>\n<p>Your <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> document will continue to work on browsers that accept <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> 1.0 as <code>application\/xml<\/code>.<\/p><\/blockquote>\n<p xml:lang=\"en\"><cite><acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym> and <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Frequently Answered Questions<\/cite><\/p>\n<h4><span xml:lang=\"en\">Working Group Note<\/span> : <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> <span xml:lang=\"en\">Media Types &#8211; Second Edition<\/span> (16 de enero del 2009)<\/h4>\n<blockquote xml:lang=\"en\" cite=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#abstract\"><p>Many people want to use <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> to author their web pages, but are confused about the best ways to deliver those pages in such a way that they will be processed correctly by various user agents[&#8230;]<\/p><\/blockquote>\n<p><cite><a xml:lang=\"en\" hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#abstract\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Media Types &#8211; Second Edition: Abstract<\/a><\/cite><\/p>\n<blockquote xml:lang=\"en\"><p>After the publication of [<a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#ref-xhtml1\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>1<\/a>], an RFC for <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> media types was revised and published as RFC 3023 [<a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#ref-rfc3023\">RFC3023<\/a>], and it introduced the &#8216;<code>+xml<\/code>&#8216; suffix convention for <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym>-based media types. The &#8216;<code>application\/xhtml+xml<\/code>&#8216; media type [<a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#ref-rfc3236\">RFC3236<\/a>] was registered following that convention.<\/p>\n<p>[&#8230;]<\/p>\n<p>In general, &#8216;<code>application\/xhtml+xml<\/code>&#8216; should be used for <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> Family documents, and the use of &#8216;<code>text\/html<\/code>&#8216; should be limited to <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym>-compatible <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Family documents intended for delivery to user agents that do not explicitly state in their <acronym title=\"HyperText Transfer Protocol\" xml:lang=\"en\">HTTP<\/acronym> Accept header that they accept &#8216;<code>application\/xhtml+xml<\/code>&#8216; [<a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#ref-http\"><acronym title=\"HyperText Transfer Protocol\" xml:lang=\"en\">HTTP<\/acronym><\/a>].<\/p>\n<p>[&#8230;]<\/p>\n<p>Note that, because of the lack of explicit support for <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> (and <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> in general) in some user agents, only very careful construction of documents can ensure their portability (see <a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#compatGuidelines\">Appendix A<\/a>). If you do not require the advanced features of <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Family markup languages (e.g., <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> <acronym title=\"Document Object Model\" xml:lang=\"en\">DOM<\/acronym>, <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> Validation, extensibility via <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Modularization, semantic markup via <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>+<acronym title=\"Resource Description Framework attribute\">RDFa<\/acronym>, Assistive Technology access via the <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Role and <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Access modules, etc.), you may want to consider using <acronym xml:lang=\"en\">HTML<\/acronym> 4.01 [<a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#ref-html4\">HTML<\/a>] in order to reduce the risk that content will not be portable to <acronym xml:lang=\"en\">HTML<\/acronym> user agents. Even in that case authors can help ensure their portability AND ease their eventual migration to the <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Family by ensuring their documents are valid [<a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#ref-validator\">VALIDATOR<\/a>] and by following the relevant guidelines in <a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#compatGuidelines\">Appendix A<\/a>.<\/p><\/blockquote>\n<p><cite><a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#compatGuidelines\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Media Types &#8211; Second Edition: Introduction<\/a><\/cite><\/p>\n<blockquote xml:lang=\"en\" cite=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#application-xhtml-xml\"><p>The &#8216;<code>application\/xhtml+xml<\/code>&#8216; media type [<a href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#ref-rfc3236\">RFC3236<\/a>] is the <strong>primary<\/strong> media type for <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Family documents.<\/p>\n<p>&#8216;<code>application\/xhtml+xml<\/code>&#8216; should be used for serving <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> documents to <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> user agents (agents that <em>explicitly<\/em> indicate they support this media type).<\/p>\n<p>This media type must be used when writing documents using <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Family document types that add elements and attributes from foreign namespaces, such as <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>+<acronym title=\"Mathematical Markup Language\" xml:lang=\"en\">MathML<\/acronym> [<a href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#ref-xhtml-mathml\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>+<acronym title=\"Mathematical Markup Language\" xml:lang=\"en\">MathML<\/acronym><\/a>].<\/p><\/blockquote>\n<p xml:lang=\"en\"><a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#application-xhtml-xml\"><cite><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Media Types &#8211; Second Edition: 3.1. &#8216;<code>application\/xhtml+xml<\/code>&#8216;<\/cite><\/a><\/p>\n<blockquote xml:lang=\"en\" cite=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#text-html\"><p>The &#8216;<code>text\/html<\/code>&#8216; media type [<a href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#ref-rfc2854\">RFC2854<\/a>] is primarily for HTML, not for <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>.  In general, this media type is <strong>NOT<\/strong> suitable for <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> except when the <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> is  conforms to the guidelines in <a href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#compatGuidelines\">Appendix A<\/a>.<\/p>\n<p>In particular, &#8216;<code>text\/html<\/code>&#8216; is <strong>NOT<\/strong> suitable for <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Family document types that add elements and attributes from foreign namespaces, such as <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>+<acronym title=\"Mathematical Markup Language\" xml:lang=\"en\">MathML<\/acronym> [<a href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#ref-xhtml-mathml\"><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym>+<acronym title=\"Mathematical Markup Language\" xml:lang=\"en\">MathML<\/acronym><\/a>].<\/p><\/blockquote>\n<p xml:lang=\"en\"><a hreflang=\"en\" href=\"http:\/\/www.w3.org\/TR\/xhtml-media-types\/#text-html\"><cite><acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> Media Types &#8211; Second Edition: 3.2. &#8216;<code>text\/html<\/code>&#8216;<\/cite><\/a><\/p>\n<h4>Otras referencias<\/h4>\n<ul xml:lang=\"en\">\n<li><a href=\"http:\/\/webkit.org\/blog\/68\/understanding-html-xml-and-xhtml\/\">Surfin&#8217; Safari: Understanding <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym>, <acronym title=\"eXtensible Markup Language\" xml:lang=\"en\">XML<\/acronym> and <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym><\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en\/Mozilla_Web_Developer_FAQ\">Mozilla Web Developer <acronym title=\"Frequently Asked Questions\" xml:lang=\"en\">FAQ<\/acronym><\/a>.<\/li>\n<li><a href=\"http:\/\/hixie.ch\/advocacy\/xhtml\">Hixie: Sending <acronym title=\"eXtensible Hypertext Markup Language\" xml:lang=\"en\">XHTML<\/acronym> as <code>text\/html<\/code> Considered Harmful<\/a>.<\/li>\n<\/ul>\n<h3>Al final<\/h3>\n<p>Aqu\u00ed no hay moraleja que valga: pero si hay una recomendaci\u00f3n coherente, los navegadores y los desarrolladores las interpretan correctamente, y los navegadores antiguos no se ven perjudicados, perfecto. Si no, en la historia de la web, que no tiene demasiados a\u00f1os, podemos encontrar alg\u00fan que otro \u00abCaso de fracaso\u00bb: el aqu\u00ed ampliamente expuesto,  <a title=\"Guerra de Navegadores en la wikipedia\" href=\"http:\/\/es.wikipedia.org\/wiki\/Guerra_de_navegadores\">Guerra de Navegadores<\/a>, la interpretaci\u00f3n personal de Explorer del modelo de caja (<a title=\"La particular interpretaci\u00f3n del modelo de caja de Internet Explorer explicado en la wikipedia\" xml:lang=\"en\" hreflang=\"es\" href=\"http:\/\/es.wikipedia.org\/wiki\/Internet_Explorer_box_model_bug\">Internet Explorer Box Model Bug<\/a>),&#8230; veremos al final que pasa con <acronym title=\"Hypertext Markup Language\" xml:lang=\"en\">HTML<\/acronym>5, pero miedo me da.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Saco de la nevera un art\u00edculo que llevo cerca de dos a\u00f1os d\u00e1ndole vueltas (ya est\u00e1 bien). Personalmente me ha servido para tener m\u00e1s claro ciertas cosas que ignoraba y para recopilar algunas citas y v\u00ednculos: trata sobre HTML, XHTML, text\/html y application\/xhtml+xml. Es excelente si sufres insomnio. HTML y XHTML \u00bfQu\u00e9 diferencia hay entre [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[28],"tags":[],"_links":{"self":[{"href":"http:\/\/webposible.com\/xposible\/wp-json\/wp\/v2\/posts\/190"}],"collection":[{"href":"http:\/\/webposible.com\/xposible\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/webposible.com\/xposible\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/webposible.com\/xposible\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/webposible.com\/xposible\/wp-json\/wp\/v2\/comments?post=190"}],"version-history":[{"count":5,"href":"http:\/\/webposible.com\/xposible\/wp-json\/wp\/v2\/posts\/190\/revisions"}],"predecessor-version":[{"id":662,"href":"http:\/\/webposible.com\/xposible\/wp-json\/wp\/v2\/posts\/190\/revisions\/662"}],"wp:attachment":[{"href":"http:\/\/webposible.com\/xposible\/wp-json\/wp\/v2\/media?parent=190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/webposible.com\/xposible\/wp-json\/wp\/v2\/categories?post=190"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/webposible.com\/xposible\/wp-json\/wp\/v2\/tags?post=190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}