跳至主要內容
Administrator Guide
上次更新時間 :2023-06-23
參照︰Saxon XSLT 處理器變更

參照︰Saxon XSLT 處理器變更

下表匯總了 Workday 對各種版本的 Saxon 和 XSLT 的支援。請注意,在第 27 版之後,Workday 在表單中引入了新的命名方案。
year.week
Workday 版本
支援的撒克遜版本
支援的 XSLT 版本
附註
<20
9.1
1.0, (2.0)
對 XSLT 2.0 版的有限支援。
20-2017.05
9.4
2.0, (3.0)
對 XSLT 3.0 版的有限支援。
2017.05-
9.7
3.0
支援 XSLT 串流。
如果您建立的集合中包含不同版本的程序集,則 Studio 會顯示警告訊息。這是因為不同版本的程序集需要的 Saxon 版本可能會衝突,從而導致執行階段的類別載入錯誤。最佳做法是對所有整合使用最新的程序集版本。
請注意以下事項︰
  • MVEL 中可用於存取訊息部分和變數的 XPath 方法支援 XPath 3.0。
  • mctx
    URL 通訊協定允許 XSL 開發人員寫入訊息部分和變數,例如︰
    <xsl:result-document href="mctx:vars/var1">...</xsl:result-document>
  • 雖然 XQuery 不提供直接程序集支援,但您可以新增自訂步驟來呼叫 XQuery 指令碼。
  • 在 2022.46 版或更早版本的程序集中,只有在符合以下條件時,Saxon 才會設為預設轉換工具︰
    use.saxon.transformer
    屬性設為
    true
    於中介環境定義中。在 2022.47 版或更高版本的程序集中,如果該屬性設為「」,則該撒克遜文會設為預設值
    true
    或未顯示。
XSLT 2.0 和 XSLT 3.0 是強類型。例如,不允許
xs:string
要評估「」在 XPath 運算式中的相等性。以下運算式,其中
stringParam
是 XSL 參數,則會導致撒克遜執行階段錯誤︰
$stringParam = true()
XSL 編譯器在部署時不會遇到此問題,因為它無法預先預測參數的類型。
此強類型類型問題不會影響您現有的 XSL 文件和 Workday Studio 整合,除非您選擇啟用 XSLT 3.0,方法是將 XSL 文件中的
version
屬性值變更為︰
3.0
。如果您遇到這些執行階段錯誤 (由您與整合一起部署的 XSLT 所導致),您必須採取行動加以修正。
在列印業務表單的舊版 XSL 中,發現以下與 Saxon 升級相關的錯誤︰
Failed to compile stylesheet.
X
errors detected. Invalid value for @case-order. Value must be one of (lower-first|upper-first).
如果您遇到此錯誤,請檢查 XSL 的排序元素是否包含以下屬性內容設定︰
case-order="#default"
這個選填
case-order
「」屬性會決定排序時先列出大寫還是小寫字母。預設會先列出大寫字母。Saxon 剖析器僅接受大小寫順序的下列值︰
  • upper-first
  • lower-first
若要修正此錯誤,請執行下列其中一項操作︰
  • 請從排序元素中移除現有的個案順序屬性內容,因為這是選用設定。
  • 將個案順序值明確設為
    upper-first
  • 將個案順序值明確設為
    lower-first