Марклогические лексики: понимание cts: элемент-значения
Я пытаюсь понять использование
cts:element-values($element-names as xs:QName*,[$start as xs:anyAtomicType?])
У меня сложилось впечатление, что вышеприведенная функция возвращает значения из лексикона значения указанного элемента, начиная с $start. На запрос:
cts:element-values(xs:QName("ts:title"), "He")
Я ожидал результатов, начиная только с "Он", но я также получил такие результаты, как:
(как я прокручиваю вниз) Я чувствую себя хорошо
Я обойду
Я хотел бы знать, что именно указывает $start?
2 ответа
Думать о $start
не как начальный префикс, а как начальная позиция в списке. Вы получаете все значения с этого момента.
Для ограничения по префиксу, который вы хотите использовать cts:element-value-match
который принимает $pattern
, http://docs.marklogic.com/cts:element-value-match
cts:element-values
и тому подобное, возвращаемое значение больше или равно $start
значение. Это действительно просто начальное место для всех значений, пока не исчерпан лимит.
Если вы ищете функцию, которая возвращает значения, соответствующие определенному шаблону, вы, вероятно, захотите использовать cts:element-value-match
вместо:
cts:element-value-match(xs:QName("title"), "He*")
НТН!