Книга: Технология XSLT
Элементы xsl:stylesheet и xsl:transform
Разделы на этой странице:
Элементы xsl:stylesheet и xsl:transform
<xsl:stylesheet
id="идентификатор"
extension-element-prefixes="префиксы"
exclude-result-prefixes="префиксы"
version="число">
<!--
Содержимое: несколько элементов xsl:import, элементы верхнего уровня
-->
</xsl:stylesheet>
<xsl:transform
extension-element-prefixes="префиксы"
exclude-result-prefixes="префиксы"
version="число">
<!--
Содержимое: несколько элементов xsl:import, элементы верхнего уровня
-->
</xsl:transform>
Элемент xsl:stylesheet
имеет обязательный атрибут version
, в котором указывается версия языка, использованная при создании этого преобразования. Текущей версией языка является версия 1.0, поэтому все преобразования, которые мы будем приводить в качестве примеров, будут начинаться следующим тегом:
<xsl:stylesheet version="1.0" ... >
Необязательный атрибут id
может содержать уникальный идентификатор данного преобразования. Этот атрибут используется в тех случаях, когда преобразование включено в преобразуемый документ для его идентификации внутри этого документа.
Пример
Если преобразование, включенное в преобразуемый документ, будет иметь вид
...
<xsl:stylesheet
version="1.0"
id="trans"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
...
</xsl:stylesheet>
...
то ассоциироваться с документом оно будет следующей инструкцией:
<?xml-stylesheet type="text/xsl" href="#trans"?>
Необязательный атрибут extension-element-prefixes
перечисляет префиксы пространств имен, которые определяют элементы расширения. Об использовании этого атрибута мы расскажем в главе 10, которая посвящена созданию расширений языка XSLT.
Необязательный атрибут exclude-result-prefixes
перечисляет префиксы пространств имен, определения которых не нужно включать в выходящий документ. Использование этого атрибута подробно описано в главе 8.
Элемент xsl:stylesheet
может включать следующие элементы языка XSLT:
? xsl:import
;
? xsl:include
;
? xsl:strip-space
;
? xsl:output
;
? xsl:key
;
? xsl:decimal-format
;
? xsl:namespace-alias
;
? xsl:attribute-set
;
? xsl:variable
;
? xsl:param
;
? xsl:template
.
Эти элементы называются элементами верхнего уровня, поскольку они могут находиться на самом верхнем (не считая уровня корневого элемента) уровне в иерархии элементов документа. Более того, все перечисленные элементы кроме xsl:variable
и xsl:param
должны находиться только на верхнем уровне. Элементы xsl:variable
и xsl:param
могут использоваться в шаблонах, определяя локальные переменные и параметры.
Если преобразование импортирует внешние модули, первыми дочерними элементами xsl:stylesheet
должны быть элементы xsl:import
. Иначе говоря, элементам xsl:import
внутри xsl:stylesheet
должны предшествовать только другие элементы xsl:import
. Порядок всех остальных дочерних элементов xsl:stylesheet
не имеет значения.
Помимо элементов верхнего уровня, xsl:stylesheet
может содержать элементы других, но обязательно ненулевых пространств имен. Это позволяет включать в преобразования любую сопутствующую информацию, правда спецификация оговаривает, что такого рода элементы не должны изменять поведение элементов и функций самого XSLT.
Пример
Листинг 4.1. Преобразование с элементом верхнего уровня, не принадлежащим XSLT
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<source xmlns="http://www.a.com/XSL/source">
Simple stylesheet
</source>
<xsl:template match="/">
<root/>
</xsl:template>
</xsl:stylesheet>
Выделенный полужирным шрифтом на листинге 4.1 элемент source
принадлежит пространству имен с URI http://www.a.com/XSL/source
. Поскольку пространство имен этого элемента ненулевое, такое объявление является корректным.
- Элементы , и
- Пространство имен XSL
- Корневые элементы преобразования
- Пространство имен XSLT
- Элемент xsl:namespace-alias
- Элемент xsl:include
- Литеральные элементы результата
- Элементы таблиц стилей высокого уровня
- 6.4. Рабочий лист Excel и его структурные элементы
- Использование отдельных процессоров XSLT
- 4.4. Логические элементы и синтез логических схем
- 4.7 Структурные элементы SAN