Llevo utilizando XSLT dos días y aunque con ese nivel de experiencia no estoy en posición de decir mucho al respecto, debo comentar que hay cosas que sorprendentemente resultan todo un problema al momento de querer implementarlas.
Para dar cierto contexto a lo que diré en adelante, el proyecto en el que llevo trabajando (como ayudante o stagiaire si lo prefieren) empezó a finales del año pasado y por más que considere que XSLT en este caso en particular no sea la mejor opción, por el momento estoy obligado a usarlo.
En fin, la parte en la que estoy trabajando tiene que ver con la conversión de un automata finito determinista1 a otro equivalente en el que se incluye operaciones a realizar en función a las transiciones y estados. La siguiente imagen ilustra un tipo de transformación:
Parte de "Synthesizing Enforcement Monitors wrt. the Safety-Progress Classification of Properties"
Por clara y relativamente sencilla que parezca esa regla, me está costando implementarla en XSLT. Por ejemplo el hecho de que las variables en este lenguaje se comporten como constantes hace que muchas veces tenga que hacer concatenaciones o funciones (templates) recursivas, lo que porsupuesto hace más feo y largo el código.
1. En realidad me refiero al Automata de Street.
3 replies on “Utilizaciones no previstas para XSLT”
XSLT es lo peor, un producto de la fiebre relacionada con xml que ha producido montón de tecnologías derivadas de éste totalmente inútiles e improductivas (quizá es pasarse, pero desde luego que siempre vas a tener mejores soluciones).
Hace un tiempo, en mi época de becario estuve en una situación parecida, por narices tenía que ser en xslt, al final estuve 1 mes haciendo plantillas en xslt de miles de líneas, las cuales podría haber implementado en perl (por decir algo, por su facilidad en regex.) en par de tardes como mucho. Pero claro, siempre es mejor decir que usas xslt que "simplemente" perl (o, repito, cualquier otra cosa).
"...hace que muchas veces tenga que hacer concatenaciones o funciones (templates) recursivas, lo que porsupuesto hace más feo y largo el código"
Mmmm, estás seguro que haciendo las cosas recursivas se hacen mas feas???
Mi consejo, revisa documentación de lenguajes funcionales, XSLT es un lenguaje funcional. Estos tienen una forma particular de trabajar, muy distinta de los imperativos que en la mayoría de las ocasiones son muy elegantes.
Saludos
Ecos, gracias por la recomendación. Entiendo a lo que te refieres sobre la elegancia de los lenguajes funcionales, pero estoy convencido que XSLT no tiene nada de elegante 😀 (demasiado código, es en cierta forma lo que comenta blaster -- muchas tecnologías ven a XML como la panacea).