1
我正在利用MarkLogic在XSL轉換中調用XQuery函數的能力。強制無效:()as xs:xslt-eval中的xs:string
比方說,我有一個XQuery庫,其函數的簽名如下所示。這僅用於說明目的。
declare function my-func:ex-join($first as xs:string, $last as xs:string) as xs:string
{
fn:concat($first, '-', $last)
}
從XQuery的,我可以叫空序列參數此功能,沒有問題,即
ex-join((), '1244')
該函數將只返回一個空序列,但我沒有得到任何錯誤。如果我嘗試所有這些功能從我的XSL轉換,如:
<xsl:value-of select="my-func:ex-join(//node/value/text(), 'something')"/>
如果/節點/值不存在,和一個空的序列傳遞中,我得到了強制錯誤。
有沒有人有建議來解決強制問題,除了在選擇之前檢查XSL中的值?這些是自動生成的XSL模板,這意味着很多編碼檢查。
感謝,
-tj
Thanks @grtjn。這解決了我的問題。 –