Xquery 元素属性范围查询正在获取结果,但元素属性值查询未获取任何结果
我想获取具有特定元素属性值的文档 因此,我尝试了Xquery 元素属性范围查询正在获取结果,但元素属性值查询未获取任何结果,xquery,marklogic,Xquery,Marklogic,我想获取具有特定元素属性值的文档 因此,我尝试了cts:element属性值查询,但没有得到任何结果。但是相同的元素属性值,我可以使用cts:element-attribute-range查询获得 这里是使用的示例代码段 let $s-query := cts:element-attribute-range-query(xs:QName("tit:title"),xs:QName("name"),"=", "SampleTitle", ("collation=http://marklogic.c
cts:element属性值查询
,但没有得到任何结果。但是相同的元素属性值,我可以使用cts:element-attribute-range查询
获得
这里是使用的示例代码段
let $s-query := cts:element-attribute-range-query(xs:QName("tit:title"),xs:QName("name"),"=",
"SampleTitle",
("collation=http://marklogic.com/collation/codepoint"))
let $s-query := cts:element-attribute-value-query(xs:QName("tit:title"),xs:QName("name"),
"SampleTitle",
())
return cts:search(fn:doc(),($s-query))
范围查询的问题是它需要范围索引。我在多个主机中有数百个数据库。我需要在每个数据库上创建范围索引
属性值查询可能有什么问题?我通过几项研究发现了这个问题 实际上,结果文档是法语文档。它的结构如下。这是一个样本
<doc xml:lang="fr:CA" xmlns:tit="title">
<tit:title name="SampleTitle"/>
</doc>
但是cts:element属性范围查询不需要语言选项
感谢您的努力。无法使用MarkLogic数据库8.0-3复制。你能详细说明吗?正确。默认情况下,范围索引处理精确的值,而值查询处理特定于语言的通用索引。您可以尝试使用“精确”或“通配符”作为值查询的选项。@grtjn,我的文档是完全保密的,我不应该得到任何部分。所以,我只是提供了样本。我在VDI机器上工作,在另一台机器上问这个问题。所以,当我得到答案时,我只是把它打出来。这是个打字错误。
cts:element-attribute-value-query(xs:QName("tit:title"),xs:QName("name"), "SampleTitle",("lang=fr"))