Оси — это база языка XPath. Для некоторых осей существуют сокращённые обозначения.
| Функция | Описание | |
| node-set | node() | Возвращает сам узел. Вместо этой функции часто используют заменитель *, но, в отличие от звёздочки, функция node() возвращает и текстовые узлы |
| string | text() Возвращает узел, если он текстовый | |
| node-set | current() | Возвращает множество из одного элемента, который является текущим. Если мы делаем обработку множества с предикатами, то единственным способом дотянуться из этого предиката до текущего элемента будет данная функция |
| number | position() | Возвращает позицию элемента в множестве элементов оси. Корректно работает только в цикле <xsl:for-each/> |
| number | last() | Возвращает номер последнего элемента в множестве элементов оси. Корректно работает только в цикле <xsl:for-each/> |
| number | count(node-set) | Возвращает количество элементов в node-set. |
| string | name(node-set?) | Возвращает полное имя первого тега в множестве |
| string | namespace-url(node-set?) | Возвращает ссылку на URL, определяющий пространство имён |
| string | local-name(node-set?) | Возвращает имя первого тега в множестве, без пространства имён |
| node-set | id(object) | Находит элемент с уникальным идентификатором |
| Функция | Описание | |
| string | string(object?) | Возвращает текстовое содержимое элемента. По сути, возвращает объединённое множество текстовых элементов на один уровень ниже |
| string | concat(string, string, string*) | Соединяет строки, указанные в аргументах |
| number | string-length(string?) | Возвращает длину строки |
| boolean | contains(string, string) | Возвращает true, если первая строка содержит вторую, иначе — false |
| string | substring(string, number, number?) | Возвращает строку, вырезанную из строки, начиная с указанного номера, и, если указан второй номер, — количество символов |
| string | substring-before(string, string) | Если найдена вторая строка в первой, возвращает строку до первого вхождения второй строки |
| string | substring-after(string, string) | Если найдена вторая строка в первой, возвращает строку после первого вхождения второй строки |
| boolean | starts-with(string, string) | Возвращает true, если вторая строка входит в начало первой, иначе — false |
| boolean | ends-with(string, string) | Возвращает true, если вторая строка входит в конец первой, иначе — false |
| string | normalize-space(string?) | Убирает лишние и повторные пробелы, а также управляющие символы, заменяя их пробелами |
| string | translate(string, string, string) | Заменяет символы первой строки, которые встречаются во второй строке, на соответствующие позиции символам из второй строки символы из третьей строки. Например, translate("bar", "abc", "ABC") вернёт BAr. |
| Символ, оператор | Значение |
|---|---|
or | логическое «или» |
and | логическое «и» |
= | логическое «равно» |
< (<) | логическое «меньше» |
> (>) | логическое «больше» |
<= (<=) | логическое «меньше либо равно» |
>= (>=) | логическое «больше либо равно» |
| Функция | Описание | |
| boolean | boolean(object) | Приводит объект к логическому типу |
| boolean | true() | Возвращает истину |
| boolean | false() | Возвращает ложь |
| boolean | not(boolean) |
| Символ, оператор | Значение |
|---|---|
| + | сложение |
| − | вычитание |
| * | умножение |
| div | обычное деление (не нацело!) |
| mod | остаток от деления |
| Функция | Описание | |
| number | number(object?) | Переводит объект в число |
| number | sum(node-set) | Вернёт сумму множества. Каждый тег множества будет преобразован в строку и из него получено число |
| number | floor(number) | Возвращает наибольшее целое число, не большее, чем аргумент (округление к меньшему) |
| number | ceiling(number) | Возвращает наименьшее целое число, не меньшее, чем аргумент (округление к большему) |
| number | round(number) | Округляет число по математическим правилам |
| Функция | Описание | |
| node-set | document(object, node-set?) | Возвращает документ, указанный в параметре object |
| string | format-number(number, string, string?) | Форматирует число согласно образцу, указанному во втором параметре. Третий параметр указывает именованный формат числа, который должен быть учтён |
| string | generate-id(node-set?) | Возвращает строку, являющуюся уникальным идентификатором |
| node-set | key(string, object) | Возвращает множество с указанным ключом (аналогично функции id для идентификаторов) |
| string | unparsed-entity-uri(string) | Возвращает непроанализированный URI. Если такового нет, возвращает пустую строку |
| boolean | element-available(string) | Проверяет, доступен ли элемент или множество, указанное в параметре. Параметр рассматривается как XPath |
| boolean | function-available(string) | Проверяет, доступна ли функция, указанная в параметре. Параметр рассматривается как XPath |
| object | system-property(string) | Параметры, возвращающие системные переменные. Могут быть: |
| xsl: | version — возвращает версию XSLT процессора. | |
| xsl: | vendor — возвращает производителя XSLT процессора. | |
| xsl: | vendor-url — возвращает URL, идентифицирующий производителя. Если используется неизвестный параметр, функция возвращает пустую строку | |
| boolean | lang(string) | Возвращает true, если у текущего тега имеется атрибут xml: lang, либо родитель тега имеет атрибут xml: lang и в нём указан совпадающий строке символ |