我正试图做我认为是一件简单的事情,但我似乎不明白如何去做。
我有一个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单独下载。