我试图找到文档属性中具有属性<id>
的所有文档的共现。以下是我为列出共现而无法正常工作的代码..可以有人建议我做错了什么。
xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";
declare namespace prop = "http://marklogic.com/xdmp/property";
import module namespace search = "http://marklogic.com/appservices/search" at "/MarkLogic/appservices/search/search.xqy";
cts:value-co-occurrences(
cts:element-reference(xs:QName('prop:id')),
cts:uri-reference())
答案 0 :(得分:5)
注意:我在接受后编辑了这个答案,因为我给了三个项目。编辑是为了突出显示给出解决方案的答案部分
解决方案: - 属性片段中的命名空间不同
回复的原始措辞:
您确定有问题的元素实际上是在索引显示的属性名称空间中吗?快速转储cts:element-values可能会显示这一点。我之所以提到这一点,是因为向属性片段添加属性并不能推断它们位于属性名称空间中。
其他想法 - 不是答案,而是调查路径
我认为你正在寻找cts:value-tuples而不是根据你的例子共同出现。
但是:从你的问题陈述中,为什么你不只是在属性片段上使用cts:uris()约束cts:element-query()(并且没有范围索引)
这可以告诉你属性片段中元素my-element所在的所有URI:
cts:uris("", (),
cts:properties-fragment-query(
cts:element-query(xs:QName("my-element"),
cts:and-query( () ))
)
)
答案 1 :(得分:1)
没有提供错误消息,所以这是猜测。确保你打开了URI词典 - cts:uri-reference否则会抛出错误。