2017-07-14 13 views
2

I持って、次のコード:は、どのように、CTSの関連性の順序を保持するために:検索結果

1)

for $song in cts:search(fn:doc(), "night") 
return $song/ts:top-song/ts:title/text() 

2)

cts:search(fn:doc(), "night")/ts:top-song/ts:title/text() 

CTS:検索が関連性につきなどの文書を返します。 両方のコードは、結果を異なる順序で返します。 結果は正しい関連性を持ち、その理由は何ですか?

答えて

3

最初です。

2番目の例では、XPathはcts:searchによって返されるシーケンス全体に適用されますが、XPath標準に従って、その結果はドキュメント順に並べ替えられ、シーケンス内のノードが出現すると予測できなくなります異なる文書。

最初は、シーケンスにFLWOR反復を適用して順序を保持し、シーケンス内の各アイテムにXPathを適用します。

HTH!

+0

はい、多くの明快さをもたらします。ありがとう – Yash

関連する問題