XSLT
Шрифт:
• рекурсивная обработка шаблонов;
• правила шаблона по умолчанию;
• обработка пустого пространства;
• отключение вывода;
• выбор применяемого шаблона;
• создание шаблонов совпадений;
• использование предикатов в шаблонах совпадений;
• поиск совпадений элементов, дочерних и производных элементов, атрибутов и т.д.;
• поиск по идентификатору;
• синтаксис, связанный с 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 таких ресурсов, в том числе и адресами, с которых можно бесплатно загрузить используемое в книге программное обеспечение. Тут, однако, стоит отметить одно затруднение: адреса в Интернете меняются очень часто, поэтому не удивляйтесь, если некоторые из приведенных в книге адресов изменятся к тому моменту, когда вы попробуете их использовать.
В Интернете по адресу издательства New Riders,можно найти полные тексты всех листингов книги.
Для кого предназначена
Эта книга рассчитана на всех, кто хочет изучать XSLT и способы его использования на практике. Единственное требование — вы должны представлять, как создавать документы на XML и HTML. Нет необходимости быть экспертом в XML, однако знание соответствующих тем будет полезно [1] . Больше никакой специальной подготовки не требуется.
1
См. выпущенные издательством книги «XML и Java 2, библиотека программиста» и «XML, справочник». — Примеч. ред.
Если вы хотите выполнять приведенные в книге примеры в процессорах XSLT, которые загружаются бесплатно, в вашей системе должна быть установлена Java (это бесплатно), более подробно мы рассмотрим эту тему в главе 1.
На каком уровне написана книга
Эта книга написана на нескольких различных уровнях, от начального до продвинутого, поскольку область применения XSLT очень широка. Я постараюсь охватить так много материала, касающегося XSLT, как это только возможно, поэтому почти весь материал, от начального до профессионального уровня, изложен в книге. Как уже говорилось, я считаю, что у вас есть представление о XML и HTML.
Навыков программирования при чтении книги не требуется — за исключением главы 10, специально посвященной преимуществам использования процессоров XSLT вместе с Java. Если вы хотите изучить эту главу, вам необходим некоторый опыт программирования на Java.
Поскольку сейчас вариантов использования XSLT очень много, в книге упоминаются несколько программных пакетов; их все можно бесплатно загрузить из Интернета (далее я укажу, откуда).
Используемые соглашения
Примите во внимание ряд используемых в книге соглашений.
Самое важное правило: когда я добавляю новый раздел кода, я помечаю обсуждаемые строки кода полужирным шрифтом:
Отметим также, что нумерованные листинги можно загрузить с сайта издательства:Загрузив этот код, вы сэкономите много времени, если вы хотите выполнить или изменить код примеров книги.
В тех местах, на которые требуется обратить особое внимание, или где требуется дополнительная информация для обсуждения, я буду помещать врезку, например:
УСТАНОВКА НАЧАЛЬНОГО НОМЕРА СТРАНИЦЫ
Еще один совет: чтобы установить начальный номер страницы, можно воспользоваться свойством initial-page-number элемента <fo:page-sequence>. Это даст вам возможность, например, отдельно отформатировать главы, начиная каждую главу с нужного номера страницы.