1

我需要为带有命名空间的路径构建一个 pathRangeQuery。这在 MarkLogic 9 中可以通过使用cts.rangeQuery和构建一个cts.reference. 前 ML9:

var qname = fn.QName("http://mynamespace.com/example","name");
var elRef = cts.elementReference(qname, ["type=string", "collation=http://marklogic.com/collation/codepoint"]);
var q = cts.rangeQuery(elRef,'>=','myname');

不幸的是,我在 MarkLogic 8 中找不到等价物。

你知道怎么做吗?

4

1 回答 1

2

正确,cts:range-querycts.rangeQuery在 MarkLogic 9 中引入。在旧版本中,您需要使用更具体的范围查询函数,例如:

http://docs.marklogic.com/8.0/cts.pathRangeQuery

http://docs.marklogic.com/8.0/cts.elementRangeQuery

然而,当使用命名空间时,最新的注意事项是使用cts.rangeQuery而不是cts.pathRangeQuery. 这不是 MarkLogic 8 的选项。使用 XQuery,您可以在 XQuery 代码中声明一个名称空间,这样会很好,但这在 SJS 中也不是一个选项。

您需要在应用服务器或组级别声明命名空间,以使其在 MarkLogic 8 中工作。

于 2018-01-25T10:11:15.733 回答