Relacionado con transformar XML: ¿seguís usando XSLT del lado servidor para transformar XML a HTML/otro formato, o hoy en día todo se resuelve parseando el XML y montando la salida a mano en el lenguaje de turno (JS, PHP, Java...)?
XSLT tiene una ventaja real que se suele olvidar: es declarativo, describes «cómo se ve el resultado» en vez de escribir paso a paso cómo construirlo, lo cual para transformaciones complejas (XML con estructuras anidadas variables, mucha lógica de plantillas repetidas) puede quedar mucho más legible que un bucle de parseo manual lleno de ifs.
La desventaja, y probablemente el motivo real de que haya perdido terreno: la sintaxis de XSLT es verbosa y tiene su propia curva de aprendizaje bastante empinada (es un lenguaje funcional disfrazado de XML, con conceptos como plantillas, modo de coincidencia, recursividad implícita), y hoy en día la mayoría de desarrolladores nunca han tenido que aprenderlo porque JSON domina el intercambio de datos.
¿Alguien lo sigue usando de forma activa? ¿Para qué casos concretos os sigue compensando frente a parsear y transformar a mano?
Bruno C.
Sigue teniendo sentido, pero en un nicho bastante más concreto de lo que tenía hace quince años: pipelines de transformación de documentos donde quieres declarar la transformación en sí (no programarla imperativamente) y que sea reproducible sin depender de un lenguaje de programación concreto por detrás. Sistemas de publicación (DocBook a HTML/PDF, generación de EPUB, transformación de catálogos de datos entre esquemas XML distintos) siguen apoyándose en XSLT porque encaja de forma muy natural con ese tipo de problema: entrada XML, salida XML/HTML/texto, reglas de transformación declarativas.
Donde ya casi nadie elige XSLT hoy es para lógica de negocio con estado o condiciones complejas mezcladas con la transformación. Ahí compensa mucho más tener el control de un lenguaje de programación normal con su ecosistema completo (testing, debugging, librerías) que forzar esa lógica dentro del paradigma funcional de XSLT, que no está pensado para eso y se nota en la legibilidad cuando se fuerza.
Si estás metido de lleno en un pipeline de publicación XML puro, XSLT 3.0 (con soporte de streaming y un estilo más funcional que las versiones antiguas) sigue siendo una herramienta muy sólida. Si tu caso es "tengo XML y necesito hacer cosas con él dentro de mi aplicación normal", probablemente hoy elegirías una librería de tu lenguaje habitual antes que meter XSLT en la ecuación.
Sara