元素搜索后返回文档URI

时间:2016-08-25 11:11:05

标签: marklogic

我正在尝试根据元素值进行搜索。这应该返回元素值和具有匹配元素值的文档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>

1 个答案:

答案 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词典。