Технология XSLT
Шрифт:
– ->
– ->
К сожалению, текущая версия MSXML не поддерживает расширение пользовательскими элементами.
Процессор Xalan
Основные характеристики.
□ Платформы: Java, С++.
□ Расширения: функции и элементы расширения.
□ Полнота реализации: один из наиболее проработанных процессоров. □ Разработчик: Apache XML Project.
□ URL: http://xml.apache.org.
Xalan — это очень известный XSLT-процессор, созданный в рамках Apache XML Project для языковых платформ Java и С++. Xalan, как и остальные продукты Apache XML Project, поставляется с открытым исходным кодом и открытым API, что делает его очень привлекательным для интеграции в другие приложения.
Использование
По сути дела, Xalan Java и Xalan C++ — это библиотеки, позволяющие использовать XSLT-преобразования в собственных проектах. Xalan Java поддерживает набор интерфейсов TrAX (от англ. transformation API for XML — программный интерфейс преобразований для XML), определяющий стандартные модели и методы преобразования XML-документов в Java-программах.
Помимо этого, и Xalan Java и Xalan С++ предусматривают возможность выполнения преобразований из командной строки. Для Xalan Java стандартный вызов будет выглядеть так:
Если при попытке выполнения этой команды выдается сообщение вида:
это означает, что библиотека
Библиотека Xalan С++ имеет несколько вариантов для платформ Windows 32, Linux, AIX, HP-UX и Solaris, каждый из которых включает также скомпилированную утилиту TestXSLT, позволяющую выполнять преобразования из командной строки:
Расширения
Xalan
С++ позволяет вызывать в XSLT-преобразовании пользовательские функции расширения, написанные на языке С. Кроме того, в дополнение к базовым функциям XSLT, Xalan С++ реализует несколько наиболее часто используемых функций, например, функциюВозможности расширения Xalan Java намного богаче. Xalan Java, как и Xalan С++, реализует дополнительную библиотеку функций (которая по сравнению с Xalan С++ также намного шире). Помимо этого, Xalan Java позволяет создавать функции и элементы расширения на Java и других языках программирования.
Остановимся на последнем пункте более подробно. Xalan позволяет использовать библиотеку BSF (от англ. bean scripting framework — система скриптовых языков для bean-компонент). BSF — это библиотека, которая позволяет использовать скриптовые языки в Java-приложениях и апплетах. На данный момент BSF позволяет реализовывать в Xalan Java расширения на следующих скриптовых языках:
□ Mozilla Rhino (фактически, еще один вариант JavaScript);
□ NetRexx;
□ BML;
□ JPython;
□ Jacl;
□ PerlScript;
□ VBScript;
□ JavaScript.
Процессор Saxon
Основные характеристики.
□ Платформы: Java.
□ Расширения: функции и элементы расширения на Java.
□ Полнота реализации: практически идеальная.
□ Разработчик: Майкл Кей.
□ URL: http://saxon.sourceforge.net.
XSLT-процессор Saxon был разработан и до сих пор поддерживается единственным человеком — Майклом Кеем (Michael Kay), который в настоящий момент является редактором спецификации XSLT 2.0. Процессор Saxon, так же как и Xalan, является бесплатным open-source продуктом.
На Web-сайте Saxon доступны два варианта процессора — полный Saxon и облегченная версия, скомпилированная для Windows — Instant Saxon, которая занимает всего 400 килобайт в архиве, но практически не уступает полной версии по функциональности.
Следует особым образом подчеркнуть полноту реализации Saxon. Майкл Кей является известным специалистом по XSLT, который много времени уделяет консультированию разработчиков в списке-рассылке XSL List. Столь плотная работа с конечными пользователями позволяет ему быстро реагировать на информацию о допущенных ошибках и несоответствиях. Как результат, разработанный и поддерживаемый им процессор считается образцом соответствия стандарту XSLT. В целом, Saxon можно описать как выдающийся продукт от выдающегося человека.
Использование
Легкий вариант, Instant Saxon представляет собой утилиту командной строки
Полная версия Saxon (включающая также исходный код) тоже может использоваться как утилита командной строки:
Как и в случае с Xalan, библиотеку