Referencia: cambios en el procesador XSLT de Saxon
La siguiente tabla resume la compatibilidad de Workday con varias versiones de Saxon y XSLT. Tenga en cuenta que después de la versión 27, Workday introdujo un nuevo esquema de nomenclatura en el formulario
year.week
.Versión de Workday | Versión de Saxon admitida | Versión de XSLT admitida | Notas |
|---|---|---|---|
<20 | 9.1 | 1.0, (2.0) | Compatibilidad limitada para la versión 2.0 de XSLT. |
20-2017.05 | 9.4 | 2.0, (3.0) | Compatibilidad limitada para la versión 3.0 de XSLT. |
2017.05- | 9.7 | 3,0 | Compatibilidad para la transmisión de XSLT |
Studio muestra un mensaje de aviso si crea una colección que contiene ensamblajes con distintos números de versión. Esto se debe a que los ensamblajes con versiones diferentes pueden requerir versiones de Saxon en conflicto, lo que provoca errores de carga de clases en tiempo de ejecución. La práctica recomendada es utilizar las últimas versiones de ensamblaje para todas sus integraciones.
Tenga en cuenta lo siguiente:
- Los métodos XPath que están disponibles en MVEL para acceder a partes y variables de mensajes admiten XPath 3.0.
- ElmctxEl protocolo URL permite a los desarrolladores de XSL escribir en partes y variables de mensajes, por ejemplo:<xsl:result-document href="mctx:vars/var1">...</xsl:result-document>
- Aunque no hay soporte de ensamblado directo para XQuery, puede añadir pasos personalizados para llamar a las secuencias de comandos de XQuery.
- En los ensamblajes con la versión 2022.46 o anterior, Saxon se define como el transformador por defecto solo cuando eluse.saxon.transformerla propiedad se establece entrueen el contexto de mediación. En los ensamblajes con la versión 2022.47 o posterior, Saxon se establece como valor por defecto si esa propiedad se establece entrueo si no está presente.
XSLT 2.0 y XSLT 3.0 están fuertemente tipados. Por ejemplo, no permiten
xs:string
para que se evalúe la igualdad en las expresiones XPath. La siguiente expresión, en la que stringParam
es un parámetro XSL, da como resultado un error de tiempo de ejecución de Saxon:
$stringParam = true()
El compilador XSL no encontrará el problema en el momento de la implementación, ya que no puede predecir de antemano qué tipo tendrá el parámetro.
Sus documentos XSL existentes y las integraciones de Workday Studio no se verán afectados por este problema de tipeo, a menos que decida activar XSLT 3.0 cambiando el valor del atributo de
versión
en sus documentos XSL a 3.0
. Si encuentra estos errores de tiempo de ejecución, que son el resultado del XSLT que implementa con su integración, debe tomar medidas para corregirlos.Se ha observado el siguiente error relacionado con la actualización de Saxon en el XSL heredado para la impresión de formularios de gestión:
Si encuentra este error, compruebe si su XSL contiene la siguiente configuración de atributo en un elemento de ordenación:Failed to compile stylesheet.Xerrors detected. Invalid value for @case-order. Value must be one of (lower-first|upper-first).
Esta opcióncase-order="#default"
case-order
El atributo determina si la ordenación enumera las letras mayúsculas o minúsculas primero en la ordenación. El valor por defecto es mostrar primero las mayúsculas. El analizador de Saxon solo acepta los siguientes valores para el orden de casos:
- upper-first
- lower-first
- Elimine el atributo de orden de caso existente del elemento de ordenación, ya que es una configuración opcional.
- Establezca el valor de orden de caso explícitamente enupper-first.
- Establezca el valor de orden de caso explícitamente enlower-first.