Si les gusta leer blogs y están interesados en los temas de desarrollo web, estándares web, (X)HTML, etc. entonces habrán leído más de una vez algún post que se llame “HTML vs XHTML” o algo similar. Yo me topé con esto cuando conocí habari, algo que los distingue es que hicieron una decisión de servir sus páginas como HTML 4.01 y no XHTML, lo que se aleja de la tendencia… ¿o no tanto?
Es algo raro, hace unos años todo mundo te decía que XHTML era el futuro, muchos blogs tienen en sus archivos críticas contra HTML, “rants” a favor del código bien estructurado, XML + HTML = XHTML… pero últimamente empieza a crecer un interés por volver a usar HTML y, como en todos los temas, no hay nadie que no tenga una opinión. La mía probablemente no sea la de mayor importancia, ni tenga un impacto sobre nadie, pero me gustaría darla.
Algo que quiero dejar en claro es que yo no estuve cuando nació el XML. Yo conocí el HTML entre la primaria y la secundaria, estoy hablando de hace casi una década, lo que significa que a lo mucho tenía unos 11 años de edad. A esas alturas solo jugaba, no existían - por lo menos en mi mente - estándares. Después de ese descubrimiento pasé unos 6 o 7 años sin tocar el HTML nuevamente hasta que entré a la universidad y, una vez descubierta la programación, volví a voltear al Internet. XHTML ya estaba establecido, para mí no hubo discución, los estándares ya no eran solo documentos, estaban implementados y eran utilizados por la gran mayoría… y no ha habido mucho cambio de entonces al día de hoy, pero entonces surgió el renacimiento del HTML.
Hay muchos argumentos a favor y en contra del HTML, pero lo cierto es que, a final de cuentas, todo depende del programador. A mi no me toca más que leer, analizar y emitir un juicio que se refleje en mi trabajo. En un esfuerzo por hacer síntesis de lo que he leido presento mi comparación.
MIME-type: El tipo MIME de un archivo es lo que le dice a un programa qué tipo de archivo está recibiendo, tu puedes nombrar un archivo como quieras (.doc, .txt., .aaa, .html, .htm, .xhtml…) pero el software ignora eso la mayor parte del tiempo, en cambio se basa en un encabezado que le dice “Este archivo es de tipo [x]“, que es una convención establecida. Un documento en texto plano se sirve como “text/plain”, un archivo HTML es “text/html” y un archivo xhtml debería de ser “application/xml”, “text/xml” o “application/xhtml+xml” (este ultimo siendo el preferido). Aún así, la mayoría de los supuestos XHTML en la red se entregan como “text/html”, que si bien la especificación lo acepta (únicamente para XHTML 1.0 Transitional), se recomienda que no se haga. Pero, yo puedo especificar ese tipo de MIME, ¿cierto? El problema con esto es que Internet Explorer no acepta archivos en ninguna de las 3 formas preferidas de XHTML, por lo tanto más del 70% de tu público (recuerden que las estadísticas nunca son absolutas) no podría ver tu página.
XHTML bien formado: Naveguen en internet buscando logos que digan “valid XHTML”. Sigan el link al que los manda (lo más probable es que sea http://validator.w3.org/check/referer) y luego me dicen cuantas páginas (especialmente blogs) verdaderamente validan. El problema es que estamos hablando de sitios dinámicos, nuestro código se hace con una mezcla del template que usemos, los plugins que agreguemos, el texto que escribimos en los posts y los comentarios de nuestros visitantes. Los primeros dos puntos, si somos verdaderamente cuidadosos, los podemos controlar para asegurarnos que generen código 100% valido. Si hablamos de páginas para clientes, es dificil que podamos controlar el hecho de que escriban en XHTML, al usuario común no le importa si su página valida y los WYSIWYG son la herramienta que más aprecian. Por útlimo, los comentarios son la parte más dificil de todas, es gente completamente desconocida que tiene derecho a escribir lo que quiera y como quiera… y no olvidemos el SPAM. Moraleja: no es fácil, a menos que restringas mucho a tus clientes y a su público, conseguir código 100% válido.
Esta limitante del código bien formado nos lleva a un tercer punto importante del XHTML: cuando IE acepte los MIME recomendados para el XHTML (y si las páginas se empiezan a enviar de este modo) no sería posible ver la mayoría de las páginas. XML está especificado de tal manera que, con cualquier error, el software debe de terminar diciendo que hay un error y que no se puede mostrar la página. Si, como dijimos, la mayoría de las páginas no validan verdaderamente, entonces la mayoría de las páginas no podrían mostrarse.
Creo que por ahora dejaré esto así, estos son mis argumentos, me parecen los principales y lo suficientemente convincentes, a final de cuentas es más una idea de consistencia, no tiene sentido escribir algo en un lenguaje y decir que es otro desde mi punto de vista. Como todas las cosas, es algo que irá evolucionando, en un futuro se soportarán mejor estas tecnologías, probablemente salgan nuevas, y la web seguirá cambiando. Mientras esto pase les dejo una de las mejores lecturas que pude encontrar sobre este tema: Siding with HTML over XHTML. Ahí mismo pueden encontrar ligas a otras lecturas, o busquen en su buscador preferido.