Алексей Валиков - Технология 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 - читать книгу онлайн бесплатно, автор Алексей Валиков
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Элемент xsl:with-param

Синтаксис этого элемента выглядит следующим образом:

name=" имя "

select=" выражение ">

Как можно заметить, элемент xsl:with-paramабсолютно идентичен элементу xsl:param(отличаются только их имена). Практически настолько же похоже и их действие: элемент xsl:with-paramтоже связывает с именем параметра значение, и при выполнении шаблона это значение будет использоваться вместо значения параметра по умолчанию.

Таким образом, значение параметра, заданного в шаблоне, выбирается в соответствии со следующими положениями:

□ если в элементе, который вызывает этот шаблон, присутствует элемент xsl:with-param, передающий значение этого параметра, в шаблоне будет использоваться переданное значение;

□ если в элементе, который вызывает этот шаблон, элемента xsl:with-param, с соответствующим именем нет, в качестве значения параметра будет использоваться значение по умолчанию.

Элемент xsl:with-paramможет использоваться только в качестве дочернего элемента xsl:apply-templatesи xsl:call-template.

В качестве простого примера приведем шаблон, который выводит сокращение названия для недели по его номеру. Номер дня передается в шаблон параметром с именем day-number.

Листинг 5.26. Вывод названия дня недели по номеру

Mon

Tue

Wed

Thu

Fri

Sat

Sun

Hmm...

Результатом вызова:

будет текстовый узел " Mon". Рассмотрим теперь случай, когда параметра передано не было:

Шаблон выведет задумчивое Hmm..., поскольку значение параметра day-numberбудет по умолчанию нулем (атрибут selectимеет вид select="0") и в операторе выбора xsl:chooseсработает условие xsl:otherwise.

Параметры могут быть использованы как в именованных, так и в неименованных шаблонах. Именованные шаблоны с параметрами ведут себя как самые настоящие функции — они могут вызываться с определенными параметрами вне зависимости от контекста, только чтобы выполнить какие-либо действия с переданными значениями. В случае обычных, неименованных шаблонов параметры могут предоставлять некую дополнительную информацию.

Пример

Представим себе описание меню в следующем формате:

Для того чтобы при обработке особым образом выделять текущую страницу, определим в шаблоне параметр currentи будем выводить название страницы в элементе b(от англ. bold — полужирный), если значение currentравно индексу данного пункта меню; если текущая страница и индекс пункта меню не совпадают, то выводиться будет ссылка.

Результатом выполнения шаблона

будет фрагмент меню вида

Home

News

Profile

Contact

Попробуем теперь обработать элементы menuitem, не указывая значение параметра current:

Результат будет получен в виде:

Home

<���а href="news.htm">News

<���а href="profile.htm">Profile

Contact

Этот фрагмент выходящего документа легко объяснить. Вследствие определения:

значением параметра currentпо умолчанию является 1, и поэтому в меню был выбран пункт с индексом 1.

Мы упомянули, что значением параметра может быть дерево. Попробуем пояснить эту концепцию на примере генерации HTML-документа.

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

content

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

мы можем видеть на следующем листинге:

content

Выделенный фрагмент относится к части дерева, которая была создана копированием значения параметра head.

Попробуем теперь передать в качестве параметра дерево, сгенерированное следующим шаблоном:

H1 {border-width: 1; border: solid; text-align: center}

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

Выходящий документ будет получен в виде:

H1 {border-width: 1; border: solid; text-align: center}

content

Выделенный фрагмент, как и в предыдущем случае, соответствует части документа, полученной при копировании значения параметра head.

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

Глава 6

XPath-выражения

Выражения для XML-документов

По мере распространения XML-технологий и развития смежных с ними областей стали выделяться не только задачи, которые хорошо подходят для решения с помощью XML, но и задачи, которые нужно решать при программировании самих XML-приложений. Одной из таких задач является обращение к определенным частям XML-документа. Например, если нам нужно получить из документа, скажем, цену продукта, которая находится в атрибуте valueэлемента price, принадлежащему элементу product, сделать это при помощи стандартных SAX- или DOM-интерфейсов было бы, мягко говоря, не очень удобно. И это еще простой пример. Бывают, действительно, сложные случаи, когда нужно выбрать узел определенного типа, который может находиться в нескольких местах в документе, да еще и должен обладать заданными свойствами.

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

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

В языке XSLT очень часто используются XPath-выражения — во всех вычислениях, выборках, сравнениях и так далее, XSLT опирается на XPath. В XPath есть арифметические и логические операции, а также библиотека базовых функций (которые, правда, дополняются некоторыми функциями XSLT). Можно с уверенностью заявить, что без знания языка XPath будет невозможно создавать реально функционирующие преобразования.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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