Чтение онлайн

на главную - закладки

Жанры

Технология XSLT

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

Шрифт:

Корневые элементы преобразования

За исключением случаев упрощенных преобразований, корневым элементом XSLT-документа всегда является элемент

xsl:stylesheet
или его синоним
xsl:transform
. Эти элементы полностью идентичны и различаются только именами, поэтому мы будем описывать семантику и пользоваться только элементом
xsl:stylesheet
.

Элементы xsl:stylesheet и xsl:transform

<xsl:stylesheet

 id="идентификатор"

 extension-element-prefixes="префиксы"

 exclude-result-prefixes="префиксы"

 version="число">

 <!--

Содержимое: несколько элементов xsl:import, элементы верхнего уровня

 -->

</xsl:stylesheet>

<xsl:transform id="идентификатор"

 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="#"?>

Необязательный атрибут

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="/">

Поделиться:
Популярные книги

Матрос империи. Начало

Четвертнов Александр
1. Матрос империи
Фантастика:
героическая фантастика
4.86
рейтинг книги
Матрос империи. Начало

Неудержимый. Книга VIII

Боярский Андрей
8. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
6.00
рейтинг книги
Неудержимый. Книга VIII

Третий

INDIGO
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий

Восход. Солнцев. Книга X

Скабер Артемий
10. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга X

Как я строил магическую империю 10

Зубов Константин
10. Как я строил магическую империю
Фантастика:
попаданцы
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 10

Солнечный флот

Вайс Александр
4. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Солнечный флот

Черный Маг Императора 7 (CИ)

Герда Александр
7. Черный маг императора
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Черный Маг Императора 7 (CИ)

Обгоняя время

Иванов Дмитрий
13. Девяностые
Фантастика:
попаданцы
5.00
рейтинг книги
Обгоняя время

Ученик

Листратов Валерий
2. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Ученик

Идеальный мир для Лекаря 22

Сапфир Олег
22. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 22

30 сребреников

Распопов Дмитрий Викторович
1. 30 сребреников
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
5.00
рейтинг книги
30 сребреников

Баоларг

Кораблев Родион
12. Другая сторона
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Баоларг

Сирота

Ланцов Михаил Алексеевич
1. Помещик
Фантастика:
альтернативная история
5.71
рейтинг книги
Сирота

Неудержимый. Книга XVIII

Боярский Андрей
18. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVIII