Reportajes

HTML5 v/s XHTML2; El futuro de la Web

HTML en la web hoy
Mientras que HTML 4.01 es formalmente un documento basado en SGML, los únicos clientes que así lo usan son los validadores. Los navegadores lo tratan como una 'sopa de etiquetas', intentan darle sentido y obtener resultados gráficos incluso a los documentos escritos de la peor forma posible. Una muy pequeña parte del contenido presente en la Web está debidamente validado en HTML 4.01; la mayoría es inválido o mal formado, pero los navegadores se ven obligados a interpretarlo. De lo contrario serán degradados por sus usuarios, y éstos se cambiarán al navegador de la competencia, los cuales si son capaces de interpretar sus sitios favoritos.

Como navegador, manejarse en la 'sopa de etiquetas' -intentar corregir errores en documentos- es fundamental, pero cada programa lo hace de manera un poco distinta. Todos los navegadores tratan de acercarse lo más posible a la forma que lo hace su competidor más cercano, pero aunque logren que el contenido malformado funcione, no significa necesariamente que corrigieron los errores de la misma manera. HTML5 intenta poner fin a esta necesidad de ingeniería inversa de competición entre navegadores, definiendo exactamente la forma en que este error debe ser resuelto. No solo define como se deben analizar los documentos válidos, sino también como analizar los documentos inválidos, malformados y rotos, para que las compañías puedan hacer que sus navegadores sean totalmente ínter-operables entre si.

XML en la Web hoy
La vasta mayoría de los documentos XHTML de la red son servidos con el content type "text/html" -en otras palabras, es analizado por los navegadores como una sopa de etiquetas, no como XML.

Entre las razones de esto, está el error draconiano del manejo de XML. El análisis de XML termina en el primer error del documento. Esto significa que cualquier error conllevará a visualizar una página completamente inalcanzable. Un documento con errores 'bien escritos' solo mostrará detalles del error, mas no contenido. En páginas donde parte del contenido está fuera del control de las herramientas XML con un buen diseño del manejo de diferentes codificaciones de caracteres -en sitios donde los usuarios pueden agregar comentarios o donde el contenido es llamado desde fuera como servicios de publicidad o widgets por ejemplo- siempre hay un alto riesgo de tener errores 'bien escritos'. Los navegadores que analizan sopas de etiquetas harán todo lo posible para desplegar correctamente la página, pero si encuentran un error en el análisis de XML, sin importar cuan pequeño sea, desplegarán una página completamente inútil.

El mayor problema de servir documentos XML en la Web, es que Internet Explorer no soporta el recomendado content type de XHTML 1.0 ("application/xhtml+xml"). Soporta XML genérico, pero al no tener ningún tipo de conocimiento de XHTML, no tiene conocimientos sobre elementos semánticos de XHTML, tanto, ni siquiera aplicará la hoja de estilo predeterminada del navegador.

Sin embargo, XHTML 1.0 permite servir documentos como "text/html", dado que se conforman con las reglas de compatibilidad correlativa de Appendix C de las especificaciones HTML, pero por supuesto, esto significa que los documentos serán tratados como sopa de etiquetas y no con la eficacia característica de XML en la red.

El hecho que Internet Explorer realmente no soporte XHTML como XML de ninguna manera, y los problemas que XML puede causar cuando no todas las herramientas de la cadena de autoría son herramientas XML, significa que ha habido poco incentivo para usar este lenguaje en la Web. Esto es compuesto por los motores de búsqueda, que no indexan XHTML como documentos XML. Como consecuencia, tenemos muy pocas herramientas de autoría XHTML para XML, muy pocos CMS's y muy pocos servicios de publicidad externa que soportan XML correctamente.