Алексей Валиков - Технология 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:choose, xsl:whenи xsl:otherwiseможно совместно использовать для получения конструкции типа if-then-else. Условие вида "если выражение A истинно, то выполнить действие B иначе выполнить действие C ", которое в других языках программирования может быть записано, к примеру, как

если

верно условиеА

то

выполнить шаблонB

иначе

выполнить шаблонC

в XSLT может быть определено следующим образом:

шаблонB

шаблонC

Вместе с тем, условие вида "если — то — иначе" это не все, на что способен элемент xsl:choose. Возможность указывать несколько элементов xsl:whenпозволяет записывать более сложные условия выбора вида:

если

верно условие1

то

выполнить шаблон1

иначе если

верно условие2

то

выполнить шаблон2

...

иначе если

верно условиеN

то

выполнить шаблонN

иначе

выполнить шаблонМ

Такой множественный условный переход совершенно прозрачно оформляется в виде следующей xsl:choose-конструкции:

шаблон1

шаблон2

шаблонN

шаблонМ

Циклическая обработка

Элемент xsl:for-each

Конструкция этого элемента такова:

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

Элемент xsl:for-eachиспользуется для создания в выходящем документе повторяемых частей структуры. Обязательный атрибут selectуказывает выражение, результатом вычисления которого должно быть множество узлов. Шаблон, содержащийся в xsl:for-each, будет выполнен процессором для каждого узла этого множества.

Пример

Мы можем использовать xsl:for-eachдля того, чтобы создать список гипертекстовых ссылок для документа вида.

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

Please visit this link.

Or this one.

Or visit this site.

Or click here.

Будем считать, что в этом документе элементы гипертекстовых ссылок а являются потомками элемента body, который находится в элементе html.

Листинг 7.25. Шаблон преобразования
Листинг 7.26. Результат преобразования

http://www.aaa.com

http://www.bbb.com

http://www.ccc.com

http://www.ddd.com

Элемент xsl:for-eachизменяет контекст преобразования. Множество узлов, возвращаемое выражением в атрибуте select, становится текущим множеством узлов, а узел, шаблон для которого выполняется в данный момент, становится текущим узлом.

Как мы знаем, множества узлов в XSLT не имеют внутреннего порядка. Однако, обработка узлов в xsl:for-eachбудет происходить в так называемом порядке просмотра документа, который зависит от того, какое выражение использовалось для вычисления обрабатываемого множества. Порядок обработки множества узлов в xsl:for-eachможет быть также изменен элементами xsl:sort, которые могут присутствовать в xsl:for-each. Элемент xsl:sortзадает сортировку обрабатываемого множества узлов, изменяя, таким образом, порядок просмотра, что часто бывает очень полезно.

Глава 8

Дополнительные элементы и функции языка XSLT

Дополнительные элементы и функции

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

К дополнительным элементам XSLT мы отнесем следующие:

xsl:preserve-spaceи xsl:strip-space— работа с пробельными символами;

xsl:message— сообщения процессора;

xsl:sort— сортировка множеств перед обработкой;

xsl:namespace-alias— определение псевдонимов пространств имен;

xsl:key— определение ключей;

xsl:number— нумерация;

xsl:decimal-format— определение десятичного формата;

xsl:output— контроль сериализации.

В XSLT также определяются дополнительные функции, расширяющие базовую библиотеку функций XPath:

key— использование ключей;

format-number— форматирование чисел;

document— обращение к внешним документам;

current— обращение к текущему узлу преобразования;

unparsed-entity-uri— получение URI неразбираемой сущности по ее имени;

generate-id— генерация уникального идентификатора узла документа;

system-property— получение информации о свойствах системы, окружения.

Обработка пробельных символов

В XSLT выделяются четыре пробельных символа, обработка которых несколько отличается от обработки других символов. Их Unicode-коды и описания сведены в табл. 8.1.

Таблица 8.1. Unicode-коды пробельных символов

Unicode-коды Описание
Десятичный Шестнадцатеричный
#9 #x9 Горизонтальная табуляция
#10 #xA Перевод строки
#13 #xD Возврат каретки
#32 #x20 Пробел

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

Пример

Рассмотрим шаблон преобразования, содержащий пробельные символы (" " обозначает пробел, а " " — перевод строки).

Листинг 8.1. Шаблон преобразования с пробельными символами

□□□¶

□□□¶

□□□□□□□□□¶

□□□□□□¶

□□□□□□□□□¶

Поскольку текстовые узлы этого шаблона содержат только пробельные символы, они будут удалены из дерева преобразования, и результат будет иметь вид:

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

□ Он содержит хотя бы один непробельный символ.

□ Он принадлежит элементу, в котором сохранение пробельных символов задано средствами XML, а именно атрибутом xml:spaceсо значением preserve.

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

Во всех остальных случаях текстовый узел будет удален.

Продемонстрируем все три случая сохранения текстового узла на примерах.

Первый случай довольно прост. Шаблон

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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