Marklogic 8 pathRangeQuery with namespace in javascript

Marklogic 8 pathRangeQuery with namespace in javascript

我需要为带有命名空间的路径构建一个 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 中找不到等效项。

你知道怎么做吗?

正确,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 中工作。

HTH!