Saltar al contenido principal
Administrator Guide
Última actualización: 2023-06-23
Referencia: cambios en el procesador XSLT de Saxon

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.
  • El
    mctx
    El 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 el
    use.saxon.transformer
    la propiedad se establece en
    true
    en 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 en
    true
    o 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:
Failed to compile stylesheet.
X
errors detected. Invalid value for @case-order. Value must be one of (lower-first|upper-first).
Si encuentra este error, compruebe si su XSL contiene la siguiente configuración de atributo en un elemento de ordenación:
case-order="#default"
Esta opción
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
Para corregir este error, realice una de las siguientes acciones:
  • 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 en
    upper-first
    .
  • Establezca el valor de orden de caso explícitamente en
    lower-first
    .