Стивен Холзнер - XSLT

Тут можно читать онлайн Стивен Холзнер - XSLT - бесплатно полную версию книги (целиком) без сокращений. Жанр: Интернет, издательство Питер, год 2002. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Стивен Холзнер - XSLT краткое содержание

XSLT - описание и краткое содержание, автор Стивен Холзнер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Эта книга посвящена XSLT — мощным и удобным системам преобразования документов. В ней не только рассматривается весь синтаксис XSLT, от основ до специальных аспектов, но и подробно излагаются современные способы использования XSLT.

Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.

Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике

XSLT - читать онлайн бесплатно полную версию (весь текст целиком)

XSLT - читать книгу онлайн бесплатно, автор Стивен Холзнер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

My page

Welcome to my page

И вот результат:

My page

Welcome to my page

Однако поскольку теперь фрагменты результирующего дерева не допускаются в XSLT 1.1, этот пример работать не будет. Как же тогда сохранить весь элемент буквального результата одновременно с возможностью простого вызова? Вы можете создать именованный шаблон.

Элемент : применение именованных шаблонов

У элемента есть атрибут name, задающий имя шаблона. Предположим, у меня есть элемент буквального результата, состоящий из двух элементов
и двух элементов


HTML, при помощи которого я создаю в документах HTML вертикальный разделитель:





Тогда я могу создать шаблон с именем «separator» (разделитель), использующий этот элемент буквального результата:





Это именованный шаблон — для его создания нужно только присвоить имя атрибуту name элемента .

Заметьте, что этот шаблон не установлен для выбора чего-то конкретного. Для активизации шаблона необходимо вызвать его явно. Для этого служит элемент , обладающий только одним атрибутом:

name(обязательный). Имя вызываемого шаблона, устанавливается в QName.

Следующий пример демонстрирует применение нашего шаблона «separator», для чего мне нужно было только вызвать его в соответствующих местах:

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

The Planets Table



The Planets Table

</Н1>

Name Mass Radius Day





Вот результат. Обратите внимание: элементы
и


были вставлены так, как требовалось:

The Planets Table



The Planets Table





Name Mass Radius Day
Mercury .0553 (Earth = 1) 1516 miles 58.65 days
Venus .815 (Earth = 1) 3716 miles 116.75 days
Earth 1 (Earth = 1) 2107 miles 1 days





Результирующий документ показан на рис. 9.1.

Рис 91Вызов именованного шаблона Таким образом вы можете обращаться к - фото 28

Рис. 9.1.Вызов именованного шаблона

Таким образом, вы можете обращаться к элементу буквального результата по имени, легко помещая его в результирующий документ. Но это слишком статично — элемент буквального результата всегда один и тот же. Впрочем, как можно заметить, вызов именованного шаблона во многом похож на вызов подпрограммы в языке программирования. Так же, как вы передаете данные в подпрограмму, вы можете передать данные в именованные шаблоны при помощи параметров .

Элементы и : создание параметров

Параметры во многом похожи на переменные — за тем исключением, что они обычно используются вместе с именованными шаблонами. Параметры позволяют вам передать в шаблон какие-то значения. Параметры создаются элементом , обладающим двумя атрибутами:

name(обязательный). Имя переменной, устанавливается в QName;

select(необязательный). Значение параметра по умолчанию. Устанавливается в выражение XPath.

Аналогично , этот элемент может либо быть элементом высокого уровня, либо применяться внутри тела шаблона. Параметры, созданные элементами , являются глобальными, а созданные внутри шаблонов — локальными. При создании параметра внутри тела шаблона, элемент должен быть расположен перед какими-либо другими дочерними элементами. Элемент может также содержать необязательное тело шаблона, создающее фрагмент результирующего дерева — в XSLT 1.1 это уже не разрешено. Если элемент содержит тело, атрибут selectиспользовать нельзя.

После объявления параметра при помощи к его значению можно обращаться в шаблоне таким же способом, как и к значению переменной, — добавляя к имени префикс «$».

Когда вы вызываете именованный шаблон при помощи или применяете шаблоны с использованием , вы можете задать значение используемых в шаблоне параметров с помощью элемента . Если самому параметру при объявлении было присвоено значение атрибутом selectэлемента , это значение выступает в качестве значения параметра по умолчанию. Значение по умолчанию будет перекрыто, если вы зададите новое значение параметра при помощи элемента . У элемента два атрибута:

name(обязательный). Имя переменной; устанавливается в QName;

select(необязательный). Выражение XPath, задающее значение параметра. Если опустить этот атрибут, значение переменной будет определяться содержимым .

Элемент может также содержать необязательное тело шаблона, создающее фрагмент результирующего дерева, но в XSLT 1.1 это уже не разрешено.

В следующем примере (листинг 9.3) я создаю именованный шаблон с именем «COLORS» (цвета), добавляющий цвет в данные планет в результирующем HTML-документе. Этот именованный шаблон использует единственный параметр, COLOR, который устанавливается в требуемый цвет. В примере я устанавливаю параметр COLORв разные цвета для разных планет, используя и вызывая шаблон «COLORS». Вот как это реализуется на практике.

Листинг 9.3. Применение параметров таблиц стилей

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

.

.

.

.

.

.

Данная таблица вызывает шаблон «COLORS» с разными значениями параметра COLOR. Я могу воспользоваться этими цветами при форматировании данных планет. Заметьте, что я объявил параметр COLOR при помощи в самом начале шаблона «COLORS»:

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

.

.

.

.

.

.

И вот результат:

The Colorful Planets Table



The Colorful Planets Table

Name Mass Radius Day
Mercury .0553 (Earth = 1) 1516 miles 58.65 days
Venus .815 (Earth = 1) 3716 miles 116.75 days
Earth 1 (Earth = 1) 2107 miles 1 days

Этот результирующий документ показан на рис. 9.2 (пусть даже в черно-белом исполнении).

Рис 92Вызов именованного шаблона с параметрами В следующем примере я - фото 29

Рис. 9.2.Вызов именованного шаблона с параметрами

В следующем примере я использую параметры для локализации используемого в шаблоне языка. Я создаю новый шаблон localizeс параметром language. Если language установлен в « en», означая английский, результирующий документ будет озаглавлен «Planets»; если languageустановлен в « de», немецкий, результирующий документ будет озаглавлен «Planeten», а если в « fr», французский, результирующий документ будет озаглавлен «Planetes».

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Стивен Холзнер читать все книги автора по порядку

Стивен Холзнер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




XSLT отзывы


Отзывы читателей о книге XSLT, автор: Стивен Холзнер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x