2016-07-12 2 views
2

xmlレコードのセットがあるとします。各レコードは<paragraph> pla pla pla </paragraph>です。どのようにすべてのレコードのすべての段落からdistinctive-termsを抽出するのですか? 各段落別にはありません。次のコードは、各段落から別々にdistinctive-termsを抽出します。Xquery xmlレコードのセット内のXMLノードのセットから特有の用語を抽出するにはどうすればよいですか?

for $record in /rec:Record 


for $record in /rec:Record 
let $distinct-terms:= cts:distinctive-terms(<info>{$record/rec:paragraph } </info> ,<options xmlns="cts:distinctive-terms"><max-terms>10</max-terms></options>)//cts:text/string() 
return 
$distinct-terms 

私が欲しいの出力は、個別に各レコードのすべてのレコードない内のすべての段落を表しdistinctive-termsです。

答えて

4
関数呼び出しの内側にループを移動し

cts:distinctive-terms(/rec:Record/<info>{./rec:paragraph}</info>) 
+0

それは働きました。ありがとう –

+0

ドット演算子に続いて '{./rec:paragraph}'のスラッシュ演算子 '。/'は何を意味しますか? –

+0

現在のコンテキストノードの略語です。この場合、 '/ rec:Record /'はすべてのrec:Recordルート要素を反復し、 ' {./rec:paragraph}'がそれぞれ評価されます。ですから、基本的に '.'はrecを指します:ここに記録してください.. – grtjn

関連する問題