¿Cuáles son las ventajas de crear páginas web con XML en lugar de HTML?

De vez en cuando, veo páginas web cuyo contenido está escrito únicamente en XML (no HTML o XHTML). Estas páginas suelen tener algunas hojas de estilo (ya sea XSLT o CSS) adjuntas a ellas que las hace parecerse a cualquier otra página web ordinaria.

Mi pregunta es, ¿cuáles son las ventajas de tal enfoque (si existe), y por qué alguien elegiría trabajar de esta manera?

EDITAR: Si esto es algo bueno, ¿por qué no está generalizado?

EDIT 2: Gracias a todos por las excelentes respuestas. Ellos realmente me iluminaron. También encontré esta pregunta cuyo contenido también está relacionado.

Es más fácil generarlo programáticamente y reutilizarlo para otros fines que mostrar como página web.


Actualización :

EDITAR: Si esto es algo bueno, ¿por qué no está generalizado?

No todo el mundo necesita generarlo programáticamente o reutilizarlo para otros fines que no sean la visualización de la página web. Entonces es más fácil usar HTML simple.

Una posible ventaja sería el uso de los datos de la página en algo que no sea un navegador web; eso (probablemente) sería más fácil de hacer si el contenido de una página fuera XML bien formado. Por supuesto, en teoría, una página XHTML semántica bien formada debería ser casi capaz de ser analizada también.

También puede ser más fácil generar XML en lugar de XHTML, dependiendo de la fuente de datos.

Cuando obtiene datos XML en su sistema, y ​​se supone que debe presentar estos datos XML, es mucho más fácil escribir algo de XSLT para ese XML en lugar de analizarlo utilizando algún tipo de analizador y luego presentar los datos.

Ese puede ser un punto válido para usar XML en lugar de XHTML o HTML

Actualizar Para responder a su pregunta sobre por qué no está generalizado, es porque XSTL es tedioso y difícil de trabajar. Específicamente XPath, que puede ser bastante difícil de usar para algunas personas.

Esas páginas usan XSLT para renderizarse en el lado del cliente. No todos los navegadores (especialmente los más antiguos) admiten la representación XML + XSLT. Sin embargo, XML puede utilizarse como plantilla del servidor y la aplicación que se ejecuta en el servidor puede transformarlo en HTML. Personalmente, no veo ninguna ventaja en este enfoque.

Hay muchas más páginas web escritas únicamente en XML de lo que usted sabe. Solo está viendo los que hacen la transformación XSLT en el lado del cliente. La transformación del lado del servidor de XML no es en absoluto inusual, porque hay una gran cantidad de cosas que producen datos en XML, y la transformación de XML a HTML en XSLT es directa. Nunca sabrá que esto está sucediendo si solo mira el código HTML, que no muestra signos de haberse generado a través de XSLT.

Personalmente, tampoco lo entiendo, aunque uno de los mayores problemas es el soporte en IE. Creé un sitio de comercio electrónico esqueleto que sirve XML, transformado por XSLT y diseñado con CSS. Eché mucho de menos la posibilidad de utilizar XLink y otras maravillosas funciones XML. También es bueno poder etiquetar los datos por lo que es. Usé una etiqueta de ‘menú’ para los menús del restaurante. tags de ‘precio’ para precios, etc. Si un usuario hace clic en un enlace para cambiar los menús, todo lo que tenía que hacer era enviar el nombre del artículo, el precio y la descripción en lugar de la página completa. iirc, una página de menú HTML de 4K o más solo tenía 200 bytes de datos enviados.

En cuanto a los comentarios de tipo “un error hace que todo se cuelgue en XML”, lo mismo puede decirse de cualquier lenguaje de progtwigción, por lo que la encoding adecuada no debería molestar a los progtwigdores ni a los cuidadosos tipos de HTML / CSS.

Antes de que alguien diga que lo que hice fue en realidad XHTML … no. Serví XML. Llamé espacios de nombre XHTML cuando lo necesitaba para enlaces, imágenes y elementos de tipo HTML, pero solo cuando era necesario.