Предикаты используются для фильтрации текущего набора элементов. Предикат содержит булево выражение (или выражение, которое может быть преобразовано в булево). Каждый член текущего набора элементов проверяется по булеву выражению и сохраняется, если выражение истинно; иначе он отбрасывается. Предикат заключается в квадратные скобки – [].
Предикаты могут использовать также операции отношений:
Операции равенства
Оператор
| Описание
| Пример
| Результат
|
=
| Равно
| price=9.80
| 'истина' (если значение price равно 9.80)
|
!=
| Не равно
| price!=9.80
| 'ложь'
|
Операции Сравнения
Оператор
| Описание
| Пример
| Результат
|
<
| Меньше
| price<9.80
| 'ложь' (если price равно 9.80)
|
<=
| Меньше или равно
| price<=9.80
| 'истина'
|
>
| Больше
| price>9.80
| 'ложь'
|
>=
| Меньше или равно
| price>=9.80
| 'истина'
|
Замечание: XPath всегда преобразует каждый аргумент в число перед выполнением сравнения.
Булевы Выражения
Оператор
| Описание
| Пример
| Результат
|
or
| или
| price=9.80 or price=9.70
| 'истина' (если price равно 9.80)
|
and
| и
| price<=9.80 and price=9.70
| 'ложь'
|
Числовые Выражения
Оператор
| Описание
| Пример
| Результат
|
+
| Сложение
| 6 + 4
|
|
-
| Вычитание
| 6 - 4
|
|
*
| Умножение
| 6 * 4
|
|
div
| Деление
| 8 div 4
|
|
mod
| Остаток от деления
| 5 mod 2
|
|