Технология XSLT

Валиков Алексей Н.

Приложение 3

Краткий справочник функций XSLT и XPath

 

 

Обозначения

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

тип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 ) Возвращает значение свойства, имя которого передано как аргумент