我想获取具有特定元素属性值的文档。
所以,我尝试了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))
范围查询的问题是它需要范围索引。我在多个主机中有数百个数据库。我需要在每个DB上创建范围索引。
属性值查询有什么问题?
答案 0 :(得分:2)
我通过几项研究找到了这个问题。
实际上,结果文件是法语文件。它具有如下结构。这是一个样本。
<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
不需要语言选项。
感谢您的努力。