Обозначения
Прототип функции имеет следующий синтаксис:
тип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 ) | Возвращает множество узлов по уникальным идентификаторам |
Таблица П3.5 . Другие функции
Функция | Описание |
node-set key ( string , object ) | По данному имени и значению ключа возвращает множество узлов, которые им обладают |
node-set document ( object , node-set ?) | Позволяет обращаться к внешним документам по заданным URI. Первый узел необязательного параметра node-set принимается за точку отсчета для относительных URI |
node-set current () | Возвращает текущий узел преобразования |
string unparsed-entity-uri ( string ) | Возвращает URI неразбираемой сущности по ее имени |
string generate-id ( node-set ?) | Возвращает уникальный строковый идентификатор первого узла переданного множества или контекстного узла, если аргумент опущен |
object system-property ( string ) | Возвращает значение свойства, имя которого передано как аргумент |