Саксонский XSLT - Saxon XSLT
Саксонский является XSLT и XQuery процессор, созданный Майкл Кей и теперь разрабатывается и поддерживается его компанией Saxonica. Есть Открытый исходный код а также с закрытым исходным кодом коммерческие версии. Существуют версии для Ява, JavaScript[1] и .СЕТЬ.
Текущая версия по состоянию на май 2020 года - 10.1.[2]
Версии
Первоначальная линия разработки Saxon закончилась версией 6 серии. Это серия процессоров XSLT 1.0. Текущая версия 6.5.5 не подвергается дальнейшему развитию, кроме обслуживания. Серия 6 доступна только для языка программирования Java.
Текущая линия разработки, Saxon 10, реализует спецификации XSLT 3.0 и XQuery 3.1. Saxon 10 также может обрабатывать файлы XSLT 1.0. (XSLT 2.0 имеет обратную совместимость с XSLT 1.0. [3])
С 2004 по 2009 год Saxon был доступен в двух отдельных формах: Saxon-B и Saxon-SA. Оба они были построены на аналогичных кодовых базах. Саксон-Б был Открытый исходный код программное обеспечение, выпущенное под Общественная лицензия Mozilla, в то время как Saxon-SA был коммерческим продуктом с закрытым исходным кодом.
Разница между Saxon-B и Saxon-SA заключалась в том, что B был «базовым», а SA - «знающим схему». Эти термины являются ссылками на термины в спецификации XSLT 2.0 и XQuery 1.0. Процессор, "знающий схему", может использовать Схема W3C XML для определения типов данных различных элементов в исходных XML-документах. Эти типы данных затем можно использовать в XPath 2.0 и XSLT 2.0 команды. «Базовый» процессор XSLT 2.0 не может использовать информацию о типе данных.
С выпуском версии 9.2 в августе 2009 г. упаковка была изменена и теперь были созданы три версии: домашняя версия (HE), профессиональная версия (PE) и корпоративная версия (EE). Домашняя версия имеет открытый исходный код и бесплатна, другие версии доступны по коммерческим лицензиям. Переименование из SA в EE было сделано, чтобы подчеркнуть, что коммерческий продукт к настоящему времени включает множество дополнительных функций, помимо понимания схемы, в том числе более продвинутый оптимизатор и возможность потоковой обработки XSLT и XQuery, что позволяет обрабатывать очень большие исходные документы без соответствующего большой объем памяти.
Saxon предлагает строгое соответствие рекомендациям XSLT 2.0, XPath 2.0 и 3.0 и XQuery 1.0 и 3.0 W3C, а также реализует XML Schema 1.0 и 1.1. По состоянию на 2016 год текущая версия (9.7) также реализует большинство функций черновика Рекомендаций для XSLT 3.0, XPath 3.1 и XQuery 3.1.
Исходный код Saxon написан на Java. В течение 2005-6 гг. М. Дэвид Петерсон и другие продемонстрировали, что Saxon может быть скомпилирован для работы в .NET с использованием IKVM.NET кросс-компилятор, запускающий Saxon.NET как отдельный продукт, независимый от исходного разработчика. С выпуском Saxon 8.7 компания Saxonica приняла эту технологию, и с этого выпуска все версии выпускались одновременно для Java и .NET. Версия продукта .NET не включает функции, специфичные для платформы Java (например, интеграцию с JDOM, Dom4j, и XOM ) и вместо этого предоставляет функции, которые интегрируются с возможностями обработки XML платформы .NET.
В 2012 году после серии прототипов Saxonica выпустила Saxon Client Edition (Saxon-CE), версию продукта, адаптированную для работы в среде браузера. Это достигается путем адаптации исходного кода Java, чтобы его можно было скомпилировать в Javascript с помощью GWT кросс-компилятор произведен Google. Saxon-CE предоставляет первую реализацию XSLT 2.0, работающую в браузере, а также расширяет язык, так что вместо простого создания HTML он может напрямую обрабатывать взаимодействие с пользователем. С выпуском Saxon-CE 1.1 в феврале 2013 года продукт стал открытым. В феврале 2016 года Майкл Кей объявил, что Saxonica работает над заменой Saxon-CE, написанной на чистом Javascript и получившей название Saxon-JS.[4]
Майкл Кей, автор Saxon, был редактором спецификации XSLT 2.0, а также редактором проекта XSLT 3.0.
Функции
В этой таблице показано, какие функции доступны в текущих версиях Saxon. Версии Java и .NET созданы на основе единой кодовой базы, поэтому имеют одинаковые функции. Суффиксы * HE *, * PE *, * EE * и * CE * относятся к выпускам Home, Professional, Enterprise и Client соответственно: Saxon-HE и -CE имеют открытый исходный код, а версии -PE и -EE доступны по коммерческой лицензии.
Более подробную и актуальную матрицу функций можно найти на веб-сайт Saxonica.
Особенность | Саксонский 6.5.5 (Только для Java) | Саксонский HE 9,5 (Домашняя версия, MPL -2.0) | Саксонский ПЭ 9,5 (Профессиональное издание, коммерческий) | Саксонский EE 9.5 (Enterprise Edition, коммерческий) | Саксонский CE 1.1 (Клиентская версия, JS -Только, MPL -2.0) |
---|---|---|---|---|---|
Поддержка XSLT 1.0 | да | Через обратно совместимое поведение | Через обратно совместимое поведение | Через обратно совместимое поведение | Через обратно совместимое поведение |
Поддержка XSLT 2.0 | -- | да | да | да | да |
Поддержка XSLT 3.0 | -- | -- | да | да | -- |
Поддержка XPath 1.0 | да | Через режим совместимости с XPath 1.0 | Через режим совместимости с XPath 1.0 | Через режим совместимости с XPath 1.0 | Только в XSLT |
Поддержка XPath 2.0 | -- | да | да | да | Только в XSLT |
Поддержка XPath 3.0 | -- | -- | да | да | -- |
Поддержка XQuery 1.0 | -- | да | да | да | -- |
Поддержка XQuery 3.0 | -- | -- | да | да | -- |
Поддержка XQueryX | -- | -- | -- | -- | -- |
Поддержка XQuery Updates 1.0 | -- | -- | да | да | -- |
Полнотекстовая поддержка XQuery / XPath | -- | -- | -- | -- | -- |
Поддержка XML Schema 1.0 | -- | -- | -- | да | -- |
Поддержка XML Schema 1.1 | -- | -- | -- | да | -- |
Поддержка функции сериализации | да | да | да | да | -- |
Поддержка функции статической печати | -- | -- | -- | -- | -- |
xml: поддержка id 1.0 | -- | да | да | да | да |
Таблица стилей XML Инструкция по обработке поддерживать | да | да | да | да | через таблицу стилей начальной загрузки XSLT 1.0 |
Расширенные функции расширения | -- | -- | да | да | -- |
Расширенный оптимизатор | -- | -- | -- | да | -- |
Потоковое | -- | -- | -- | да | -- |
Генерация байт-кода | -- | -- | -- | да | -- |
Смотрите также
Рекомендации
- ^ "Saxon Client Edition 1.0". Саксоника. Получено 14 августа 2012.
- ^ Официальный сайт Saxon XSLT
- ^ Эта Рекомендация основывается на успехе [XSLT 1.0], который был опубликован 16 ноября 1999 г. В язык было добавлено много новых функций (см. J.2 Новые функции), при этом сохранен высокий уровень обратной совместимости. Преобразования XSL (XSLT) Версия 2.0
- ^ http://dev.saxonica.com/blog/mike/2016/02/introduction-saxon-js.html