Marklogic - 如何在 cts:uris 中添加集合名称

Marklogic -How to add the collection name in cts:uris

查询:

let $collection := "sampledata"

for $uri1 in cts:uris((),(),( 
cts:element-query(xs:QName("root"),
cts:and-query((
cts:element-attribute-value-query(xs:QName("root"),xs:QName($value1),$value2),
cts:element-attribute-value-query(xs:QName("root"),xs:QName($value3),$value4),
cts:element-value-query(xs:QName("year"),$value5),
cts:element-value-query(xs:QName("month"),$value6),
cts:element-attribute-value-query(xs:QName("num"),xs:QName("value"),$value7)
)))) )

return $uri1

如何在上述xquery中添加集合名称。

您可以使用 cts:collection-query(),如:

cts:and-query((
    cts:collection-query("sampledata"),
    cts:element-query(...)
    ))

参见:

http://docs.marklogic.com/cts:collection-query

顺便说一句,当只返回 uri 时,不需要 for/return 迭代。结果与只返回 cts:uris().

相同

希望对您有所帮助,