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

Интервал:

Закладка:

Сделать

□□¶

создаст в выходящем документе фрагмент

<���а/>

безо всяких пробельных символов, в то время как шаблон

□□||¶

создаст фрагмент вида

□□||¶

Различие двух этих шаблонов в том, что в первом текстовые узлы содержат текст " ¶ ¶ □□" и " ¶ ¶" соответственно, а во втором — " ¶ ¶ □□|" и " | ¶ ¶". Текстовые узлы второго шаблона не будут удалены, поскольку они содержат непробельные символы (символы " |").

Второй случай сохранения текстовых узлов основан на использовании возможностей XML по управлению пробельными символами. Если в элементе задан атрибут xml:spaceсо значением "preserve", обрабатывающее программное обеспечение должно сохранять в нем и в его потомках пробельные символы. Единственным исключением из этого правила может быть опять же атрибут xml:space, заданный в элементе-потомке со значением "default".

Пример

Шаблон

□□<���а>¶

□□□□

□□□□□□¶

□□□□□□□□¶

□□□□□□¶

□□□□

□□¶

создаст в выходящем документе фрагмент вида:

Если же шаблон будет определен в виде:

□□<���а xml:space="preserve">¶

□□□□

□□□□□□¶

□□□□□□□□¶

□□□□□□¶

□□□□

□□¶

то в выходящем фрагменте в элементах аи bпробельные символы будут сохранены, а в элементах си d— удалены:

<���а xml:space="preserve">¶

□□□□

□□□□□□¶

□□□□

□□</а>

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

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

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

Элементы xsl:preserve-space и xsl:strip-space

Синтаксические конструкции этих элементов очень похожи:

elements=" токены "/>

elements=" токены "/>

Элемент xsl:preserve-spaceдобавляет, a xsl:strip-spaceудаляет имя элемента из сохраняющего множества входящего документа.

Пример

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

Вообще, обязательные атрибуты elements элементов xsl:strip-spaceи xsl:preserve-spaceсодержат не сами имена элементов, а так называемые проверки имен. Проверка имени имеет три варианта синтаксиса.

□ Синтаксис "*"используется для выбора произвольных имен. Ей будут соответствовать любые имена элементов.

□ Синтаксис " имя "используется для выбора элементов с заданным именем. К примеру, проверке имени "d"будут соответствовать все элементы с именем " d".

□ Синтаксис " префикс :*"используется для выбора всех элементов в данном пространстве имен. К примеру, если в документе определен префикс пространства имен uprв виде атрибута xmlns:upr="http://www.upr.com", проверке имени "upr:*"будут соответствовать все элементы пространства имен, определяемого идентификатором "http://www.upr.com".

Пример

Предположим, что нам необходимо сохранить пробельные символы в элементе с именем си удалить их в элементе eи элементах, принадлежащих пространству имен, определяемому идентификатором " urn:d".

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

<���а xmlns:d="urn:d">¶

□□¶

□□□□¶

□□□□□□¶

□□□□¶

□□¶

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

version="1.0"

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

xmlns:t="urn:d"/>

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

□□¶

□□□□□□¶

□□□□¶

Сообщения процессора

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

Элемент xsl:message

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

terminate="yes" | "no">

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

Пример

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

Листинг 8.5. Входящий документ
Листинг 8.6. Преобразование

version="1.0"

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

Processing element

which has a parent element

.

Листинг 8.7. Выходящий документ
Листинг 8.8. Сообщения процессора

Processing element a.

Processing element b which has a parent element a.

Processing element с which has a parent element b.

Processing element d which has a parent element c.

Атрибут terminateуказывает на то, должен ли процессор прекратить дальнейшую обработку документа или нет. Значением этого атрибута по умолчанию является "no", что означает, что процессор должен просто вывести сообщения и продолжать дальнейшее выполнение шаблона. Если же в xsl:messageуказано terminate="yes", то процессор, выведя сообщение, прервет обработку. Этот прием может использоваться, например, для того, чтобы проверять входящие документы на соответствие определенной схеме.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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