stringtranslate.com

XSLT sajón

Saxon es un procesador XSLT y XQuery creado por Michael Kay y ahora desarrollado y mantenido por su empresa, Saxonica. Existen versiones comerciales de código abierto y también de código cerrado . Existen versiones para Java , JavaScript [1] y .NET .

La versión actual, a enero de 2023, es la 12.0. [2]

Versiones

La línea de desarrollo original de Saxon terminó con la versión 6 de la serie. Esta es una serie de procesadores XSLT 1.0. La versión actual, 6.5.5, no está experimentando ningún desarrollo adicional aparte del mantenimiento. La serie 6 sólo está disponible para el lenguaje de programación Java.

La línea de desarrollo actual, Saxon 12, implementa las especificaciones XSLT 3.0 y XQuery 3.1. Saxon 12 puede procesar hojas de estilo XSLT 1.0 y XSLT 2.0. (XSLT 2.0 y 3.0 son altamente compatibles con XSLT 1.0. [3] ) y también incluye soporte selectivo para la especificación XSLT 4.0 propuesta. [4]

Hay dos bases de fuentes separadas: la fuente de Java y la fuente de JavaScript. El código fuente de Java se utiliza para generar productos para tres plataformas: SaxonJ (para Java y otros lenguajes JVM como Scala), SaxonCS (para C# y otros lenguajes .NET como VB.NET) y SaxonC (con API para C, C++). , Python y PHP). La base fuente de JavaScript se utiliza para generar SaxonJS, que se ejecuta en navegadores web y en Node.js.

Las versiones creadas en Java vienen en tres niveles: Home Edition ofrece el nivel mínimo de conformidad con los estándares definidos en las especificaciones, como producto de código abierto. Professional Edition agrega funcionalidades específicas del proveedor que no requieren los estándares, por ejemplo, una variedad de funciones de extensión y opciones de serialización. Enterprise Edition agrega funciones avanzadas (definidas en los estándares W3C como opcionales), que incluyen reconocimiento de esquemas y transmisión, así como funciones relacionadas con el rendimiento, como ejecución multiproceso y generación de códigos de bytes.

El producto SaxonCS se construye a partir de la base fuente de Java mediante un transpilador personalizado de Java a C# escrito en XSLT (consulte https://markupuk.org/webhelp/index.html#ar04.html). A partir de abril de 2022, solo se ofrece la Enterprise Edition en esta plataforma.

Desde 2004 hasta 2009, Saxon estuvo disponible en dos formas distintas: Saxon-B y Saxon-SA. Ambos se construyeron sobre bases de código similares. Saxon-B era un software de código abierto publicado bajo la licencia pública de Mozilla , mientras que Saxon-SA era un producto comercial de código cerrado.

La diferencia entre Saxon-B y Saxon-SA era que B era "básico" mientras que SA era "consciente de esquemas". Estos términos son referencias a términos de las especificaciones XSLT 2.0 y XQuery 1.0. Un procesador que es "consciente de esquemas" puede utilizar un esquema XML W3C para definir los tipos de datos de los diversos elementos en los documentos XML de origen. Estos tipos de datos se pueden utilizar en comandos XPath 2.0 y XSLT 2.0. Un procesador XSLT 2.0 "básico" no puede utilizar información de escritura de datos.

Saxon ofrece una estricta conformidad con las recomendaciones W3C XSLT 2.0, XPath 2.0 y 3.0, y XQuery 1.0 y 3.0, y también implementa XML Schema 1.0 y 1.1. A partir de 2021, la versión actual (10.6) cumple con las recomendaciones del W3C para XSLT 3.0, XPath 3.1 y XQuery 3.1.

El código fuente de Saxon está escrito en Java. Durante 2005-6 M., David Peterson y otros demostraron que Saxon podía compilarse de forma cruzada para ejecutarse en .NET utilizando el compilador cruzado IKVM.NET , lanzando Saxon.NET como un producto independiente del desarrollador original. Con el lanzamiento de Saxon 8.7, Saxonica adoptó esta tecnología y, a partir de ese lanzamiento, todas las versiones se lanzaron simultáneamente para Java y .NET. La versión .NET del producto omite funciones específicas de la plataforma Java (como la integración con JDOM , Dom4j y XOM ) y en su lugar proporciona funciones que se integran con las capacidades de procesamiento XML de la plataforma .NET.

En 2012, tras una serie de prototipos, Saxonica lanzó Saxon Client Edition (Saxon-CE), una versión del producto adaptada para ejecutarse en el entorno del navegador. Esto se logra adaptando el código fuente de Java para que pueda compilarse de forma cruzada en JavaScript utilizando el compilador cruzado GWT producido por Google . Saxon-CE proporciona la primera implementación de XSLT 2.0 que se ejecuta en el navegador y también amplía el lenguaje para que, en lugar de simplemente generar HTML, pueda manejar directamente la interacción del usuario. Con el lanzamiento de Saxon-CE 1.1 en febrero de 2013, el producto pasó a ser de código abierto. En febrero de 2016, Michael Kay anunció que Saxonica estaba trabajando en un reemplazo para Saxon-CE escrito en JavaScript puro y denominado Saxon-JS. [5]

Michael Kay , autor de Saxon, fue el editor de la especificación XSLT 2.0 y también es editor del borrador XSLT 3.0.

Características

Las versiones Saxon que están disponibles para las plataformas Java, C (incluidos PHP y Python) y .NET se crean a partir de una única base de código. La última versión se construye utilizando un transpilador . [6] Todas las versiones de la plataforma tecnológica comparten las mismas capacidades y están disponibles con tres conjuntos de funciones diferentes bajo dos condiciones de licencia diferentes. Para cada una de estas plataformas tecnológicas, existe un producto de código abierto, Saxon-HE, con licencia MPL -2.0. Proporciona funcionalidad básica XSLT 3.0, XPath 3.1 y XQuery 3.1, según lo definido por las especificaciones respectivas. Además, Saxon-HE implementa ciertas características que la especificación XSLT 3.0 declara como opcionales y que anteriormente estaban reservadas para las versiones comerciales, como la evaluación dinámica XPath 3.1 y funciones de orden superior en XSLT 3.0. Las versiones comerciales se denominan Saxon-PE y Saxon-EE. Puede encontrar una matriz de funciones detallada y actualizada en el sitio web de Saxonica.

La cuarta plataforma tecnológica es JavaScript. Anteriormente, el procesador XSLT de código abierto Saxon-CE se compiló de forma cruzada a partir de la fuente Java común utilizando GWT . SaxonJS es una implementación completamente nueva en JavaScript. Las fuentes XSLT se pueden compilar usando Saxon-EE o usando un compilador XSLT integrado basado en XSLT, que crea código menos optimizado. Por otro lado, el compilador XSLT basado en XSLT permite la compilación y ejecución dinámica de XSLT. Si bien SaxonJS admite la mayoría de las funciones XSLT 3.0 y XPath 3.1 disponibles en Saxon-HE, SaxonJS no admite XQuery. A diferencia de Saxon-HE y el Saxon-CE descontinuado, SaxonJS no es de código abierto, pero se puede usar de forma gratuita en el navegador o en Node.js. [7]

Ver también

Referencias

  1. ^ "Edición de cliente Saxon 1.0". Saxónica . Consultado el 14 de agosto de 2012 .
  2. ^ Sitio web oficial de Saxon XSLT
  3. ^ Esta Recomendación se basa en el éxito de [XSLT 1.0], que se publicó el 16 de noviembre de 1999. Se han agregado muchas características nuevas al lenguaje (consulte J.2 Nueva funcionalidad) manteniendo un alto nivel de compatibilidad con versiones anteriores. Transformaciones XSL (XSLT) Versión 2.0
  4. ^ Transformaciones XSL (XSLT) versión 4.0.
  5. ^ "Presentación de Saxon-JS".
  6. ^ https://www.saxonica.com/papers/markupuk-2021mhk.pdf [ URL básica PDF ]
  7. ^ "Documentación de SaxonJS".

enlaces externos