我正在尝试根据元素值进行搜索。这应该返回元素值和具有匹配元素值的文档URI。我已经编写了如下代码,它可以很好地返回元素值。没有获得文档URI。如何获得两者。
xquery version "1.0-ml";
<results>{
let $x := cts:element-values(fn:QName("http://example.com/dataset","name"), (), ("frequency-order","document"), cts:query(
<and-query xmlns="http://marklogic.com/cts">
<word-query>
<text>paramedical</text>
</word-query>
<directory-query>
<uri>/dataset/</uri>
</directory-query>
</and-query>
))
for $dataset in $x
return
(
<result>
<name>{$dataset}</name>
<reference>{cts:uris($dataset)}</reference>
</result>
)
}</results>
答案 0 :(得分:2)
试试这个:
for $tuple in cts:value-tuples(
(
cts:element-reference(fn:QName("http://example.com/dataset","name")),
cts:uri-reference()
),
("frequency-order","document"),
$query
)
return $tuple
您需要启用URI词典。