Обозначения
Прототип функции имеет следующий синтаксис:
тип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 ) | Возвращает значение свойства, имя которого передано как аргумент |