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

Элементы 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="#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:stylesheet?> Когда у нас есть таблица стилей XSL, которую нужно применить к документу XML, требуется каким-то образом связать эту таблицу стилей с документом, — для чего часто используется инструкция обработки <?xsl:stylesheet?>. У этой инструкции есть


Элемент

Из книги автора

Элемент <xsl:stylesheet> Таблицы стилей XSL начинаются с объявления XML, так как они являются хорошо сформированными документами XML, — поэтому planets.xsl начинается с такого же объявления:<?xml version="1.0"?>...Однако объявление XML немедленно исключается процессором XSLT, и мы не будем на


HTML-элементы управления и серверные элементы управления

Из книги автора

HTML-элементы управления и серверные элементы управления Еще одной новинкой технологии ASP.NET является использование серверных элементов управления. Серверный элемент управления кодируется в Web-странице, а все его события и свойства обрабатываются Web-сервером. Серверные


Преобразовать (Transform)

Из книги автора

Преобразовать (Transform) template ‹class InputIterator, class OutputIterator, class UnaryOperation›OutputIterator transform(InputIterator first, InputIterator last, OutputIterator result, UnaryOperation op);template ‹class InputIterator1, class InputIterator2, class OutputIterator, class Binary0peration›OutputIterator transform(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, OutputIterator result, BinaryOperation binary_op);transform


Алгоритм transform()

Из книги автора

Алгоритм transform() template class InputIterator, class OutputIterator,class UnaryOperation OutputIteratortransform( InputIterator first, InputIterator last,OutputIterator result, UnaryOperation op );template class InputIterator1, class InputIterator2,class OutputIterator, class BinaryOperation OutputIteratortransform( InputIterator1 first1, InputIterator1 last,InputIterator2 first2, OutputIterator result,BinaryOperation bop );Первый вариант transform()


style="text-transform: uppercase;">ПИСЬМОНОСЕЦ

Из книги автора

style="text-transform: uppercase;">ПИСЬМОНОСЕЦ Автор: Илья Щуров VoyagerЗдравствуй, уважаемая Терра!Являюсь вашим читателем уже два года. Читаю журнал не всегда, но практически от корки до корки, особенно меня интересует OpenSource/Freeware software и Linux. Я линуксоид, и поэтому сторонник лицензионного


12.3. Free Transform (Произвольное трансформирование)

Из книги автора

12.3. Free Transform (Произвольное трансформирование) Если предыдущие инструменты изменения размеров предназначены для всего изображения, то Free Transform (Произвольное трансформирование) позволяет изменять не только размеры, но и пропорции, угол поворота для выделенного объекта или


12.4. Подменю Transform (трансформирование)

Из книги автора

12.4. Подменю Transform (трансформирование) Кроме режима свободного трансформирования, в Photoshop есть группа инструментов, выполняющих схожие функции по трансформированию. Они объединены в подменю Edit ? Transform (Правка ? Трансформирование).Впрочем, не советую запускать эти


Обычное движение ("Transform")

Из книги автора

Обычное движение ("Transform") Это самое обычное движение фрагмента графики, наподобие тех, что мы создавали в главе 12. С помощью этого преобразования мы можем менять местоположение, размеры, угол поворота выделенного фрагмента и задавать для него цветовые эффекты.Чтобы


§ 2.3 Элементы описания книги. Базовые структурные элементы

Из книги автора

§ 2.3 Элементы описания книги. Базовые структурные элементы В самом начале любого файла книги идет признак формата XML<?xml version="1.0" encoding="windows-1251"?>Здесь указана сигнатура принадлежности к формату XML, его версия и кодировка файла. Для русскоязычных FictionBook это обычно windows-1251


§ 2.4 Элементы описания книги (description). Элементы первого уровня

Из книги автора

§ 2.4 Элементы описания книги (description). Элементы первого уровня Элемент title-infoСодержит базовую информацию о книге (заголовок, информация об авторе и переводчике, аннотация, вхождение в серию и т.д.)Cинтаксис: <title-info>content</title-info>.Используется в элементах: descriptionВложенные


§ 2.5 Элементы описания книги (description). Элементы второго уровня

Из книги автора

§ 2.5 Элементы описания книги (description). Элементы второго уровня Элемент genreЖанр произведения.Содержимое элемента строго фиксировано и определяется файлом FictionBookGenres.xsd, входящим в состав спецификации FictionBook.Список жанров с переводом приведен в Приложении В.Cинтаксис:


§ 2.6 Элементы описания книги (description). Элементы третьего уровня (информация об авторе)

Из книги автора

§ 2.6 Элементы описания книги (description). Элементы третьего уровня (информация об авторе) Элемент first-nameИмя автора книги или документа, а также переводчика.Cинтаксис: <first-name>текст</first-name>Используется в элементах: author, translatorВложенные элементы: нетКоличество вхождений:


§ 2.8 Элементы раздела книги (section). Элементы первого уровня.

Из книги автора

§ 2.8 Элементы раздела книги (section). Элементы первого уровня. Элемент citeЦитата. Отрывок текста из другого произведения.В FictionBook с помощью тэга cite также выделяются письма, записки, надписи, списки и еще много чего.Cинтаксис: <cite>content</cite>Используется в элементах: section,


§ 2.9 Элементы раздела книги (section). Элементы второго уровня.

Из книги автора

§ 2.9 Элементы раздела книги (section). Элементы второго уровня. Элемент stanzaСтрофа стихотворения.Cинтаксис: stanza>content</stanza>Используется в элементах: poemВложенные элементы: title, subtitle, vКоличество вхождений: одно и болееАтрибуты: нетВерсия формата: 2.0Пример: см. пример


§ 2.11 Элементы абзаца (стилевые, они же inline элементы)

Из книги автора

§ 2.11 Элементы абзаца (стилевые, они же inline элементы) Элемент aСсылка или сноска.Cинтаксис: <a>content</a>Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, vВложенные элементы:     code, emphasis, strikethrough, strong, style, sub, sup, imageКоличество вхождений: