Основные характеристики процессора:
Платформы: Java.
Расширения: функции и элементы расширения на Java.
Полнота реализации: практически идеальная.
Разработчик: Майкл Кей.
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 -o result.xml source.xml stylesheet.xsl
Полная версия Saxon (включающая также исходный код) тоже может использоваться как утилита командной строки:
java com.icl.saxon.StyleSheet -o 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 и многое другое.