【发布时间】:2020-02-24 11:13:36
【问题描述】:
【问题讨论】:
-
如果答案解决了您的问题,请接受(见What should I do when someone answers my question?),否则请留下反馈。
标签: xquery marklogic marklogic-9 marklogic-dhf multi-model-database
【问题讨论】:
标签: xquery marklogic marklogic-9 marklogic-dhf multi-model-database
他们应该执行相同的操作。这两个函数都提供了一种查询词典(范围索引)的方法。
对于cts.values(),第一个参数是cts.reference[]。因此,这意味着您可以提供任何cts.reference 类型:cts.elementReference、cts.elementAttributeReference、cts.fieldReference、cts.jsonPropertyReference、cts.pathReference,以及cts.collectionReference 和cts.uriReference。
对于cts.elementValues() 查询,第一个参数是元素的xs.QName[],而不是cts.reference[]。
这些其他词典值函数在参数上有类似的差异,但实际上也是调用cts.values()的不同方式:
【讨论】:
cts.elementValues e.a 是原始函数名称。随着时间的推移,越来越多的索引类型被添加,并且在某些时候提供一个更通用的cts.values 来代替引用是有意义的。 cts.elementRangeQuery 与 cts.rangeQuery 的类似故事。如果我没记错的话,大约在同一时间添加了cts.valueTuples,这允许传入引用的随机组合,而不是更严格的cts.elementValueCoOccurrences e.a..