Алексей Валиков - Технология XSLT
Атрибуты
Сведения об атрибутах XSLT представлены в табл. П2.2.
Таблица П2.2. Атрибуты XSLT
Атрибут Назначение xsl:version Указывает версию языка в случае использования упрощенного синтаксиса записи преобразований xsl:exclude-result-prefixes Перечисляет префиксы пространств имен, которые должны быть исключены в данном элементе xsl:extension-elements-prefixes Перечисляет префиксы пространств имен, которые используются в элементах расширения xsl:use-attribute-sets Перечисляет названия именованных наборов атрибутов, которые следует включить в данный элемент на выходеПриложение 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) Возвращает значение свойства, имя которого передано как аргументПриложение 4