Алексей Валиков - Технология XSLT

Тут можно читать онлайн Алексей Валиков - Технология XSLT - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство БХВ-Петербург, год 2002. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Технология XSLT
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2002
  • Город:
    Санкт-Петербург
  • ISBN:
    нет данных
  • Рейтинг:
    4.75/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Алексей Валиков - Технология XSLT краткое содержание

Технология XSLT - описание и краткое содержание, автор Алексей Валиков, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга посвящена разработке приложений для преобразования XML-документов с использованием XSLT — расширяемого языка стилей для преобразований. Обсуждается применение языков XSLT и XPath в решении практических задач: выводу документов в формате HTML, использованию различных кодировок для интернационализации и, в частности, русификации приложений, вопросам эффективности существующих подходов для решения проблем преобразования. Для иллюстрации материала используется большое количество примеров.

Для начинающих и профессиональных программистов

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

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

Интервал:

Закладка:

Сделать

Выражения

Многие из задач, которые, так или иначе, выполняются во время преобразования, связаны с вычислением выражений. Для этих целей в XSLT используется язык XPath, который помимо выбора множеств узлов дерева может также выполнять некоторые основные операции над данными.

Замечание

Несмотря на то, что XPath является самостоятельным языком, его роль в XSLT настолько велика, что здесь и далее мы будем рассматривать их как единое целое.

Можно выделить четыре основные задачи, для которых в преобразованиях используются выражения:

□ выбор узлов для обработки;

□ описание условий;

□ вычисление строковых значений, которые затем будут использованы в выходящем дереве;

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

Первая из задач непосредственно относится к самому процессу преобразования. Выражения, содержащиеся в атрибутах selectэлементов xsl:apply-templatesи xsl:for-each, вычисляют множества, к узлам которых нужно применить шаблоны.

Пример
Листинг 3.16

В этом шаблонном правиле содержатся два элемента xsl:apply-templates, которые применяют шаблоны к множествам, выбранным выражениями HEADи BODYсоответственно.

Логические выражения XPath могут использоваться в качестве условий в таких элементах, как xsl:ifи xsl:when, обеспечивая условную обработку.

Пример

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

Листинг 3.17. Входящий документ

Johnny

19

Листинг 3.18. Преобразование

version="1.0"

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

Welcome,

.

Sorry,

, access denied.

Выделенные выражения age >= 21и age < 21(сущности >и <обозначают символы " <", и " >") определяют условия: содержимое первого элемента xsl:ifбудет выполняться, только если значение элемента ageбыло не меньше 21; содержимое второго — только если значение ageбыло строго меньше 21. Этот же самый шаблон может быть переписан с использованием элементов xsl:choose, xsl:whenи xsl:otherwise.

Листинг 3.19

version="1.0"

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

Welcome,

.

Sorry,

, access denied.

Результатом этого преобразования будет текст

Sorry, Johnny, access denied.

В этой строке имя johnnyбыло заимствовано из входящего документа. Оно было создано элементом xsl:value-of:

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

В данном случае выражение nameиспользовалось для генерации символьных данных. Между тем, выражения вполне пригодны и для того, чтобы создавать в выходящем документе целые фрагменты:

Листинг 3.20. Преобразование

version="1.0"

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

Листинг 3.21. Выходящий документ

John

19

Элемент xsl:copy-of, который использовался в этом преобразовании, делает примерно то же самое, что и xsl:value-of— вычисляет значение выражения и включает его в дерево выходящего документа. Главным отличием xsl:copy-ofявляется то, что при его выполнении вычисленное выражение не преобразуется в строку, что позволяет копировать в выходящее дерево множества узлов и результирующие фрагменты. В приведенном выше примере элементы nameи ageвыходящего документа являются копиями элементов nameи ageвходящего документа.

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

age

будет скопирован в выходящий документ, содержащий текст " age". Ни о каком вычислении выражения ageречь, конечно же, не идет. Для того чтобы в результирующий документ был скопирован результат вычисления выражения, оно должно быть заключено в атрибут одного из вычисляющих элементов, например, xsl:copy-of:

В этом случае в элемент reason будет включен результат вычисления выражения age.

Виды выражений

Выражения языка XPath можно условно разделить на несколько основных типов:

□ пути выборки;

□ выражения фильтрации множеств;

□ выражения объединения множеств;

□ сравнения;

□ логические операции;

□ вызовы функций.

Рассмотрим подробно назначение и принципы работы каждого из типов выражений.

Пути выборки

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

Путь выборки может быть абсолютным (отсчитываться от корневого узла дерева) или относительным (отсчитываться от контекстного узла). Он может состоять из нескольких шагов выборки, каждый из которых относительно предыдущего шага (или начального узла) выбирает некоторое множество узлов. Результатом вычисления пути выборки является множество узлов, выбранное его последним шагом.

Пример

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

/html/head/title

Означает он примерно следующее:

□ " /" — ведущая косая черта обозначает абсолютный путь выборки, то есть путь, который отсчитывается от корневого узла;

□ " html" — шаг выборки элементов html;

□ " /" — разделитель шагов выборки;

□ " head" — шаг выборки элементов head;

□ " /" — разделитель шагов выборки;

□ " title" — шаг выборки элементов title.

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

□ " /" — путь, который выбирает корневой узел;

□ " /html" — путь, который выбирает дочерние элементы htmlкорневого узла;

□ " /html/head" — путь, который выбирает дочерние элементы headэлементов html, находящихся в корне документа;

□ " /html/head/title" — путь, выбирающий дочерние элементы titleсубэлементов headэлементов html, которые находятся в корне документа.

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

Интервал:

Закладка:

Сделать


Алексей Валиков читать все книги автора по порядку

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




Технология XSLT отзывы


Отзывы читателей о книге Технология XSLT, автор: Алексей Валиков. Читайте комментарии и мнения людей о произведении.


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

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