Вход/Регистрация
Технология XSLT
вернуться

Валиков Алексей Н.

Шрифт:

java org.apache.xalan.xslt.Process -in source.xml -xsl stylesheet.xsl -OUT result.xml

Если при попытке выполнения этой команды выдается сообщение вида:

Exception in thread "main" java.lang.NoClassDefFoundError:

org/apache/xalan/xslt/Process

это означает, что библиотека

xalan.jar
не прописана в переменной окружения
CLASSPATH
, запустить Xalan в этом случае можно, указав
xalan.jar
в параметрах явным образом:

java -cp xalan.jar org.apache.xalan.xslt.Process -in source.xml -xsl stylesheet.xsl -out result.xml

Библиотека Xalan С++ имеет несколько вариантов для платформ Windows 32, Linux, AIX, HP-UX и Solaris, каждый из которых включает также скомпилированную утилиту TestXSLT, позволяющую выполнять преобразования из командной строки:

TestXSLT -in source.xml -xsl stylesheet.xsl -out result.xml

Расширения

Xalan С++ позволяет вызывать в XSLT-преобразовании пользовательские функции расширения, написанные на языке С. Кроме того, в дополнение к базовым функциям XSLT, Xalan С++ реализует несколько наиболее часто используемых функций, например, функцию

nodeset
. В текущей версии (1.2) 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.exe
, с помощью которой можно применять преобразования к XML-документам:

saxon.exe -о result.xml source.xml stylesheet.xsl

Полная версия Saxon (включающая также исходный код) тоже может использоваться как утилита командной строки:

java com.icl.saxon.stylesheet -о result.xml source.xml stylesheet.xsl

Как и в случае с Xalan, библиотеку

saxon.jar
придется либо включить в переменную окружения
CLASSPATH
, либо указывать явным образом

java -cp saxon.jar com.icl.saxon.StyleSheet -o result.xml source.xml stylesheet.xsl

Между тем, Saxon — это далеко не только процессор командной строки. Saxon предоставляет очень мощные возможности для использования в собственных проектах. В частности, Saxon поддерживает TrAX (Transformation API for XML), о котором мы говорили чуть выше, позволяет применять пользовательские парсеры и сериализаторы, предоставляет API для Java и многое другое.

  • Читать дальше
  • 1
  • ...
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: