Опубликован: 24.01.2007 | Уровень: для всех | Доступ: платный
Лекция 10:

Отображение XML-документов с использованием XSL-таблиц стилей

В этой лекции вы познакомитесь с последним из рассматриваемых в этом курсе методов отображения XML-документов в браузере Microsoft Internet Explorer 5 – расширяемым языком таблиц стилей XSL (Extensible Stylesheet Language). Подобно таблице каскадных стилей (CSS), рассмотренной в "Отображение XML-документов с использованием таблиц каскадных стилей" , XSL-таблица стилей связывается с XML-документом и сообщает браузеру, как отображать данные XML. Это позволяет вам открывать XML-документ непосредственно в браузере без посредничества HTML-страницы.

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

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

Однако XSL-таблицы являются более сложными для понимания, чем CSS-таблицы. Работа с ними требует знания языка HTML. Кроме того, это новая технология, поэтому имеет меньшую степень поддержки – меньшую степень унификации среди современных браузеров.

Ссылка. Эта лекция знакомит с основами XSL. Вы можете узнать больше об этой мощной, развивающейся технологии XML, обратившись к официальным спецификациям XSL, которые можно найти на Web-страницах, предоставленных консорциумом World Wide Web Consortium (W3C): "Extensible Stylesheet Language (XSL) Version 1.0" по адресу http://www.w3.org/TR/WD-xsl и "XSL Transformations (XSLT) Version 1.0"по адресу http://www.w3.org/TR/WD-xslt. Чтобы подробнее узнать о поддержке XSL в Internet Explorer 5, обратитесь к следующим Web-страницам, предоставленным Microsoft Developer Network (MSDN): "XSL Developer's Guide" по адресу http://msdn.microsoft.com/xml/xslguide/default.asp и "XSL Reference" по адресу http://msdn.microsoft.com/xml/reference/xsl/start.asp.

Основы использования XSL-таблиц стилей

Существуют два основных шага для отображения XML-документа при использовании XSL-таблицы стилей.

  1. Создание файла XSL-таблицы стилей. XSL является приложением XML, т. е. XSL-таблица представляет собой корректно сформированный XML-документ, который отвечает правилам XSL. Подобно любому XML-документу, XSL-таблица стилей содержит простой текст, и вы можете создать ее с помощью вашего любимого текстового редактора. В последующих разделах рассказывается, как создавать различные типы XSL-таблиц стилей.
  2. Связывание XSL-таблицы стилей с XML-документом. Вы можете связать XSL-таблицу стилей с XML-документом, включив в документ инструкцию по обработке xml-stylesheet, которая имеет следующую обобщенную форму записи:
    <?xml-stylesheet type="text/xsl" href=XSLFilePath?>

    Здесь XSLFilePath представляет собой заключенный в кавычки URL, указывающий местонахождение файла таблицы стилей. Вы можете использовать полный URL, например:

    <?xml-stylesheet type="text/xsl"
    	href="http:/www.my_domain.com/Inventory.xsl"?>

    Чаще используют неполный URL, который задает местонахождение относительно месторасположения XML-документа, содержащего инструкцию по обработке xml-stylesheet, например:

    <?xml-stylesheet type="text/xsl" href="Inventory.xsl"?>

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

    Подсказка. Хотя вы и можете связать XSL-таблицу стилей с использованием полного URL, таблица стилей при этом должна размещаться на том же домене, что и XML-документ, с которым вы ее связываете. Например, если домен http://mspress.microsoft.com/ содержит XML-документ, то и XSL-таблица стилей должна размещаться на том же домене.

    Обычно инструкция по обработке xml-stylesheet добавляется в пролог XML-документа вслед за объявлением XML, как вы увидите в примере XML-документа, рассматриваемого в следующем разделе (см. Листинг 10.2). Более подробная информация об инструкциях по обработке и описании мест в документе, куда они могут быть корректно помещены, содержится в разделе "Использование инструкций по обработке" в "Добавление комментариев, инструкций по обработке и разделов CDATA" .

    Если вы связали XSL-таблицу стилей с XML-документом, вы можете открыть этот документ непосредственно в Internet Explorer 5, и браузер отобразит XML-документ с использованием инструкций по преобразованию, содержащихся в таблице стилей. В отличие от таблиц каскадных стилей, если вы связываете с XML-документом более одной XSL-таблицы стилей, браузер использует первую таблицу и игнорирует все остальные. Если вы свяжете с XML-документом и CSS-таблицу и XSL-таблицу стилей, браузер использует только XSL-таблицу стилей.

    Примечание. Если вы не связали XML-документ ни с CSS-таблицей, ни с XSL-таблицей стилей, Internet Explorer 5 отобразит документ с помощью встроенной XSL-таблицы, которая используется по умолчанию. Эта таблица стилей отображает исходный XML-текст в виде дерева с возможностью свертывания/развертывания уровней (см. раздел "Отобразите XML-документ без таблицы стиля" в "Создание и отображение вашего первого XML-документа" .

Максим Попов
Максим Попов

Почему при использовании скриптов, приведенных в курсе Основы XML

лекция Лекция 8: 

Отображение XML-документов с использованием связывания данных

не происходит связывания XLM документа с HTML?

Отображаются пустые поля. Браузер IE11

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Олег Волков
Олег Волков
Россия, Балаково, МБОУ СОШ 19