Saxon 9 XSLT transformer vs Xalan 2.7

в настоящее время я использую Xalan 2.7.0 для преобразований XSLT над XML, но думаю о переключении на версию Saxon 9 для преобразований XSLT. Так может кто-нибудь перечислите мне основные минусы и пронс использования Saxon по отключено . Хотя я знаю, что Saxon поддерживает XSLT 2.0 и другие важные изменения, но вместо этого я хотел бы узнать больше о личном опыте Saxon 9 и его prons и cons и других преимуществах.

3 ответов


я использовал Xalan 10 лет назад. Я использую Saxon почти исключительно в течение последних 10 лет.

Saxon не только является процессором XSLT 2.0 и XSLT 3.0, но и очень активно развивается и поддерживается.

Саксон 9.xx-один из самых быстрых процессоров XSLT. Его разработчик, д-р Майкл Кей является редактором W3C XSLT WG (рабочая группа), и, таким образом, он, вероятно, тот, кто лучше всего понимает спецификацию XSLT, и это показывает на саксонском языке. Любая языковая функция строго и точно реализовано - обычно намного опережает других поставщиков.

д-р Кей часто сообщает об уровне соответствия, как указано при запуске W3C XSLT и XQuery WGS Test suite, который состоит из десятков тысяч тестов.

Saxon поддерживается несколькими IDEs, одним из самых заметных из которых является кислород. Саксон очень активный список рассылки пользователей и типичное время реакции обычно измеряется в часах.

пока у меня около 11 процессоров XSLT установлено, что я использую 99% моего времени Саксон.


мы интегрируем как Xalan, так и Saxon (6.5 и 9) в наш продукт, oXygen XML Editor, поэтому в основном мы поддерживаем разработчиков XSLT, которые используют как Saxon, так и Xalan.

из нашего опыта Saxon 9 активно развивается, в то время как развитие Xalan застопорилось с многих лет. Это также потому, что Saxon 9 является процессором XSLT 2, а Xalan-процессором XSLT 1, и на XSLT 1 мало что можно сделать.

большинство разработчиков XSLT в наши дни используют XSLT 2.0, поэтому тот факт, что Saxon 9-это двигатель XSLT 2.0, который является хорошей причиной для выбора Saxon 9. Нет смысла бороться с XSLT 1, в то время как XSLT 2 доступен уже несколько лет.

Xalan имеет лицензию Apache 2.0, а Saxon - лицензию Mozilla Public License (MPL). С точки зрения использования на самом деле нет разницы - это будет разница, только если вы измените код процессора самостоятельно, в случае MPL вам нужно сделать доступными ваши изменения в коде.

один незначительная проблема с Saxon 9 заключается в том, что он не поддерживает расширения напрямую, но вы можете зарегистрировать интегрированные расширения через API или передать класс инициализатора в командной строке, который зарегистрирует эти расширения. Однако XSLT 2.0 предоставляет множество новых функций и инструкций в качестве стандарта, поэтому маловероятно, что вам понадобятся расширения.

Saxon 9 также включает поддержку XSLT 3.0 (В настоящее время это рабочий проект), но с Saxon у вас есть ранний доступ к некоторым из новые дополнения в XSLT 3.

для наших внутренних задач XSLT мы используем почти все время Saxon 9.

надеюсь, это поможет!

с наилучшими пожеланиями, Джордж!--1-->


просто добавьте к тому, что говорит Джордж: вы не только получите больше функциональности w/Saxon, чем w/Xalan, но и значительно улучшите производительность (меньше памяти, работает быстрее) во многих случаях.