Саксонский 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
Расширенные функции расширения----дада--
Расширенный оптимизатор------да--
Потоковое------да--
Генерация байт-кода------да--

Смотрите также

Рекомендации

  1. ^ "Saxon Client Edition 1.0". Саксоника. Получено 14 августа 2012.
  2. ^ Официальный сайт Saxon XSLT
  3. ^ Эта Рекомендация основывается на успехе [XSLT 1.0], который был опубликован 16 ноября 1999 г. В язык было добавлено много новых функций (см. J.2 Новые функции), при этом сохранен высокий уровень обратной совместимости. Преобразования XSL (XSLT) Версия 2.0
  4. ^ http://dev.saxonica.com/blog/mike/2016/02/introduction-saxon-js.html

внешняя ссылка