расширений, причем как в виде функций, так и в виде элементов. Функции и элементы расширения в libxslt оформляются в виде C-функций, затем регистрируются в процессоре перед вызовом и используются в преобразованиях так же, как и в случае с Java — посредством пространств имен.
В дополнение к этому, в libxslt по умолчанию также реализовано множество общепринятых расширений — в частности, многие из функций, предложенных в процессоре Saxon и инициативе EXSLT.
Приложение 2
Краткий справочник элементов и атрибутов XSLT
Обозначения
Ниже перечислены обозначения, используемые в данной книге.
□ attribute
Обязательный атрибут.
□ attribute
Необязательный атрибут.
□ attribute='
Атрибут со строковым параметром.
□ attribute='{
Атрибут со строковым параметром, значение которого является шаблоном значения атрибута.
□ attribute='yes' | 'no'
Атрибут с вариантами значений.
□ attribute={ 'yes' | 'no' }
Атрибут с вариантами значений, которые могут быть заданы шаблонами значений атрибутов.
□ <!-- Содержимое: шаблон -->
Содержимым элемента является шаблон.
□ <!-- Содержимое: несколько элементов xsl:import ... -->
Элемент содержит последовательность из нуля или более элементов xsl:import
.
□ <!-- Содержимое: один или более элемент xsl:when ... -->
Элемент содержит последовательность из одного или более элементов xsl:when
.
□ <!-- Содержимое: ... опциональный элемент xsl:otherwise -->
Элемент содержит элемент xsl:otherwise
, который может быть пропущен.
Элементы
В табл. П2.1 приведены описания основных элементов XSLT.
Элемент | Описание |
---|---|
<xsl:apply-imports/> | Инструкция. Применяет шаблонные правила, которые содержатся в импортированных преобразованиях |
<xsl:apply-templates select=' | Инструкция. Применяет шаблонные правила к множеству узлов, возвращаемому выражением, записанным в атрибуте select . • select — содержит выражение, возвращающее множество узлов для обработки; • mode — указывает режим, в котором должны применяться шаблоны |
<xsl:attribute name='{ | Инструкция. Создает в выходящем документе узел атрибута. • name — определяет имя атрибута; • namespace — URI пространства имен создаваемого атрибута |
namespace='{ | |
<xsl:attribute-set name=' | Элемент верхнего уровня. Определяет именованный набор атрибутов. • name — содержит имя набора атрибутов; • use-attribute- sets — перечисляет через пробелы имена наборов атрибутов, которые следует включить в определяемый набор |
<xsl:call-template name=' | Инструкция. Вызов именованного шаблона. • name — имя вызываемого шаблона |
<xsl:choose> <!-- Содержимое: один или более элемент xsl:when, опциональный элемент xsl:otherwise --> </xsl:choose> | Инструкция. Выполняет содержимое одного из субэлементов в зависимости от условий |