Алексей Валиков - Технология 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. Например, если для обработки XML-документа всегда будет использоваться одно и то же преобразование, логично будет закрепить это преобразование за документом.

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

Заметим, что xml-stylesheetможет закреплять за XML-документами не только преобразования. Основным назначением инструкции xml-stylesheetявляется ассоциация с документом фиксированного стиля (англ. stylesheet— стиль, стилевая таблица). С этой точки зрения преобразования являются не более, чем частным случаем стилевых таблиц.

Инструкция xml-stylesheetсодержит шесть псевдоатрибутов (приставка псевдо- поясняет, что на самом деле инструкции по обработке не имеют атрибутов), два из которых, hrefи type, являются обязательными. Использование псевдоатрибутов xml-stylesheetпоясняет табл. 4.2.

Таблица 4.2. Псевдоатрибуты инструкции по обработке xml-stylesheet

Псевдоатрибут Описание
href Указывает местоположение стиля, закрепляемого за документом. В случае преобразований, hrefуказывает местоположение преобразования, которое нужно применять к этому документу. В псевдоатрибуте hrefможет быть также указан уникальный идентификатор преобразования, если оно включено в сам документ ( см. раздел "Включение преобразования в документ" ).
type Указывает тип стиля, закрепляемого за документом. В нашем случае, поскольку мы ассоциируем с документом XSLT-преобразование, псевдоатрибут typeдолжен иметь значение " text/xsl"
title Задает название закрепляемого стиля. Название не имеет особого значения при обработке — оно просто поясняет назначение стиля
media Указывает тип носителя или устройства, для которого предназначен результирующий документ
charset Определяет кодировку, в которой создан стиль. Если стиль является XSLT-преобразованием, значение псевдоатрибута charsetв расчет не принимается, поскольку кодировка преобразований явно или неявно определена в них самих
alternate Указывает, является ли данный стиль основным (" no") или альтернативным (" yes"). Значением этого атрибута по умолчанию является " no"
Примечание

Что касается псевдоатрибута type, то на самом деле нет стандарта, который заставлял бы использовать значение " text/xsl". Рабочая группа XSL Консорциума W3 до сих пор обсуждает, какой именно тип должен быть присвоен XSLT. Поскольку XSLT есть XML-язык, формально следовало бы использовать " application/xml", однако с легкой подачи Microsoft все используют " text/xsl".

Инструкция xml-stylesheetможет быть включена только в пролог документа, то есть она должна предшествовать корневому элементу. Не рекомендуется включать эту инструкцию в блоки DOCTYPE, поскольку некоторые парсеры и процессоры будут ее в этом случае игнорировать.

Примеры

Стандартный механизм использования xml-stylesheetможет быть продемонстрирован следующим документом:

В этом документе инструкция xml-stylesheetуказывает на то, что этот документ должен быть обработан XSLT-преобразованием mytransform.xsl.

Псевдоатрибут titleможет содержать краткое описание применяемого преобразования:

Псевдоатрибуты mediaи alternateмогут использоваться совместно для того, чтобы описать альтернативное представление документа, к примеру, на небольших мобильных устройствах:

Теоретически, если документ с такой инструкцией будет показываться на мобильном устройстве (например, на Palm Pilot), он должен быть преобразован при помощи pda.xsl. На практике не следует полагаться на подобные возможности, поскольку они сильно зависят от поддержки серверов и процессоров, которая в этом отношении все еще сильно ограничена.

В заключение описания инструкции xml-stylesheetприведем правила, которые определяют ее синтаксис.

[XMS1] StyleSheetPI ::= ' '

[XMS2] PseudoAtt ::= Name S? '=' S? PseudoAttValue

[XMS3] PseudoAttValue ::= ( '"' ([^"<&]|CharRef|PredefEntityRef)* '"'

| "'" ([^'<&]|CharRef|PredefEntityRef)* "'")

- (Char* '?>' Char*)

[XMS4] PredefEntityRef ::= '"' | '<'

| '>' | '&' | '''

Объединение документа и преобразования

XSLT-преобразование является, как правило, самостоятельным XML-документом, корневым элементом которого является xsl:stylesheetили xsl:transform. Вместе с тем, иногда бывает необходимо объединять преобразуемый документ и само преобразование так, чтобы они находились в одном файле.

Мы опишем два способа объединения документов и преобразований. Первый основывается на использовании инструкции xml-stylesheetдля того, чтобы закрепить за документом преобразование, находящееся внутри него самого. Во втором способе обрабатываемый документ включается в преобразование как пользовательский элемент верхнего уровня и обрабатывается при помощи функции document('')с пустым строковым параметром.

Включение преобразования в документ

Корневой элемент преобразования xsl:stylesheetможет быть включен в преобразуемый документ со всеми дочерними элементами верхнего уровня и так далее. Для того чтобы использовать это преобразование, псевдоатрибут hrefинструкции по обработке xml-stylesheetдолжен указывать на идентификатор элемента xsl:stylesheet, определенный в его атрибуте id.

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

Main content

id="transform"

version="1.0"

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

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

Main content

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

К сожалению, приходится констатировать тот факт, что описанную возможность (хотя она и включена в спецификацию языка XSLT) поддерживают очень немногие процессоры и поэтому пока что на нее не следует полагаться.

Включение документа в преобразование

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

Поскольку преобразование также является XML-документом, доступ к данным, которые оно содержит можно получить при помощи функции document, так же, как если бы документ преобразования был внешним документом. Функция document, которой в качестве параметра была передана пустая строка, возвращает множество, состоящее из корневого узла самого преобразования. То есть, если документ был включен в преобразование в качестве элемента верхнего уровня с именем, к примеру, user:input, получить доступ к нему можно при помощи выражения

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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