Для работы некоторых функций требуется информация. Эта информация передается в виде параметров, помещаемых в круглых скобках ( ).
Для того чтобы открыть параметры описания функций, перейдите на вкладку Описание мастера выражений 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 в значительной степени использует синтаксис 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.