Синтаксис языка XPath

При настройке политики Чтение файлов/выполнение команд доступно задание фильтров на языке XPath.

Операторы и специальные символы

Обозначение Описание

/

Дочерний элемент

/descendant-or-self::node()

//

Рекурсивный спуск

self::node()

.

Текущий контекст

parent::node()

..

Родитель узла текущего контекста

child::*

*

Все элементы

@

Префикс имени атрибута

attribute::*

@*

Все атрибуты

:

Разделитель пространства имени

( )

Группировка операций

[ ]

Шаблон фильтра

+

Сложение

-

Вычитание

div

Деление с плавающей запятой

*

Умножение

mod

Остаток от деления

Коллекции

Обозначение Описание

author[1]

Первый элемент <author>

Операторы сравнения

Обозначение Описание

<

Меньше

<=

Меньше или равно

=

Равно

>

Больше

>=

Больше или равно

Логические выражения

Обозначение Описание

and

Логическое «И»

or

Логическое «ИЛИ»

not()

Отрицание

Выражение набора

Обозначение Описание

|

Операция множества для объединения узлов

Функции

Функции для наборов узлов

Обозначение Описание

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)

Получение строки, в которой символы из второго аргумента заменены на символы третьего аргумента с учетом позиции

Логические функции

Обозначение Описание

boolean()

Преобразование аргумента в логическое значение

false()

Получение значения false

lang(string)

Определение, совпадает ли атрибут xml:lang со строкой аргумента

not()

Отрицание логического значения

true()

Получение значения true

Численные функции

Обозначение Описание

ceiling()

Округление в большую сторону

floor()

Округление в меньшую сторону

number()

Преобразование аргумента в число

round()

Округление до ближайшего целого числа

sum()

Получение суммы всех узлов в множестве

Оси

Обозначение Описание

ancestor::

Предки узла контекста

ancestor-or-self::

Узел контекста и его предки

@ attribute

Атрибуты контекстного узла

child::

Дочерние элементы узла контекста

.//

descendant

Потомки контекстного узла

descendant-or-self::

Узел контекста и его потомки

following::

Все узлы, расположенные на дереве после узла контекста

following-sibling::

Все следующие элементы узла контекста с общим родителем

namespace::

Узлы пространства имен узла контекста

..

parent

Родитель узла контекста

preceding::

Все узлы, расположенные на дереве перед узлом контекста

preceding-sibling::

Все предшествующие элементы узла контекста с общим родителем

.

self

Только сам контекстный узел