元素属性范围查询获取结果,但元素属性值查询未获取任何结果

element-attribute-range-query fetching result but element-attribute-value-query is not fetching any result

我想获取具有特定元素属性值的文档。

因此,我尝试了 cts:element-attribute-value-query 但没有得到任何结果。但是相同的元素属性值,我可以使用 cts:element-attribute-range-query.

此处使用了示例代码段。

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-attribute-value-query 是一个依赖于语言的查询。要获得法语结果,则需要在选项中提及语言,如下所示。

cts:element-attribute-value-query(xs:QName("tit:title"),xs:QName("name"), "SampleTitle",("lang=fr"))

但是cts:element-attribute-range-query不需要语言选项。

感谢您的努力。