Язык преобразования XSLT презентация

Содержание

Это расширяемый язык таблиц стилей. Язык XSL фактически состоит из двух частей: языка преобразований и языка форматирования. Язык, предназначенный для выполнения преобразований, позволяет конвертировать структуры документов в различные

Слайд 1Язык преобразования XSLT
Презентацию подготовила Шигаева Алена, гр.950б


Слайд 2 Это расширяемый язык таблиц стилей. Язык XSL фактически

состоит из двух частей: языка преобразований и языка форматирования. Язык, предназначенный для выполнения преобразований, позволяет конвертировать структуры документов в различные формы (например, PDF,WML,HTML или иные типы схем), в то время как язык форматирования используется для оформления и определения стилей документов различными способами. Обе части языка XSL могут функционировать совершенно независимо одна от другой, поэтому их можно рассматривать в качестве независимых языков разметки.

Язык XSLT


Слайд 3Язык XSLT применяется для обработки документов, внесения изменений и необходимых дополнений

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

Применение таблиц стилей XSLТ в XML-документах.


Слайд 4Пример:


Слайд 5Ниже показан примерный вид таблицы стилей. В данном случае содержимое файла

преобразуется в HTML-код:

Таблицы стилей XSL


Слайд 6Документ можно преобразовать тремя способами:
С помощью сервера – серверная программа, например

JAVA или JAVA SERVER PAGE, применяет таблицу стилей для автоматического преобразования документа и представления его клиенту.
С помощью клиента – клиентская программа, например браузер, выполняет преобразование путем чтения таблиц стилей, указанной с помощью инструкции по обработке .
С помощью отдельной программы – некоторые программы, обычно основанные на JAVA, предназначены для выполнения XSLT-преобразования.

Выполнение преобразования


Слайд 71) Выполнение преобразований с помощью сервера:


Слайд 8Выполненного с помощью сервера Tomcat:


Результат выполнения jslt-преобразования


Слайд 92) Применение браузеров для преобразования XML-документов:


Слайд 10Результат преобразования:


Слайд 11Для создания программы воспользуемся классом TransformerFactory для формирования нового объекта из

этого класса.

3)Применение специальных программ


Слайд 12МЕТОД
Protected TransformerFactory()
Abstract Source getAssociatedStylesheet(Source source, String media, String title, String charset)
Abstract

object getAttribute (String name)
Abstract ErrorListener getErrorListener()
Abstract boolean getFeature (String name)
Abstract URIResolver getURIResilver()

Static TransformerFactory newInstance()
Abstract Templates newTemplates (Source source)
Abstract Transformer new Transformer()

ОПИСАНИЕ
Заданный по умолчанию конструктор
Получает спецификации таблиц стилей

Возвращает определенные атрибуты
Возвращает обработчик ошибочного события для TransformerFactory
Возвращает значение свойства
Получает объект, используемый по умолчанию в процессе преобразования для разрешения URI-ссылок
Получает новый объект TransformerFactory
Обрабатывает Source в объекте Templates
Создает новый объект TransFormer, который использует источник для преобразований

Методы класса TransformerFactory


Слайд 13МЕТОД
Abstract Transformer newTransformer (Source source)

Abstract void setAttribute (String name, Object value)
Abstract

void setErrorListener (ErrorListener listener)
Abstract void setURIResolver (URIResolver resolver)








ОПИСАНИЕ
Создает новый объект TransFormer, который применяет Source для выполнения преобразований
Устанавливает определенные атрибуты

Устанавливает слушатель событий, связанных с ошибками JAVA
Устанавливает объект, применяемый по умолчанию во время преобразования для разрешения URI-ссылок


Слайд 14МЕТОД
Protected Transformer()
Abstract void clearParameters()
Abstract ErrorListener getErrorListener()
Abstract Properties getOutputProperties()
Abstract String getOutputProperty (String

name)
Abstract Object getParameter(String name)
Abstract URIResolver getURIResolver()
Abstract void setErrorListener (ErrorListener listener)
Abstract void setOutputProperties (Properties oformat)
Abstract void SetOutputProperty (String name, String value)


ОПИСАНИЕ
Заданный по умолчанию конструктор
Очищает все параметры, установленные с помощью setParameter
Возвращает обработчик сообщения об ошибке
Возвращает копию выводимых свойств
Возвращает значение выводимого свойства
Возвращает параметр, с помощью setParameter либо setParameters
Возвращает объект, используемый для разрешения URI-ссылки
Устанавливает слушатель событий, связанных с ошибками JAVA
Устанавливает выводимые свойства
Устанавливает выводимое свойство


Методы класса javax.xml.transform.Transformer


Слайд 15МЕТОД
Abstract void setParameter (String name, Object value)
Abstract void setURIResolver (URIResolver resolver)
Abstract

void transform (Source xmlSource, Result outputTarget







ОПИСАНИЕ
Устанавливает параметр

Устанавливает объект, применяемый для разрешения Uri-ссылки
Выполняет преобразование




Слайд 16Для выполнения преобразования воспользуемся методом transform объекта TransFormer, передавая ему преобразованный

XML-документ:


Пример


Слайд 17В процессе XSLT-преобразований в качестве вводных данных используется дерево документа, в

результате обработки которого формируется дерево результатов. В этом случае документы представляют собой деревья, построенные на основе узлов. Язык XSLT распознает семь типов XSLT-узлов. Эти узлы представлены в следующем списке, где также указан порядок их обработки XSLT-процессорами:
Корень документа – начало документа;
Атрибут - данный узел включает значение атрибута наравне с объектными ссылками, которые могут расширяться, и пропусками, которые могут удаляться;
Комментарий – данный узел включает текст комментария без знаков ;
Элемент – этот узел содержит все символьные данные элемента, включая символьные данные любого дочернего элемента;
Пространство имен – данный узел содержит URIпространства имен;
Инструкция по обработке – этот узел включает текст инструкции по обработке, куда не входят символы ;
Текст – данный текст содержит текст узла.

Создание таблиц стилей XSLT


Слайд 18Для определения обрабатываемого узла XSLT предлагает различные способы, обеспечивающие установку соответствия

с узлами или их выбора. Для начала разработаем небольшой пример, заменяющий корневой узел HTML-страницей.



Слайд 19Таким образом начинает создаваться таблица стилей XSLT. Для обработки определенных узлов

XML-документа XSLT использует шаблоны.
В следующем примере требуется заменить корневой узел новым HTML-документом. Начнем с создания шаблона с помощью элемента :



Слайд 20При установлении соответствия с корневым узлом к нему применяется шаблон. В

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



Слайд 21Вот и все, что требуется выполнить в данной ситуации. С помощью

элемента в таблице стилей устанавливается правило. Когда XSL-процессор просматривает документ, в качестве первого узла выбирается корневой узел. Данное правило устанавливает соответствие с корневым узлом, поэтому XSL-процессор заменяет его HTML-документом. Результат:



Слайд 22Шаблон описанный в предыдущем разделе, применяется только по отношению к корневому

узлу. Выполняется тривиальное действие по замене полного XML-документа HTML-документом. Можно также применять шаблоны по отношению к дочерним элементам узла, с которым установлено соответствие. В этих целях применяется элемент .
Например, рассмотрим случай, когда элемент можно заменить элементом :

Элемент xsl:apply-templates


Слайд 23Чтобы удостовериться, что дочерние элементы корректно преобразованы воспользуемся элементом следующим образом:



Слайд 24Теперь можно применить шаблоны для дочерних узлов:


Слайд 25Например, если требуется заменить текст из элемента в каждом элементе

в результирующем документе, используется следующий код:



Слайд 26В данном примере выбирается название каждой из планет, включаемое в результирующий

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

Получение значений узлов с помощью xsl:value-of


Слайд 27Атрибут select выделяет только первый узел, соответствующий данному критерию. Но как

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

Обработка нескольких выделенных областей с помощью xsl:for-each


Слайд 28Атрибуту match элемента присущ специфический синтаксис; еще в большей степени

сказанное справедливо в отношении атрибута select элементов , , , и .
Начнем с match:
Установка соответствия с корневым узлом

Определение шаблонов для атрибута match


Слайд 29Установка соответствия с элементами



Установка соответствия с дочерними элементами


Установка соответствия с потомками

элементов


Установка соответствия с атрибутами



Слайд 32
Теперь select:
Атрибут select использует выражения XPath .Основы XPath : чтобы указать

узел или набор узлов в Xpath, применяется путь локализации. Путь локализации, в свою очередь, состоит из одного или большего числа шагов локализации, которые разделяются / или //. Если путь локализации начинается с /, он называется абсолютным путем локализации, поскольку начинается от корневого узла; иначе, путь локализации является относительным, начинаясь от текущего узла, именуемого контекстным узлом.
Шаг локализации состоит из оси, узла тестирования и нуля или других предикатов.
Оси XPath


Слайд 34Узлы тестирования Xpath




Предикаты XPath



Слайд 35Самое важное заданное по умолчанию правило применяется по отношению к элементам

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




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



Аналогичное заданное по умолчанию правило применяется по отношению к атрибутам,

Заданные по умолчанию XSLT-правила


Слайд 36Которые добавляются к результирующему документу с помощью заданного по умолчанию правила,

например:



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

Аналогичное утверждение справедливо и для комментариев, для которых заданное по умолчанию правило можно выразить так:

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



Результат:




Слайд 38Создание шаблонов атрибутов



Изменение структуры документа на основе вводных данных


Слайд 39Результирующий документ:









Создание новых элементов




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

элемент . Пример:

Создание новых атрибутов


Слайд 41Генерирование комментариев с помощью xsl:comment


Слайд 42Получаем следующий результат:









Генерирование текста с помощью xsl:text
С помощью этого элемента можно

создавать текстовые узлы, которые позволяют выполнить замену целых элементов текстом «на лету». Одно из преимуществ элемента заключается в сохранении пропусков.



Слайд 43Пример:



Слайд 45Элемент можно применять для копирования узлов, причем можно

указывать отдельные копируемые части. Заданное по умолчанию правило для элементов состоит в том, что копируется только текст элемента. Но правило можно изменить, если воспользоваться элементом , который копирует целые элементы, текстовые узлы, атрибуты, инструкции по обработке и т.д.
Рассмотрим соответствующий пример:

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


Слайд 46Элемент используется для выполнения сортировки наборов узлов. Этот

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

Сортировка элементов


Слайд 48С помощью элемента можно выбирать варианты на базе

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

Применение xsl:if


Слайд 50Результат:


Слайд 51Применение xsl : choose
Элемент < xsl : choose>во многом схож с

JAVA –конструкцией switch,которая позволяет сравнивать тестовое значение с несколькими возможными. Например, предположим, что атрибут COLOR добавляется к каждому элементу :


Слайд 52Правило: если узлом документа для результирующего документа является , XSLT-процессору известно,

что типом результирующего документа является HTML-код, и документ записывается соответствующем образом.
Можно указать три типа результирующих документов.
XML задан по умолчанию, подобный документ начинается с объявления . Кроме того, объектные ссылки не заменяются в результирующем документе символами, например < либо &; в результате отображается реальная объектная ссылка.
HTML – стандартный html 4.0, без XML-объявления, то есть не возникает необходимости закрывать элементы, которые обычно не имеют завершающего тега. Пустые элементы могут заканчиваться с помощью >, но не />. Кроме того, символы < и & в тексте не заключаются в соответствующие символы объектных ссылок.
TEXT – этот тип результирующего документа представляет собой сплошной текст. В этом случае результирующий документ представляет собой просто текст дерева документа.

Контроль типа вывода


Слайд 53Можно определить результирующий метод, присвоив атрибуту method элемента

значения “xml”, “html” либо “text”. Например если необходимо создать html-документ, даже если корневой элемент не является , можно воспользоваться элементом :

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

Атрибуты для ,которые можнот использовать для создания или обновления XML-объявлений:



Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика