Оси — это база языка 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 и в нём указан совпадающий строке символ |