Transformador Saxon 9 XSLT vs Xalan 2.7
(3)
solo para agregar a lo que dice George: no solo obtendrá más funcionalidad w / Saxon que w / Xalan, sino que obtendrá un rendimiento mucho mejor (menos memoria, más rápido) en muchos casos también.
Actualmente estoy utilizando Xalan 2.7.0 para transformaciones XSLT sobre XML, pero pensando en cambiar a la versión de Saxon 9 para transformaciones XSLT. Entonces, ¿podría alguien enumerarme las principales desventajas y prones del uso de Saxon sobre Xalan? Aunque sé que Saxon es compatible con XSLT 2.0 y otros cambios importantes, me gustaría saber más sobre las experiencias personales con Saxon 9 y sus ventajas y desventajas y otros beneficios.
Integramos Xalan y Saxon (6.5 y 9) en nuestro producto, oXygen XML Editor, así que básicamente apoyamos a los desarrolladores de XSLT que usan tanto Saxon como Xalan.
Desde nuestra experiencia, Saxon 9 se desarrolla activamente, mientras que el desarrollo de Xalan se estanca desde hace muchos años. Esto también se debe a que Saxon 9 es un procesador XSLT 2, mientras que Xalan es un procesador XSLT 1 y no hay mucho que pueda hacer en XSLT 1.
La mayoría de los desarrolladores de XSLT actualmente usan XSLT 2.0, por lo que el hecho de que Saxon 9 sea solo un motor XSLT 2.0 es una buena razón para elegir Saxon 9. No tiene sentido luchar con XSLT 1, mientras que XSLT 2 ya está disponible desde hace algunos años.
Xalan tiene licencia bajo Apache 2.0 y Saxon tiene licencia de Mozilla Public License (MPL). Desde el punto de vista del uso, en realidad no existe una diferencia: será una diferencia solo si cambia el código del procesador usted mismo, en el caso de MPL, debe hacer que sus cambios estén disponibles en el código.
Un problema menor con Saxon 9 HE es que no admite extensiones directamente, pero puede registrar extensiones integradas a través de la API o al pasar una clase Initializer en la línea de comando que registrará esas extensiones. Sin embargo, XSLT 2.0 proporciona muchas funciones e instrucciones nuevas de manera estándar, por lo que es menos probable que necesite extensiones.
Saxon 9 también incluye soporte para XSLT 3.0 (actualmente este es un borrador en funcionamiento) pero con Saxon tiene acceso temprano a algunas de las nuevas incorporaciones en XSLT 3.
Para nuestras tareas internas XSLT usamos casi todo el tiempo Saxon 9.
¡Espero que esto ayude!
Saludos, George
Utilicé Xalan hace 10 años. He estado usando Saxon casi exclusivamente durante los últimos 10 años.
Saxon no solo es un procesador XSLT 2.0 y XSLT 3.0, sino que se desarrolla y mantiene activamente.
Saxon 9.xx es uno de los procesadores XSLT más rápidos. Su desarrollador, el Dr. Michael Kay es el Editor del W3C XSLT WG (Grupo de Trabajo) y por lo tanto es probable que sea el que mejor entiende la Especificación XSLT y esto se muestra en Saxon. Cualquier característica de idioma se implementa de manera estricta y precisa, generalmente muy por delante de otros proveedores.
El Dr. Kay a menudo informa el nivel de cumplimiento según lo indicado ejecutando el conjunto de pruebas W3C XSLT y XQuery WGs, que consta de decenas de miles de pruebas.
Saxon es apoyado por varios IDEs, uno de los más destacados es oXygen. Saxon tiene una lista de correo de usuarios muy activa y el tiempo de respuesta típico generalmente se mide en horas.
Si bien tengo aproximadamente 11 procesadores XSLT instalados, el que estoy usando el 99% de mi tiempo es Saxon.