Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Semantic web.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.1 Mб
Скачать
  1. XSL CITATION Тим01 \l 1049

      1. Введение

Для обработки XML-документов был разработан язык XSL (eXtensible Stylesheet Language – расширяемый язык таблиц стилей), являющийся подмножеством XML (то есть XSL-документ является корректным XML-документом) и специально предназначеный для форматирования XML-элементов.

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

  1. конструирование результирующего дерева из дерева XML-источника;

  2. интерпретация результирующего дерева для производства форматированного вывода, пригодного для показа на экране дисплея, на бумаге, его произнесения, или на другом носителе.

Первый аспект называется трансформация дерева, а второй называется форматирование. Процесс форматирования выполняется форматировщиком. Этот форматировщик может быть просто браузером.

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

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

Более простой взгляд на XSL – это язык, который может преобразовывать XML в HTML, фильтровать и сортировать XML-данные, адресно обращаться к различным частям XML-документа, форматировать XML-данные в зависимости от их значения (например, показывать отрицательные числа красным цветом).

XSL – больше, чем просто таблица стилей, XSL состоит из трех частей или включает в себя три языка:

  • метод преобразования XML-документов – XSLT (Extensible Stylesheet Language Transformations) – язык преобразований XML в другие типы документов или в другие XML-документы;

  • метод задания частей и путей к элементам XML – XPath – язык определения частей и путей к элементам XML, создан для использования языком XSLT;

  • метода форматирования XML-документов – XSL Formatting Objects – язык определения показа XML, процесс превращения результата XSL-преобразования в форму, удобную для пользователя.

XSLT и XPath были предложены в виде двух отдельных официальных рекомендаций W3C 16 ноября 1999 года. Для языка XSL Formatting Objects нет отдельной рекомендации, но его описание можно найти в рекомендациях по языку XSL 1.0.

В общем случае, XSLT позволяет автору задавать параметры отображения элемента XML, используя любые языки, предназначенные для форматирования – HTML, RTF, XML и т.д. В этом разделе мы будем использовать в качестве такого языка HTML, т.к. документы, созданные при помощи этого языка разметки, могут просматриваться браузером или любой другой программой просмотра Web-страниц.

Кроме того, XSLT может добавлять совершенно новые элементы в выходной файл или удалять элементы. Этот язык может изменить порядок элементов, произвести проверку и на ее основе решить какие элементы показывать и еще многое другое.

Наиболее общее описание процесса преобразования звучит так: XSL использует XSLT для преобразования XML-дерева-оригинала в XML-дерево-результат (или XML-документ-оригинал в XML-документ-результат).

В процессе преобразования XSLT использует XPath для определения тех частей в документе-оригинале, которые соответствуют одному или более заранее заданным шаблонам. Когда такое соответствие обнаруживается, XSLT преобразует соответствующую часть в документе-оригинале в документ-результат. Те части документа-оригинала, которые не соответствуют шаблону, будут (как гласит общее правило) попадать в документ-результат немодифицированными.

Дополнительный аспект использования XML и XSL.

Отметим теперь момент, который является ключевым для разработчиков баз данных.

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

Первый способ требует дополнительного программирования, второй способ значительно увеличивает нагрузку на сервер базы данных, производительность которого часто является узким местом системы, – пользователю всегда хочется получать результаты быстрее.

XML и XSL – это исчерпывающее решение описанной выше проблемы. Фактически XML-страница – это и есть временный буфер для результатов запросов. Только вместо нестандартного и трудоемкого программирования мы теперь используем стандартный механизм XSL.

Есть и еще одно соображение, которое может быть существенным для разработчиков баз данных. Большинство современных СУБД могут форматировать результаты запроса к базе данных в виде XML-файла. То есть при построении интерфейса пользователя в рамках технологии XML и XSL можно добиться определенной независимости от поставщика СУБД. В части организации вывода – практически полной независимости. А эта часть весьма велика в большинстве прикладных систем, ориентированных на работу с базами данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]