これは、MarkLogic XQueryマネージャで関数を開発しようとする簡単な単純化です。私が書こうとしている関数は、入力としてヌルノードを受け取ることができなければなりません。私は()
に "empty node"を意味するように渡そうとしていましたが、それはどんな種類のトレースもなくクラッシュするようです。Marklogicが空ノードをxquery関数に渡す
たとえば、示された簡単な例では、単純に数字「1」が返されると予想されますが、そうではありません。代わりに小さな空でないXML文書を渡すと、簡単な例が動作します。
私の推論で何が間違っていますか、空のノードを渡してください。
declare function local:x ($i as node()) as xs:string*
{ let $x := "1"
return $x
};
local:x (());
を返します。あなたにもう少し詳しい情報を与えるなら、おそらく私が必要とするヒントを正確に教えてください。 MarkLogicはXQuery関数への反復呼び出しを可能にしています。私がしようとしているのは、蓄積された情報を入れ子にされた呼び出しに渡す関数の引数を提供することです。だから、fopレベルのコールはx(何もないもの)で、ネストされたコールはx(何か、何か)でしょう。 – Latitude42
関数のマッピングについて話していますか?とにかく、あなたがこの質問に合っていると思うのであれば、あなたの質問を編集してください。私は自分の答えに適応しようとします。それ以外の場合は、新しい質問を作成してください。 – Riiverside
ありがとう!あなたは私の問題に私を導いてきました。関数のマッピングが意味するものはわかりませんでしたが、それは問題です。私はそれをオフにする方法を学んだとき、私はそうし、私の静かな失敗はあなたが私に最初に説明していたものである "無効な強制"に変更されました。 – Latitude42