WEB- ТЕХНОЛОГИИ Лекция 4
Задача преобразования XML- данных 1 Задача преобразования Для передачи данных между разными приложениями необходимо преобразовать их из модели, используемой одним приложением, в модель, используемую другим XML: – отделение данных от их представления – передача данных между приложениями
Понятие XSLT 2 XSLT это расширяемый язык стилей для преобразований ( от англ. eXtensible Stylesheet Language for Transformations), который используется для описания преобразований структуры документов. XSLT позволяет трансформировать одни документы в другие, пользуясь простыми наборами правил преобразования Технология XSLT – это технология, позволяющая преобразовывать ( трансформировать ) XML- документ – в другой XML- документ ; – в HTML- документ для отображения Web- браузером ; – в документы иных форматов (WML, RTF, PDF, TEX и т. п.). Стадии : 1.Структурное преобразование, при котором структура данных исходного XML- документа конвертируется в структуру, отражающую желаемый вывод ; 2.Форматирование, при котором новая структура выводится в желаемом формате, например, 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 стандарт, рекомендованый World Wide Web Consortium. Первые две части этого языка стали официальной рекомендацией W3C в ноябре 1999 года. Полная рекомендация по XSL, включая XSL- форматирование, стала кандидатом в официальные рекомендации в ноябре 2000 года.
Пространство имен XSLT 8 Чтобы XSLT- процессор « понимал » указания таблицы стилей, соответствующие имена, используемые в таблице стилей, должны принадлежать определенному пространству имен. В зависимости от используемой версии или диалекта XSLT эти пространства имен разные : Префикс : xsl
Как происходит преобразование 9 В ходе преобразования XSLT- процессор манипулирует тремя объектами : 1)деревом исходного документа или входным деревом, которое строится в памяти в ходе загрузки исходного документа. Процессор анализирует это дерево путем целенаправленного обхода его узлов ; 2)деревом таблицы стилей, которое также строится в памяти процессора в ходе загрузки таблицы стилей. Процессор анализирует это дерево путем целенаправленного обхода его узлов ; 3)деревом результирующего документа или выходным деревом, которое процессор последовательно, узел за узлом строит в своей памяти в ходе преобразования. После окончания строительства процессор выполняет так называемую сериализацию, в ходе которой выходное дерево преобразуется в выходной документ.
Как происходит преобразование 10 В ходе преобразования XSLT- процессор манипулирует тремя объектами : 1)деревом исходного документа или входным деревом, которое строится в памяти в ходе загрузки исходного документа. Процессор анализирует это дерево путем целенаправленного обхода его узлов ; 2)деревом таблицы стилей, которое также строится в памяти процессора в ходе загрузки таблицы стилей. Процессор анализирует это дерево путем целенаправленного обхода его узлов ; 3)деревом результирующего документа или выходным деревом, которое процессор последовательно, узел за узлом строит в своей памяти в ходе преобразования. После окончания строительства процессор выполняет так называемую сериализацию, в ходе которой выходное дерево преобразуется в выходной документ.
Структура таблицы стилей 12
Шаблоны 13 Таблица стилей должна содержать, по крайней мере, один шаблон ; на самом деле их зачастую бывает много. В свою очередь, тело шаблона может содержать : – поддеревья конечных литеральных элементов, которые непосредственно копируются в выходное дерево ; – элементы - инструкции, выполнение которых процессором приводит к формированию отдельных узлов или целых поддеревьев на основе узлов исходного дерева, которые также помещаются в выходное дерево.
Форсирующая обработка 14
Извлекающая трансформация 16