• http://www.w3.org/TR/xmlschema-0/, http://www.w3.org/TR/xmlschema-1/ и http://www.w3.org/TR/xmlschema-2/. XML-схемы, альтернатива объявлениям DTD;
• http://www.w3.org/TR/xlink/. Спецификация XLinks;
• http://www.w3.org/TR/xptr. Спецификация XPointers;
• http://www.w3.org/TR/xhtml1/. Спецификация XHTML 1.0;
• http://www.w3.org/TR/xhtml11/. Спецификация XHTML 1.1;
• http://www.w3.org/DOM/.W3C Объектная модель документа, DOM (Document Object Model).
Теперь мы научились создавать документы XML. Каковы они в наглядном виде?
Как XML выглядит в браузере?
Можно непосредственно отображать XML-документы при помощи браузера, такого, как Microsoft Internet Explorer версии 5 или более поздней. Например, если сохранить созданный нами XML-документ под именем greeting.xml и открыть его в Internet Explorer, он будет выглядеть так, как показано на рис. 1.1.
Рис. 1.1.XML-документ в Internet Explorer
На рис. 1.1 можно видеть документ XML полностью. Нет никакого форматирования, документ XML выглядит в Internet Explorer точно так же, как если бы вы вывели его на печать. (Для отображения экрана, показанного на рис. 1.1, Internet Explorer использовал свою таблицу стилей по умолчанию. Она преобразует XML в формат Dynamic HTML, с которым Internet Explorer умеет работать.) А что, если нам требуется представить данные в другом виде? Допустим, мы захотим представить данные из planets.xml в документе HTML в виде HTML-таблицы?
Тут-то нам и понадобятся преобразования XSLT. В этой главе мы с ними познакомимся, а в конце главы рассмотрим другую сторону XSL — XSL-FO.
XSLT обладает большими возможностями для оперирования данными в документах XML. Например, при помощи таблицы стилей (stylesheet) XSLT я мог бы отформатировать данные из planets.xml
в таблицу HTML. Таблицы стилей содержат правила, установленные для преобразования XML-документа, и большая часть книги посвящена созданию таблиц стилей и объяснению того, как они работают. Вот как выглядит таблица стилей XSLT planets.xsl
(листинг 1.2), преобразующая данные из planets.xml в таблицу HTML (мы проанализируем ее в главе 2).
Листинг 1.2. planets.xsl
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
The Planets Table
The Planets Table
|
|
|
|
Как видите, эта таблица стилей XSLT выглядит как XML-документ — и для этого есть основания, потому что она им и является. Все таблицы стилей XSLT являются также и документами XML, а раз так, то они должны быть хорошо форматированными документами XML С этими двумя документами — planets.xml
(листингом 1.1) и связанной с ним таблицей стилей, planets.xsl
(листинг 1.2) — мы будем работать на протяжении всей книги, рассматривая различные возможные преобразования XSLT.
Как вы свяжете эту таблицу стилей с XML-документом planets.xml
? Как мы увидим в следующей главе, одним из способов это сделать является инструкция обработки XML , использующая два атрибута. Первый атрибут — type
, который следует установить в «text/xml», чтобы указать, что используется таблица стилей XSLT. (Чтобы использовать таблицы стилей другого типа — каскадирующие таблицы стилей (CSS, cascading stylesheets), обычно использующиеся с HTML — следует задать «text/css».) Второй атрибут — href
, которому следует присвоить значение URI (вспомните, что XML использует не адреса URL, а идентификаторы URI, Uniform Resource Identifier) таблицы стилей:
Mercury
.0553
58.65
1516
.983
43.4
.
.
.
Теперь при помощи процессора (processor) XSLT можно применить таблицу planets.xsl
к planets.xml
и создать новый документ, planets.html
. Процессор XSLT создает новый файл planets.html
, который вы можете увидеть на рис. 1.2.
Рис. 1.2.HTML-документ, созданный процессором XSLT
Как можно видеть на рис. 1.2, процессор XSLT считывает данные из planets.xml
, применяет к ним правила из planets.xsl
и создает HTML-таблицу в planets.html. Это наш первый пример XSLT-преобразования.
Что здесь на самом деле происходит? У нас были XML-документ, planets.xml
, и таблица стилей XSLT, planets.xsl
. Но каким образом они объединились для создания planets.html
?
Что нужно для XSLT-преобразования
Для осуществления XSLT-преобразования, такого как преобразование planets.xml
в planets.html
, необходим XSLT-процессор. Для преобразований документов XML можно использовать XSLT тремя способами:
Читать дальше