Как получить поддержку EXSLT в Saxon-HE? - PullRequest
7 голосов
/ 05 мая 2011

У меня есть куча XSLT-файлов, которые мне нужно обработать с некоторыми XML-файлами.Я не могу изменить файлы XSLT, так как они принадлежат третьим лицам.XSLT версии 2.0.

Я на Mac OS X 10.6 и похоже, что Saxon-HE - единственный доступный процессор XSLT 2.0.

Однако большинство XSLT работают нормально,некоторые выдают ошибки, касающиеся отсутствующих функций, в частности month-in-year() и других функций, связанных с датой и временем.

Согласно http://www.saxonica.com/documentation/extensions/exslt.xml относительно EXSLT:

Эти расширения доступны вSaxon-PE и Saxon-EE "из коробки".Они недоступны в Saxon-HE

Есть ли возможность использовать функции EXSLT с Saxon-HE?

Я с удовольствием перейду на другой инструмент / процессор, еслиэто будет работать.

Ответы [ 3 ]

6 голосов
/ 05 мая 2011

Saxon-B 9.1 останется доступным для людей с такими требованиями. При использовании XSLT 2.0 расширения EXSLT практически не нужны, но вы сталкиваетесь с таблицами стилей, которые их используют, и Saxon-B остается доступным для этой цели, если вы хотите придерживаться программного обеспечения с открытым исходным кодом.

1 голос
/ 05 мая 2011

Saxon9 HE не имеет расширения EXSLT. Чтобы использовать EXSLT, вам нужно вернуться к Saxon 9.1 или выбрать другой продукт, такой как Xalan (Java) или MSXML (Windows) или LibXSLT (C и сценарии), которые все реализуют только XSLT и XPath 1.0. Тем не менее, с Saxon9 HE и XSLT 2.0, зачем вам EXSLT?

Хорошо, должен был прочитать ваш пост, прежде чем ответить. Требование выглядит следующим образом:

  • XSLT 2.0
  • EXSLT
  • не может изменить XSLT

Если это все, что предполагается, похоже, что это оставляет вас с Saxon9 PE или EE. (Ну или саксонский 9.1, конечно.)

0 голосов
/ 05 мая 2011

Какой бы процессор вы ни выбрали, он не должен изначально поддерживать функции EXSLT, он просто должен быть расширяемым, чтобы вы могли зарегистрировать свои собственные функции, чтобы вы могли самостоятельно реализовать функции EXSLT.

...