Аналогично написанию кода XML, написание кода XSLT не обычная и не монотонная задача: этот процесс требует искусства, страстной увлеченности и оригинальности мышления, не говоря уже о том, что он часто вызывает разочарование и раздражение. Я постараюсь вести изложение в таком духе и приложу все усилия, чтобы передать в книге мощь и замечательные возможности XSLT.
Книга призвана дать вам столько материала, посвященного XSLT, сколько может содержать одна книга. Мы не только рассмотрим весь синтаксис XSLT от основ до всех специальных аспектов, но и подробно изучим различные современные способы использования XSLT.
Как я уже говорил, в книге рассмотрены сотни практических примеров, таких как осуществление преобразований XSLT на web-серверах, подключение к базам данных и использование браузеров для осуществления преобразований на лету.
Ниже перечислен ряд тем книги. Заметьте, что каждая тема включает в себя несколько подтем (слишком многочисленных, чтобы приводить их здесь):
• рекомендации по работе с XSLT 1.0;
• рабочий проект XSLT 1.1;
• требования XSLT 2.0;
• рекомендации по работе с ХРАТН 1.0;
• требования XPath 2.0;
• рекомендации по работе с пробной версией XSL 1.0;
• работа с процессорами Xalan, Saxon, XT и Oracle;
• создание выходных данных в форматах XML, HTML, RTF и простого текста;
• рекурсивная обработка шаблонов;
• правила шаблона по умолчанию;
• обработка пустого пространства;
• отключение вывода;
• выбор применяемого шаблона;
• создание шаблонов совпадений;
• использование предикатов в шаблонах совпадений;
• поиск совпадений элементов, дочерних и производных элементов, атрибутов и т.д.;
• поиск по идентификатору;
• синтаксис, связанный с XPath;
• условия if;
• конструкции for-each;
• реализация конструкций условного выбора;
• простая сортировка элементов;
• обработка множественного выделения;
• вложенные шаблоны;
• параметры таблицы стилей;
• упрощенные таблицы стилей;
• написание таблиц стилей для Internet Explorer;
• создание правил таблицы стилей;
• использование элементов расширения;
• использование функций расширения;
• создание элементов с результатом в виде литерала;
• использование шаблонов со значениями атрибутов;
• удаление пустого пространства;
• создание новых элементов, атрибутов, комментариев и т.д.;
• режимы XSLT (форматирование по контексту);
• фрагменты дерева результатов;
• форматы данных XPath;
• выражения XPath;
• все функции XSLT и XPath;
• создание наборов атрибутов;
• вызов именованных шаблонов;
• единственные и множественные ключи;
• создание документов с множественным выводом;
• использование процессоров Oracle, Saxon, XML4Java, XT в коде Java при помощи вызовов API;
• использование JavaScript для XSLT в Internet Explorer;
• Formatting Objects (форматирующие объекты) XSL-FO;
• Formatting Properties (форматирующие свойства) XSL-FO;
• преобразования XSLT на стороне сервера при помощи Java Server Pages (JSP), Active Server Pages (ASP) и сервлетов Java.
В книге полностью описаны официальные спецификации XSLT, установленные консорциумом World Wide Web Consortium (W3C: рекомендации по работе с XSLT 1.0, рабочий проект XSLT 1.1 и требования XSLT 2.0. Объяснение этих терминов приводятся в главе 1). Как мы рассмотрим в главе 1, консорциум W3C объявил, что рабочий проект (working draft) XSLT 1.1 не будет иметь статуса официальных рекомендаций, поскольку к выпуску готовится XSLT 2.0. Сейчас XSLT 2.0 имеет статус требований (requirements), который предшествует статусу рабочего проекта. Тем не менее, поскольку содержание рабочего проекта XSLT 1.1 будет включено в XSLT 2.0 и поскольку во многих процессорах XSLT будет реализована поддержка XSLT 1.1, я полностью описываю в этой книге и рабочий проект XSLT 1.1, специально отмечая относящийся к этому материал.
При создании таблицы стилей XSLT необходимо указать версию XSLT. Поскольку версия 1.1 никогда не выйдет из стадии рабочего проекта и не будет официально выпущена, я придерживаюсь в примерах этой книги версии 1.0, за исключением обсуждения рабочего проекта XSLT 1.1, — в этом случае я явно указываю версию 1.1.
Кроме того, сегодня в Интернете можно найти огромное количество материала по XSLT, так что я дополняю книгу десятками адресов URL таких ресурсов, в том числе и адресами, с которых можно бесплатно загрузить используемое в книге программное обеспечение. Тут, однако, стоит отметить одно затруднение: адреса в Интернете меняются очень часто, поэтому не удивляйтесь, если некоторые из приведенных в книге адресов изменятся к тому моменту, когда вы попробуете их использовать.
Читать дальше