Обозначения
Прототип функции имеет следующий синтаксис:
тип1 функция(тип2, тип3, тип4?)
Здесь тип1 — тип возвращаемого значения, тип2, тип3, тип4 — типы передаваемых параметров.
При этом символ "?
" обозначает аргумент, который может быть опущен, а символ *
служит для обозначения аргумента, который может повторяться несколько раз.
Функции
В табл. П3.1–П3.5 представлено описание наиболее часто используемых функций.
Таблица П3.1. Булевые функции
Функция | Описание |
---|---|
boolean boolean(object) |
Явным образом преобразует объект, который ей передается в булевый тип |
boolean not(boolean) |
Выполняет логическое отрицание |
boolean true() |
Возвращает true , "истину" |
boolean false() |
Возвращает false , "ложь" |
boolean lang(string) |
Возвращает "истину", если идентификатор языка, который передан ей в виде строкового параметра, соответствует языковому контексту контекстного узла |
Таблица П3.2. Числовые функции
Функция | Описание |
---|---|
number number(object?) |
Явным образом конвертирует свой аргумент в числовой тип. Если аргумент опущен, то выполняется с множеством, состоящим из контекстного узла |
number sum(node-set) |
Суммирует значения узлов из переданного ей множества |
number floor(number) |
Округляет аргумент до ближайшего не большего целого |
number ceiling(number) |
Округляет аргумент до ближайшего не меньшего целого |
number round(number) |
Округляет аргумент до ближайшего целого значения |
Таблица П3.3. Строковые функции
Функция | Описание |
---|---|
string string(object?) |
Преобразует свой аргумент к строковому типу явным образом. Если аргумент опущен, то выполняется с множеством, состоящим из контекстного узла |
string concat(string, string, string*) |
Возвращает конкатенацию (строковое сложение) своих аргументов |
boolean starts-with (string, string) |
Принимает на вход два строковых аргумента и возвращает true , если первая строка начинается со второй и false в противном случае |
boolean contains (string, string) |
Принимает на вход два строковых аргумента и возвращает true , если первая строка содержит вторую и false в противном случае |
string substring-before(string, string) |
Принимает на вход два строковых аргумента, находит в первой строке вторую и возвращает подстроку, которая ей предшествует |
string substring-after(string, string) |
Принимает на вход два строковых аргумента, находит в первой строке вторую и возвращает подстроку, которая за ней следует |
string substring(string, number, number?) |
Возвращает подстроку переданного ей строкового аргумента, которая начинается с позиции, указанной вторым аргументом и длиной, указанной третьим аргументом. Если третий аргумент не указан, то подстрока продолжается до конца строки |
number string-length(string?) |
Возвращает число символов строкового аргумента |
string normalize-space(string?) |
Производит со строковым аргументом нормализацию пробельного пространства. Если аргумент опущен, выполняется со строковым значением контекстного узла |
string translate (string, string, string) |
Производит замену символов первого своего строкового аргумента, которые присутствуют во втором аргументе на соответствующие символы третьего аргумента |
Таблица П3.4. Функции множеств узлов
Функция | Описание |
---|---|
number last() |
Возвращает размер контекста вычисления выражения |
number position() |
Возвращает позицию контекста вычисления выражения |
number count(node-set) |
Возвращает число узлов, которое входит во множество, переданное ей в качестве аргумента |
string local-name(node-set?) |
Возвращает локальную часть имени первого в порядке просмотра документа узла множества, переданного в качестве аргумента или локальную часть имени контекстного узла, если аргумент отсутствует. Если аргумент опущен, то выполняется с множеством, состоящим из контекстного узла |
string namespace-uri(node-set?) |
Возвращает URI пространства имен первого в порядке просмотра документа узла множества, переданного в качестве аргумента или локальную часть имени контекстного узла, если аргумент отсутствует. Если аргумент опущен, то выполняется с множеством, состоящим из контекстного узла |
string name(node-set?) |
Возвращает в виде префикс:имя расширенное имя локальную часть имени первого в порядке просмотра документа узла множества, переданного в качестве аргумента или локальную часть имени контекстного узла, если аргумент отсутствует. Если аргумент опущен, то выполняется с множеством, состоящим из контекстного узла |
node-set id(object) |
Возвращает множество узлов по уникальным идентификаторам |