我在以嵌入式方式使用Apache FOP 1.0时使用XSLT 2.0的某些功能时遇到问题。特别是在使用“current-group()”时出现异常。

我看到FOP使用的xalan 2.6引发了异常。

我试图排除xalan 2.6的传递依赖,并用2.7.1替换了它,但是它没有帮助。是否可以将Apache FOP与支持更多2.0功能的另一个XSLT处理器一起使用?

最佳答案

如果从命令行将FOP作为独立发行版运行,则可以

  • 使用XSLT处理器复制所需的jar文件(例如saxon9he.jar)到FOP发行版的lib目录。
  • ,并通过添加指定FOP使用的处理器实现
    像这样的VM参数-Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl(以Saxon为例)到启动脚本(在Linux上为fop,在上为fop.batWindows)在调用org.apache.fop.cli.Main的行。

  • 如果将FOP嵌入Java代码中,只需使用该VM参数启动应用程序(并确保所需的jar文件位于CLASSPATH中)。

    关于java - 带有XSLT 2.0的Java的Apache FOP ...?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7243136/

    10-14 12:47