Элементы 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. Поскольку пространство имен этого элемента ненулевое, такое объявление является корректным.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Инструкция обработки <?xsl:stylesheet?>
Инструкция обработки <?xsl:stylesheet?> Когда у нас есть таблица стилей XSL, которую нужно применить к документу XML, требуется каким-то образом связать эту таблицу стилей с документом, — для чего часто используется инструкция обработки <?xsl:stylesheet?>. У этой инструкции есть
Элемент <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Количество вхождений: