带有命名空间的Marklogic 8 pathRangeQuery在javascript

时间:2018-01-24 17:12:05

标签: marklogic marklogic-8 marklogic-9 sjs

我需要为带有命名空间的路径构建pathRangeQuery。通过使用cts.rangeQuery并构建cts.reference,可以在MarkLogic 9中实现这一点。 前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中的等价物。

你知道怎么做吗?

1 个答案:

答案 0 :(得分:2)

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

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中的一个选项。

您需要在app-server或group级别声明命名空间,以使其在MarkLogic 8中有效。

HTH!