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。这解决了我的问题。 –