私は、オンザフライで生成するXML文書を持っており、重複するノードを排除する関数が必要です。XQueryで重複ノードを削除するにはどうすればよいですか?
のように私の関数が見えます:サンプル出力がある
declare function local:start2() {
let $data := local:scan_books()
return <books>{$data}</books>
};
:
<books>
<book>
<title>XML in 24 hours</title>
<author>Some Guy</author>
</book>
<book>
<title>XML in 24 hours</title>
<author>Some Guy</author>
</book>
</books>
そこにパンフレットを言うように、私は私の本のルートタグで一つだけのエントリーをしたい、と他のタグがあります重複を削除する必要があります。何か案は?
以下のコメントが更新されました。ユニークなノードでは、まったく同じ内容と構造を持つ複数のノードが削除されます。
ちょっとDimitre、答えに感謝;しかし、私が正しく理解すれば、クエリに組み込まれている同じ構造を持つすべての要素に依存します。たとえば、同じタイトルと異なる著者を持つ場合、2つのノードを表示します。 – Brabster
@Brabster不平等/一意性のテストがどのように定義されるべきかという疑問からはっきりとしていません。定義しておけば、より簡単な解決策を見つけるのに役立ちます –
これはXPath 1.0ではうまくいかないようですが、XPath 1.0の実用的なソリューションを手に入れることはできますか? – abarax