0

ノードを引数として受け入れる関数があります。パスが存在するかどうかに関係なく、パスの文字列表現を取得したいと思います。

declare function mylib:getString($node) as xs:string {
    return /*the string representation of the node's path*/
};

そしてサンプル呼び出し:

mylib:getString($xmlMessage/some/dummy/element);

上記の例は文字列を返す必要があり/some/dummy/elementます。私はすでに2つの解決策を試しました:

  1. 関数path()(例:/ some / node / path())。
  2. FunctXライブラリ内の関数path-to-node(...)ですが、成功しません。

残念ながら、両方の機能は既存のノードでのみ機能します。

4

1 に答える 1

1

何も返さない場合/some/dummy/element、どの特定の何も返さなかったかを見つける方法はありません。パス式が何も選択しない場合、結果は空のシーケンスになり、空のシーケンスに関数を適用して、空のシーケンスがどこから来たのかを判別することはできません。

于 2012-07-30T16:26:55.977 に答える