我有以下代码:
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:搜索根据相关性返回文档。 这两个代码都以不同的顺序返回。 哪个会以正确的相关性返回结果?为什么?
答案 0 :(得分:3)
第一个。
在第二个中,XPath应用于cts:search返回的整个序列,但是根据XPath标准,其结果被重新排序为文档顺序,当序列中的节点来自不同时,这变得不可预测文档。
第一个对序列应用FLWOR迭代,确保保持顺序,并且XPath分别应用于序列中的每个项目。
HTH!