Квантификаторы

Квантификаторы в XPath определяют либо существование хотя бы одного узла последовательности с определенным свойством, либо выделение всех узлов последовательности с определенным свойством.

В первом случае квантификатор, называемый квантификатором существования, записывается следующим образом:

some $имя-1 in выражение-1 [, $имя-2 in выражение-2 …]

satisfies выражение

Сначала вычисляется выражение-1. Затем переменная последовательно принимает значения узлов и/или атомарных значений, полученных в результате вычисления своего выражения. При этом каждый раз вычисляется из последовательности узлов, полученной в результате вычисления выражения-1. Аналогичным образом выполнятся операции и для остальных имен и выражений. Все полученные значения каждый раз подставляются в выражение. Как только одно из значений выражения станет равным true, вычисления прекращаются и квантификатор возвращает true. Если все возвращаемые в ходе подстановки значения возвращают false, квантификатор возвращает false.

Во втором случае квантификатор, называемый квантификатором всеобщности, записывается следующим образом:

every $имя-1 in выражение-1 [, $имя-2 in выражение-2 …]

satisfies выражение

Вычисление значения выполняется также как для предыдущего квантификатора, но квантификатор возвращает true, только если все подстановки возвращают true. Если при очередной подстановке возвращается значение false, вычисления прекращаются и квантификатор возвращает false.

 

Примеры квантификаторов:

1. some $a in (1, 2, 3, 4), $b in (1, 2)

satisfies $a + $b = 5 – возвращает true.

2. every $i in (1, 4.8, 12, 42)

satisfies $i instance of xs:integer – возвращает false.








Дата добавления: 2015-03-19; просмотров: 559;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.