Синтаксис языка 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

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