Предикаты используются для фильтрации текущего набора элементов. Предикат содержит булево выражение (или выражение, которое может быть преобразовано в булево). Каждый член текущего набора элементов проверяется по булеву выражению и сохраняется, если выражение истинно; иначе он отбрасывается. Предикат заключается в квадратные скобки – [].
Предикаты могут использовать также операции отношений:
Операции равенства
| Оператор
| Описание
| Пример
| Результат
|
| =
| Равно
| 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
|
|