He hecho un desarrollo significativo usando XSLT y ha sido tremendamente exitoso y una falla completa en dos sitios diferentes.
Algunas reflexiones antes de una conclusión:
No creo que nadie discuta que XSLT es mucho más poderoso que un motor de plantillas de análisis, es un lenguaje funcional.
Aunque no es tan ampliamente adoptado como la mayoría de los lenguajes de procedimiento, todavía es un lenguaje real que se utiliza para proyectos reales, las personas pueden ser contratadas con conocimiento de XSLT y es una habilidad transferible para su personal actual.
XSLT también ha existido desde hace un tiempo, las implementaciones son maduras, estoy seguro de que este es el caso de los motores de plantillas de larga ejecución (como Velocity) pero los motores más nuevos pueden ser menos robustos.
Cualquiera que sea el lenguaje de plantilla que elija, es poco probable que esté tan bien documentado como XSLT. Consulte cualquiera de las series de referencia del programador Michael Kay para ver un ejemplo sobre cómo hacer un gran libro de referencia.
El soporte de herramientas es generalmente muy bueno ... si tiene un presupuesto. XMLSpy y Stylus Studio me han sido muy útiles en el pasado.
XSLT no solo es difícil sino, lo que es más importante, diferente. La mayoría de las personas no son graduados en Informática formados formalmente en programación funcional. La mayoría de los programadores escribirán XSLT en un estilo de procedimiento que no aprovechará ningún poder del lenguaje y le dará un dolor de cabeza de mantenimiento.
Las transformaciones XSLT pueden ser lentas y pueden requerir mucha memoria. Puede tener problemas si tiene una hoja de estilo con una gran entrada de XML.
Me encanta XSLT, pero si debe utilizar o no se reduce a unos pocos puntos:
¿Estás comprometido a XSLT? ¿Tienes una gran experiencia interna en XSLT? ¿Estás preparado para obtener algo?
¿Están sus datos en XML? ¿Tiene sentido en XML? ¿Tiene alguien interno que ama sus datos lo suficiente como para asegurarse de que esté bien estructurado y siempre haya un esquema apropiado?
A menos que la respuesta a esas preguntas sea afirmativa y tenga datos complejos que requieran un proceso de representación complejo, no consideraría usar XSLT ... especialmente si no hay experiencia en el equipo. Bad XSLT es mucho, mucho, mucho peor que una mala plantilla.
Sin embargo, puede procesar datos complejos de forma sostenible, lo que sería imposible con muchos de los motores de plantillas actuales.
usted puede estar interesado para revisar [ReXSL] (http://www.rexsl.com), un marco de Java que se integra XSL, JAXB y JAX-RS – yegor256