Выбрать главу

Обозначения

Прототип функции имеет следующий синтаксис:

тип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) Возвращает множество узлов по уникальным идентификаторам