Мастер выражений XPath — Параметры описания функций

При создании выражения XPath можно использовать параметры описания функций для указания функций наборов узлов, функций с типами булевский, строковый, числовой, XSLT и пользовательских функций. Функции позволяют более продуктивно использовать выражения XPath.

Для работы некоторых функций требуется информация. Эта информация передается в виде параметров, помещаемых в круглых скобках ( ).

Для того чтобы открыть параметры описания функций, перейдите на вкладку Описание мастера выражений XPath.

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

Для работы с наборами узлов можно использовать следующие функции.

Функция Возвращает
count( )  Количество узлов в наборе узлов.
last( ) Размер (то есть число узлов) списка узлов контекста.
position Положение узла в наборе узлов, в порядке документа. Например: position( ) = 2 возвращает второй элемент в наборе узлов.
id(string Набор узлов, содержащий все элементы в документе с указанной строкой string.
local-name(node set ) Имя первого узла в наборе узлов node set. При отсутствии аргумента будет возвращено локальное имя узла контекста.
namespace uri( ) URI пространства имен узла контекста.
name( )  Имя узла контекста, включая префикс пространства имен.

Булевские функции

Эти функции можно использовать для вычисления булевских выражений.

Функция Возвращает
boolean ( )  Проверяет значение выражения, которое может быть true или false.
false ( ) Всегда возвращает значение false
true ( ) Всегда возвращает значение true
lang ( ) Возвращает true или false — в зависимости от того, является ли язык узла контекста, указанный в атрибутах xml:lang, тем же языком, который указан в строке аргументов, или же его вложенным языком.
not ( ) Отрицание значения булевского выражения: true — если значение выражения было равно false, и false — в противном случае.

Строковые функции

Эти функции можно использовать для работы со строками.

Функции Возвращает
concat( ) Конкатенация аргументов. Например: concat ('Это', ' ', 'моя строка') возвращает "Это моя строка"
contains( )  Указывает, содержится ли в одной строке информация из другой строки. Например: contains ("Это моя строка", "моя") возвращает true, поскольку строка "Это моя строка" действительно содержит строку "моя".
normalize-space( ) Строка аргумента после удаления лишних пробелов перед словами и после слов. Последовательность символов пробел заменяется одним пробелом.
starts-with( ) Указывает, является ли начало строки содержимым второй строки. Например: starts-with ("Это моя строка", "Это") возвращает true, поскольку начало строки "Это моя строка" действительно является содержимым строки "Это".
string( ) Преобразует любое значение в строку.
string-length( ) Число символов в строке, включая пробелы.
substring( ) Извлекает из строки указанное число символов. Например: substring ('Это моя строка' ,5, 3 ) возвращает моя, поскольку в качестве начального указан пятый символ, а количество извлекаемых символов равно трем.
substring-after( ) Все символы после указанного символа. Например: substring-after ('Это моя строка','о' ) возвращает все символы после первого появления буквы "о", то есть "моя строка".
substring-before( ) Все символы до указанного символа. Например: substring-before ('Это моя строка','о' ) возвращает все символы, расположенные до первого появления буквы "о", то есть "Эт".
translate (строка, фрагмент, заменить-на ) Возвращает строку string, в которой все фрагменты фрагмент заменены на строку заменить-на.

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

Эти функции можно использовать для вычисления числовых выражений.

Функция Возвращает
ceiling ( ) Значение выражения, округленное до большего целого числа.
floor ( ) Значение выражения, округленное до меньшего целого числа.
round ( ) Значение выражения, округленное до ближайшего целого числа.
number ( ) Преобразует текст PCDATA в числовое значение.
sum ( ) Суммирует все числовые значения в наборе узлов.

Функции XSLT

XSLT в значительной степени использует синтаксис XPath и поддерживает все функции, определенные в XPath. Кроме того, в нем определено десять дополнительных функций.

Функция Возвращает
current( ) Набор узлов, содержащий единственный узел — текущий узел.
document( ) Разрешает доступ к документам XML, отличающимся от главного документа исходного текста.
element-available( )  true — если указанный аргумент идентифицирует элемент XSLT, распознаваемый обработчиком; false — в противном случае.
format-number (number x, string шаблон ) Преобразует number x в строку по шаблону string шаблон, указанному во втором аргументе.
function-available( ) true — если аргумент идентифицирует функцию в библиотеке функций обработчика; false — в противном случае.
generate-id( ) Возвращает строку, которую можно использовать как значение атрибута типа ИД.
key (string ключ, object значение ) Набор узлов, содержащий все узлы исходного документа, имеющие ключ с именем, указанным в первом аргументе, и значение, указанное во втором аргументе.
unparsed-entity-uri( ) URI не анализируемой сущности с указанным именем, объявленным в DTD документа исходного текста.
system-property( ) Значение указанного именованного свойства.

Пользовательские функции

Любые пользовательские функции, которые можно использовать в выражениях XPath.


Комментарии