Синтаксис языка XPath
При настройке политики Чтение файлов/выполнение команд доступно задание фильтров на языке XPath.
Операторы и специальные символы
Обозначение | Описание |
---|---|
/ |
Дочерний элемент |
/descendant-or-self::node() // |
Рекурсивный спуск |
self::node() . |
Текущий контекст |
parent::node() .. |
Родитель узла текущего контекста |
child::* * |
Все элементы |
@ |
Префикс имени атрибута |
attribute::* @* |
Все атрибуты |
: |
Разделитель пространства имени |
( ) |
Группировка операций |
[ ] |
Шаблон фильтра |
+ |
Сложение |
- |
Вычитание |
div |
Деление с плавающей запятой |
* |
Умножение |
mod |
Остаток от деления |
Операторы сравнения
Обозначение | Описание |
---|---|
< |
Меньше |
<= |
Меньше или равно |
= |
Равно |
> |
Больше |
>= |
Больше или равно |
Функции
Функции для наборов узлов
Обозначение | Описание |
---|---|
count() |
Получение количества узлов в множестве |
id() |
Выбор элемента с уникальным идентификатором |
last() |
Получение номера последнего элемента в множестве |
local-name() |
Получение имени первого узла в множестве |
name() |
Получение полного имени узла в множестве |
namespace-uri() |
Получение URI-кода пространства имен |
position() |
Получение позиции элемента в множестве |
Строковые функции
Обозначение | Описание |
---|---|
concat(string, string, string*) |
Сцепление строк |
contains(string, string) |
Определение, есть ли в заданной строке искомая строка |
normalize-space(string) |
Удаление начальных, конечных и повторяющихся пробелов в строке |
starts-with(string, string) |
Определение, есть ли в начале строки искомая строка |
string(object) |
Преобразование объекта в строку |
string-length(object) |
Получение числа символов в строке |
substring(string, number, number?) |
Получение подстроки |
substring-after(string, string) |
Получение подстроки, которая следует за вторым аргументом строки |
substring-before(string, string) |
Получение подстроки, которая следует до второго аргумента строки |
translate(string, string, string) |
Получение строки, в которой символы из второго аргумента заменены на символы третьего аргумента с учетом позиции |
Оси
Обозначение | Описание |
---|---|
ancestor:: |
Предки узла контекста |
ancestor-or-self:: |
Узел контекста и его предки |
@ attribute |
Атрибуты контекстного узла |
child:: |
Дочерние элементы узла контекста |
.// descendant |
Потомки контекстного узла |
descendant-or-self:: |
Узел контекста и его потомки |
following:: |
Все узлы, расположенные на дереве после узла контекста |
following-sibling:: |
Все следующие элементы узла контекста с общим родителем |
namespace:: |
Узлы пространства имен узла контекста |
.. parent |
Родитель узла контекста |
preceding:: |
Все узлы, расположенные на дереве перед узлом контекста |
preceding-sibling:: |
Все предшествующие элементы узла контекста с общим родителем |
. self |
Только сам контекстный узел |