150 likes | 464 Views
WEB- ТЕХНОЛОГИИ. Лекция 4. Задача преобразования XML-данных. 1. XML: – отделение данных от их представления – передача данных между приложениями. Задача преобразования
E N D
WEB-ТЕХНОЛОГИИ Лекция 4
Задача преобразования XML-данных 1 XML: – отделение данных от их представления – передача данных между приложениями Задача преобразования Для передачи данных между разными приложениями необходимо преобразовать их из модели, используемой одним приложением, в модель, используемую другим
Понятие XSLT 2 XSLT — это расширяемый язык стилей для преобразований (от англ. eXtensibleStylesheetLanguageforTransformations), который используется для описания преобразований структуры документов. XSLT позволяет трансформировать одни документы в другие, пользуясь простыми наборами правил преобразования Технология XSLT – это технология, позволяющая преобразовывать (трансформировать) XML-документ – в другой XML-документ; – в HTML-документ для отображения Web-браузером; – в документы иных форматов (WML, RTF, PDF, TEX и т.п.). Стадии: Структурное преобразование, при котором структура данных исходного XML-документа конвертируется в структуру, отражающую желаемый вывод; Форматирование, при котором новая структура выводится в желаемом формате, например, HTML или PDF.
Стадия преобразования 3 Эта стадия может включать выборку данных, их объединение и группирование, сортировку или выполнение арифметических действий, например, перевод сантиметров в дюймы. SAX – это интерфейс, основанный на событиях, когда по мере анализа документа синтаксический анализатор уведомляет приложение о каждом отдельном фрагменте данных. Если же используется DOM, синтаксический анализатор считывает документа и формирует в памяти его древовидную объектную структуру. XSLT все еще использует синтаксический анализатор – неважно, с каким интерфейсом, DOM или SAX, – чтобы привести XML-документ к древовидной структуре. XSLT манипулирует именно древовидным представлением XML-документа, а не самим документом.
XSLT-процессоры 4 Основная роль XSLT-процессора – применить таблицу стилей XSLT к исходному документу XML и сформировать конечный документ. Важно отметить, что все компоненты этого процесса являются приложениями XML, так что базовая структура каждого – дерево. Следовательно, XSLT-процессор фактически обрабатывает три дерева. Основные: – SAXON – XALAN – MS XML Parser
XSLT и XSL 5 Язык XSLT возник как часть языка более высокого уровня – XSL (расширяемый язык таблиц стилей). XSLразбит на две части: описание преобразований, или сам язык XSLT, и «остальное» для стадии форматирования – официально это все еще язык XSL, хотя некоторые предпочитают называть его форматирующими объектами XSL (XSL-FO).
Таблицы стилей 6 Язык XSLT возник как часть языка более высокого уровня – XSL (расширяемый язык таблиц стилей). Таблица стилей – это XML-документ специального вида (обычно файл с расширением .xsl), содержащий набор правил преобразования исходного XML-документа, написанных на языке XSLT и предназначенных для XSLT-процессора. XSLT вместо этого описывает необходимые действия в терминах особого представления XML-документа, которое называется деревом. Дерево – это абстрактный тип данных.
Стандартизация 7 XSL ―стандарт, рекомендованыйWorldWideWebConsortium. Первые две части этого языка стали официальной рекомендацией W3C в ноябре 1999 года. Полная рекомендация по XSL, включая XSL-форматирование, стала кандидатом в официальные рекомендации в ноябре 2000 года.
Пространство имен XSLT 8 Чтобы XSLT-процессор «понимал» указания таблицы стилей, соответствующие имена, используемые в таблице стилей, должны принадлежать определенному пространству имен. В зависимости от используемой версии или диалекта XSLT эти пространства имен разные: http://www.w3.org/1999/XSL/Transform http://www.w3.org/TR/WD-xsl Префикс:xsl
Как происходит преобразование 9 В ходе преобразования XSLT-процессор манипулирует тремя объектами: деревом исходного документа или входным деревом, которое строится в памяти в ходе загрузки исходного документа. Процессор анализирует это дерево путем целенаправленного обхода его узлов; деревом таблицы стилей, которое также строится в памяти процессора в ходе загрузки таблицы стилей. Процессор анализирует это дерево путем целенаправленного обхода его узлов; деревом результирующего документа или выходным деревом, которое процессор последовательно, узел за узлом строит в своей памяти в ходе преобразования. После окончания строительства процессор выполняет так называемую сериализацию, в ходе которой выходное дерево преобразуется в выходной документ.
Как происходит преобразование 10 В ходе преобразования XSLT-процессор манипулирует тремя объектами: деревом исходного документа или входным деревом, которое строится в памяти в ходе загрузки исходного документа. Процессор анализирует это дерево путем целенаправленного обхода его узлов; деревом таблицы стилей, которое также строится в памяти процессора в ходе загрузки таблицы стилей. Процессор анализирует это дерево путем целенаправленного обхода его узлов; деревом результирующего документа или выходным деревом, которое процессор последовательно, узел за узлом строит в своей памяти в ходе преобразования. После окончания строительства процессор выполняет так называемую сериализацию, в ходе которой выходное дерево преобразуется в выходной документ.
Шаблоны 13 Таблица стилей должна содержать, по крайней мере, один шаблон; на самом деле их зачастую бывает много. В свою очередь, тело шаблона может содержать: – поддеревья конечных литеральных элементов, которые непосредственно копируются в выходное дерево; – элементы-инструкции, выполнение которых процессором приводит к формированию отдельных узлов или целых поддеревьев на основе узлов исходного дерева, которые также помещаются в выходное дерево.