使用Saxon在Mei文件(xml)上运行XSL转换



我正试图做我认为是一件简单的事情,但我似乎不明白如何去做。

我有一个mei文件,它本质上是一个xml,我想对它应用xsl转换。

我正在使用saxon,这就是我一直在做的。

Processor processor = new Processor(false);
XsltCompiler xsltCompiler = processor.newXsltCompiler();
XsltExecutable exec = xsltCompiler.loadExecutablePackage(myURI);//URI containing my own xsl file
net.sf.saxon.s9api.Xslt30Transformer transformer = exec.load30();

问题是我在这行XsltExecutable exec = xsltCompiler.loadExecutablePackage(myURI);中得到一个异常说java.lang.UnsupportedOperationException: Loading compiled packages requires Saxon-PE or higher (even when no license is needed)

问题有没有人现在如果有一个替代的路径,我可以采取,不涉及到需要处理PE许可证?

如果不是,我甚至无法理解我应该如何使用它,这意味着我在gradle项目中使用saxon,这意味着即使对于下载的saxon- pe jar,我也将其安装在我的本地m2存储库中,并通过gradle引用,所以我怎么能让jar现在关于许可证。

仅供参考:这是一个在amazon Lambda环境中运行的项目。

loadExecutablePackage方法用于加载预编译的样式表。您只需要从源XSLT编译样式表—为此,请使用compile方法。

您可能会发现查看saxon-resources下载文件中包含的示例应用程序很有用,该文件可从www.saxonica.com单独下载。