MarkLogicがXSL変換でXQuery関数を呼び出す機能を利用しています。無効な強制:xs:string in xdmp:xslt-eval
私は、次のような署名を持つ関数を持つXQueryライブラリを持っています。これは説明のためのものです。 XQueryのから
declare function my-func:ex-join($first as xs:string, $last as xs:string) as xs:string
{
fn:concat($first, '-', $last)
}
パラメータは、問題なく、すなわち
ex-join((), '1244')
機能がちょうど空のシーケンスが返されますが、私はすべてのエラーを取得しないよう、私は空のシーケンスでこの関数を呼び出すことができます。私は私のXSLにしてから、すべてこの関数にしようとした場合のように、変換:
<xsl:value-of select="my-func:ex-join(//node/value/text(), 'something')"/>
/ノード/値が存在せず、空のシーケンスが渡された場合、私は強制エラーが発生します。
選択の前にXSLの値をチェックする以外に、強制的な問題を回避する方法はありますか?これらは自動生成されたXSLテンプレートであり、多くのコード化されたチェックを意味します。
おかげで、
ありがとう@grtjn。それが私の問題を解決しました。 –