Марклогические лексики: понимание 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*")

НТН!

Другие вопросы по тегам