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

Интервал:

Закладка:

Сделать

logout _

В результате получится следующая инструкция:

Для того чтобы создать в выходящем XML-документе инструкцию xml-stylesheet, которая используется для связывания документов со стилями и преобразованиями, можно воспользоваться следующим определением:

href="style.xsl" type="text/xsl"

Результирующий документ будет содержать инструкцию по обработке в виде:

Элемент xsl:processing-instructionне может создать декларацию XML, несмотря на то, что с точки зрения синтаксиса (но не семантики) она имеет форму инструкции по обработке. Для вывода XML-декларации следует использовать элемент xsl:output.

Копирование узлов

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

Элемент xsl:copy

Ниже представлена синтаксическая конструкция этого элемента:

use-attribute-sets = " наборы атрибутов ">

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

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

Пример

Предположим, что в каждый элемент преобразовываемого документа нам нужно добавить атрибут element-countсо значением, равным количеству его дочерних элементов, а все остальные узлы оставить, как есть.

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

<���а> text

text

Листинг 7.18. Шаблон преобразования
Листинг 7.19. Выходящий элемент

text

text

Если xsl:copyиспользуется для создания в выходящем документе копии узла элемента, в него при помощи атрибута use-attribute-setsмогут быть также включены именованные наборы атрибутов ( см. раздел "Именованные наборы атрибутов" данной главы ).

Пример

Предыдущее преобразование может быть переписано в виде

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

Элемент xsl:copy-of

Синтаксис элемента несложен:

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

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

□ Если результат вычисления имеет булевый, числовой или строковый тип, то xsl:copy-ofвыводит его в виде текстового узла. В этом случае поведение xsl:copy-ofабсолютно не отличается от поведения элемента xsl:value-of.

□ Если результатом вычисления выражения является множество узлов (node-set), то xsl:copy-ofкопирует в выходящий документ все узлы в порядке просмотра документа вместе с их потомками.

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

Рассмотрим пример.

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

false

text

3.14

10

20

30

text

text

text

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

version="1.0"

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

Value-of boolean:

Copy-of boolean:

Value-of string:

Copy-of string:

Value-of number:

Copy-of number:

Value-of node-set:

Copy-of node-set:

Value-of tree:

Copy-of tree:

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

Value-of boolean:false

Copy-of boolean:false

Value-of string:text

Copy-of string:text

Value-of number:3.14

Copy-of number:3.14

Value-of node-set:10

Copy-of node-set:102030

Value-of tree:

text

text

Copy-of tree:

text

text

Условная обработка

В XSLT имеются две инструкции, которые поддерживают условную обработку — xsl:ifи xsl:choose. Инструкция xsl:ifпозволяет создавать простые условия типа "если-то", в то время как xsl:chooseсоздает более сложную конструкцию для выбора одной из нескольких имеющихся возможностей в зависимости от выполнения тех или иных условий.

Элемент xsl:if

Синтаксис элемента следующий:

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

Элемент xsl:ifявляется простейшим условным оператором в XSLT. Выражение, содержащееся в обязательном атрибуте test, вычисляется и приводится к булевому типу. В том и только том случае, если выражение имеет значение true, процессор выполняет шаблон, содержащийся в xsl:if.

Вследствие того, что атрибуты в XML не могут содержать некоторые специальные символы (такие как " <" и " &"), их необходимо заменять символьными сущностями. В особенности это касается сравнения чисел типа "меньше"; объявление вида

будет с точки зрения синтаксиса XML некорректным. Вместо него следует использовать эквивалентное объявление

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

Пример

Предположим, мы преобразовываем список названий

Alpha

Bravo

Charlie

во фрагмент HTML-кода, в котором каждый элемент itemдолжен быть преобразован в соответствующий элемент option, а значение, выбранное во входящем документе атрибутом activeэлемента list, должно быть помечено булевым атрибутом selected.

Листинг 7.23. Шаблон преобразования, использующий элемент xsl:if

selected

Результат:

Alpha Bravo Charlie
Примечание

В данном преобразовании использовался метод вывода " html". Подробнее о методах вывода выходящего документа см. раздел "Контроль вывода документа" 8 главы .

К сожалению, элемент xsl:ifв XSLT не может реализовать конструкцию if-then-else (англ. если-то-иначе). Условные выражения такого вида реализуются при помощи элементов xsl:choose, xsl:whenи xsl:otherwise.

Элементы xsl:choose, xsl:when, xsl:otherwise

Ниже даны синтаксические конструкции этих элементов:

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

Элемент xsl:chooseсодержит один или несколько элементов xsl:whenи необязательный элемент xsl:otherwise. При обработке xsl:chooseпроцессор поочередно вычисляет выражения, содержащиеся в атрибутах testэлементов xsl:when, приводит их к булевому типу и выполняет содержимое первого (и только первого) элемента, тестовое выражение которого будет равно true. В случае если ни одно из тестовых выражений не обратилось в "истину" и в xsl:chooseприсутствует xsl:otherwise, процессор выполнит содержимое этого элемента.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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