Riferimenti: Modifiche al processore Saxon XSLT
La tabella seguente riepiloga il supporto di Workday per varie versioni di Saxon e XSLT. Si noti che dopo la versione 27, il sistema ha introdotto un nuovo schema di denominazione nel modulo
year.week
.Versione Workday | Versione Saxon supportata | Versione XSLT supportata | Note |
|---|---|---|---|
<20 | 9.1 | 1.0, (2.0) | Supporto limitato per XSLT versione 2.0. |
20-2017.05 | 9.4 | 2.0, (3.0) | Supporto limitato per XSLT versione 3.0. |
2017.05- | 9.7 | 3,0 | Supporto per streaming XSLT. |
Studio visualizza un messaggio di avviso se si crea una raccolta contenente assembly con numeri di versione diversi. Ciò è dovuto al fatto che gli assembly con versioni diverse possono richiedere versioni di Saxon in conflitto, causando errori di caricamento delle classi in fase di esecuzione. La best practice consiste nell'utilizzare le versioni più recenti dell'assembly per tutte le integrazioni.
Si noti quanto segue:
- I metodi XPath disponibili in MVEL per l'accesso alle parti e alle variabili dei messaggi supportano XPath 3.0.
- IlmctxIl protocollo URL consente agli sviluppatori XSL di scrivere parti e variabili del messaggio, ad esempio:<xsl:result-document href="mctx:vars/var1">...</xsl:result-document>
- Sebbene non sia disponibile il supporto dell'assembly diretto per XQuery, è possibile aggiungere step personalizzati per richiamare gli script XQuery.
- Negli assembly con versione 2022.46 o precedente, Saxon è impostato come trasformatore predefinito solo quando iluse.saxon.transformerLa proprietà è impostata sutruenel contesto della mediazione Negli assiemi con versione 2022.47 o successiva, Saxon è impostato come valore predefinito se la proprietà è impostata sutrueo se non è presente.
XSLT 2.0 e XSLT 3.0 sono fortemente tipizzati. Ad esempio, non sono consentiti
xs:string
da valutare per l'uguaglianza nelle espressioni XPath. L'espressione seguente, in cui stringParam
è un parametro XSL, genera un errore di runtime sassone:
$stringParam = true()
Il compilatore XSL non riscontrerà il problema al momento della distribuzione, perché non è in grado di prevedere in anticipo il tipo di parametro.
I documenti XSL esistenti e le integrazioni di Workday Studio non saranno interessati da questo grave problema di tipizzazione, a meno che non si scelga di abilitare XSLT 3.0 modificando il valore dell'attributo
della versione
nei documenti XSL in 3.0
. Se si verificano questi errori di runtime, che derivano dall'XSLT distribuito con l'integrazione, è necessario intervenire per correggerli.Nell'XSL legacy per la stampa dei moduli aziendali è stato rilevato il seguente errore relativo all'aggiornamento sassone:
Se si verifica questo errore, verificare se l'XSL contiene la seguente impostazione di attributo in un elemento di ordinamento:Failed to compile stylesheet.Xerrors detected. Invalid value for @case-order. Value must be one of (lower-first|upper-first).
Facoltativocase-order="#default"
case-order
determina se l'ordinamento elenca per prime le lettere maiuscole o minuscole nell'ordinamento. L'impostazione predefinita è elencare prima le lettere maiuscole. Il parser Saxon accetta solo i seguenti valori per l'ordine dei ticket:
- upper-first
- lower-first
- Rimuovere l'attributo ticket esistente dall'elemento di ordinamento, perché è un'impostazione facoltativa.
- Impostare il valore dell'ordine ticket in modo esplicito suupper-first.
- Impostare il valore dell'ordine ticket in modo esplicito sulower-first.