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

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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

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

У этого элемента три атрибута:

name(обязательный). Имя создаваемого элемента. Принимает значение шаблона значений атрибута, возвращающего QName;

namespace(необязательный). URI пространства имен нового элемента. Принимает значение шаблона значений атрибута, возвращающего URI;

use-attribute-sets(необязательный). Задает наборы атрибутов, содержащие атрибуты этого элемента. Принимает значение списка элементов QName, разделенных символами-разделителями.

Элемент содержит тело шаблона.

Пусть, например, мне нужно хранить названия планет в атрибутах NAME, а не в элементе в planets.xml:

.0553

58.65

1516

.983

43.4

.

.

.

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

.0553

58.65

1516

.983

43.4

.

.

.

В этом случае я не знаю имени выходного элемента до времени выполнения, потому и не могу просто применить элемент буквального результата. Я мог бы скомпоновать новый элемент, трактуя его как текст (что и показано в примере ниже, где я вывожу символы, подобные «<���», при помощи атрибута disable-output-escapingэлемента ):

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

<

>

</</xsl:text>

>

Но это грубый способ, при котором разметка рассматривается как простой текст. С другой стороны, зная название планеты, я могу создать новый элемент при помощи (листинг 6.6), получив название новой планеты из атрибута NAMEследующим образом.

Листинг 6.6. Применение

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

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

.0553

58.65

1516

.983

43.4

.815

116.75

3716

.943

66.8

1

1

2107

1

128.4

Таким способом можно создавать новые элементы и задавать им имя во время преобразования XSLT.

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

Аналогично тому, как вы можете создавать новые элементы при помощи и устанавливать имя и содержимое элемента на этапе выполнения, при помощи элемента это можно делать для атрибутов.

У элемента два атрибута:

name(обязательный). Имя нового атрибута. Принимает значение шаблона значений атрибута, возвращающего QName;

namespace(необязательный). Пространство имен нового атрибута. Устанавливается в URI.

Этот элемент содержит в себе тело шаблона, которое устанавливает значение атрибута.

В листинге 6.7 я создаю новые элементы с атрибутами, которые соответствуют различным названиям планет (значения берутся из атрибута COLORисходных элементов ).

Листинг 6.7. Применение

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

Planets

Как можно видеть в приведенном ниже результате, я создал новые атрибуты «с ходу», используя названия планет:

<���НТМL>

Planets

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

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

В листинге 6.8 я создаю комментарии для замены элементов ; текст комментария включает название планеты.

Листинг 6.8. Применение

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

Planets

This was the element

Вот результат:

Planets

Элемент : создание инструкций обработки

При помощи элемента можно создавать новые инструкции обработки. У этого элемента один атрибут:

name(обязательный). Задает имя инструкции обработки. Принимает значение шаблона значений атрибута, возвращающего NCName.

В следующем примере я удалил инструкцию из начала planets.xml:

Mercury

.0553

58.65

1516

.983

43.4

Venus

.815

116.75

3716

.943

66.8

.

.

.

Для того чтобы снова добавить эту инструкцию обработки, можно применить элемент (листинг 6.9). Пункты typeи hrefв инструкции обработки, например , в действительности не являются атрибутами, поэтому их значения нужно устанавливать не при помощи , а используя простой текст.

Листинг 6.9. Применение

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

type="text/xml" href="planets.xsl"

Вот результат, где инструкция обработки снова на месте:

Mercury

.0553

58.65

1516

.983

43.4

Venus

.815

116.75

3716

.943

66.8

.

.

.

Элемент : создание нескольких выходных документов

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

href(обязательный). Указывает место, в которое должен быть помещен новый документ. Устанавливается в абсолютный или относительный URI, без идентификатора фрагмента;

method(необязательный). Устанавливает метод вывода, используемый для создания результирующего документа. Устанавливается в «xml», «html», «text» или QName, которое не является NCName;

version(необязательный). Задает версию выходного документа. Устанавливается в NMTOKEN;

encoding(необязательный). Задает кодировку выходного документа. Устанавливается в строку;

omit-xml-declaration(необязательный). Принимает значения «yes» или «no» для того, чтобы пропускать или не пропускать объявление XML;

cdata-section-elements(необязательный). Определяет имена тех элементов, чье содержимое вы хотите вывести как разделы CDATA. Принимает значение разделенного символами-разделителями списка QName;

doctype-public(необязательный). Определяет открытый идентификатор, который будет использован в объявлении вывода. Устанавливается в строковое значение;

doctype-system(необязательный). Определяет системный идентификатор, который будет использован в объявлениивывода. Устанавливается в строковое значение;

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

Интервал:

Закладка:

Сделать


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

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




XSLT отзывы


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


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

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