我需要为带有命名空间的路径构建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中的等价物。
你知道怎么做吗?
答案 0 :(得分:2)
MarkLogic 9中引入了正确,cts:range-query
和cts.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!