Язык XSL и его компоненты
Как уже говорилось, язык XML описывает структуру документа, но не говорит о том, как этот документ должен быть обработан или отображен. Выше рассмотрены два средства для решения этих задач: использование инструкции по обработке xml-stylesheet для вывода документа с помощью каскадных таблиц стилей CSS и использование средств DOM XML. Первое средство предоставляет очень ограниченные возможности по стилевому оформлению документа, а второе требует написания программ вывода документа XML на языках JavaScript или Java.
Аналогичная проблема в языке SGML – родителе языка XML, была решена с помощью создания языка семантики и описания стиля документа DSSSL (Document Style Semantics And Specification Language). Поскольку XML является подмножеством SGML, язык DSSSL можно использовать и для документов XML, например, для преобразования документа XML с одним DTD в документ XML с другим DTD или форматированного вывода документа XML. Как и сам язык SGML, язык DSSSL является мощным, но в тоже время очень сложным средством. Поэтому консорциум W3 разработал свое средство для форматированного вывода документов XML – расширяемый язык стилей XSL (Extensible Stylesheet Language).
Первоначально предполагалось, что задача форматирования документа XML будет решена с использованием только языка XSL. Однако при разработке спецификации этого языка выяснилось, что процесс форматирования документа XML разбивается на два этапа.
На первом этапе выполняется преобразование исходного документа XML, точнее его иерархического представления, в другое иерархическое представление с возможным изменением структуры документа для его форматирования. Так, например, в документ XML может быть добавлено оглавление или сделана выборка их документа по какому-либо критерию.
На втором этапе к узлам полученной иерархической структуры, которые называются объектами форматирования – FO (Format Objects), применяются стили форматирования на уровне всего документа, его отдельных страниц и элементов (абзацев, фрагментов абзацев, изображений, таблиц, списков и т.д.).
Поэтому в настоящее время язык XSL описан в двух отдельных спецификациях. Первая спецификация – язык преобразований XSL – XSLT (XSL Transformation) версия 1.0, описывающая средства преобразования в XSL, была принята в ноябре 1999 года. В январе 2007 года принята версия 2.0 этой спецификации, предназначенной для работы совместно с XPath 2.0.
Ниже рассматриваются средства и возможности языка XSLT, определенные в спецификации 2.0 (средства собственно языка XSL будут рассмотрены отдельно).
Дата добавления: 2015-03-20; просмотров: 597;