Читаем XSLT полностью

Ниже перечислены изменения в XSLT 1.0, сделанные в рабочем проекте XSLT 1.1; заметьте, что этот список приведен здесь только в качестве справочного материала, так как большая часть материала вряд ли пока что-нибудь для вас значит:

• исключен поддерживаемый в XSLT 1.0 тип данных фрагмента результирующего дерева;

• метод вывода больше не может произвольно добавлять узлы пространства имен, поскольку процесс установки пространства имен применяется автоматически;

• была добавлена поддержка для XML Base;

• теперь поддерживаются несколько выходных документов при помощи элемента ;

• элемент теперь может иметь параметры;

• функции расширения теперь можно определять при помощи функции ;

• функции расширения теперь могут возвращать внешние объекты, не соответствующие никаким типам данных XPath.

В этой книге рассматривается рекомендация XSLT 1.0. а также рабочий проект XSLT 1.1. В развитие данной темы W3C и выпустил требования для XSLT 2.0, которые также рассматриваются в книге под именем XSLT 2.0. В следующем списке приведен обзор целей XSLT 2.0:

• добавить дополнительную поддержку для работы с содержимым схемы XML при помощи XSLT;

• упростить работу со строками;

• упростить работу с XSLT; 

• улучшить поддержку различных языков;

• сохранить обратную совместимость с XSLT 1.0;

• поддерживать повышенную эффективность процессора.

Хотя XSLT 2.0 еще некоторое время не будет выпущен в окончательном варианте, я рассмотрю все, что о нем известно, при обсуждении имеющих к нему отношение тем. Например, разработанный W3C последователь HTML — это основанный на XML язык XHTML. В XSLT 1.0 и в рабочем проекте XSLT 1.1 нет прямой поддержки преобразований из XML в XHTML, поэтому нам придется создать это преобразование с нуля. Однако такая поддержка входит в состав XSLT 2.0, и я отмечу этот факт при обсуждении XHTML.

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

Документы XML

Вы должны понимать, как работают документы XML, поэтому проверьте по материалам этого раздела, готовы ли вы к работе. Давайте посмотрим на примере документа XML:

 

  Hello From XML

 

 

  Welcome to the wild and woolly world of XML.

 

Вот как работает этот документ: я начал с инструкции обработки XML (все инструкции обработки XML начинаются с ), означающей, что используется XML версии 1.0, единственная определенная сейчас версия, и кодировка символов UTF-8, то есть используется восьмибитная сжатая версия Unicode:

 

  Hello From XML

 

 

  Welcome to the wild and woolly world of XML.

 

Затем я создаю новый тег (tag) с именем . Для тега можно использовать любое имя, не обязательно DOCUMENT; необходимо только, чтобы имя начиналось с буквы или символа подчеркивания (_), а последующими символами были буквы, цифры, символы подчеркивания, точки (.) или дефисы (-), но не пробелы. В XML теги всегда начинаются с < и заканчиваются >.

Документы XML образованы из элементов XML; последние начинаются с открывающего тега, такого как (за которым следует содержимое (content) элемента, если оно есть, — например, текст или другие элементы), и завершаются закрывающим тегом, парным тегу открытия (он начинается с символов ). Весь документ целиком, за исключением инструкций обработки, заключается в один элемент, называемый корневым (root) элементом; в нашем случае это элемент :

 .

 .

 .

Теперь я добавлю новый элемент, , в который заключено текстовое содержимое (здесь «Hello From XML», привет от XML) этого XML-документа:

 

  Hello From XML

 

 .

 .

 .

После этого я могу добавить еще один элемент, , также образующий оболочку над текстовым содержимым:

 

  Hello From XML

 

 

  Welcome to the wild and woolly world of XML.

 

Сейчас корневой элемент содержит два элемента — и , в каждом из которых имеется текст. Таким образом, я создал новый документ XML.

Однако следует добавить еще кое-что: документы XML могут быть также хорошо сформированными (well-formed) и допустимыми (valid). 

Хорошо сформированные документы XML

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже