我可以轻松地在命令行中运行以下命令来转换 xml 文件:
java -jar saxon9he.jar -o:outputfile.xml data.xml transform.xslt
我想从一个 java 文件中得到完全相同的结果,这样我就可以在我正在制作的程序中使用它。 我已将 saxon9he.jar 放在构建路径中,但如何在命令行外部调用相同的命令?
最佳答案
文档在这里:http://www.saxonica.com/documentation/index.html#!using-xsl/embedding
Saxon 提供了两个用于从 Java 应用程序运行 XSLT 转换的 API:JAXP API 和 s9api API。 JAXP 是几乎所有 Java XSLT 处理器都提供的标准接口(interface),因此如果您希望您的应用程序具有可移植性,则需要使用这个接口(interface);它的缺点是 (a) 它非常面向 XSLT 1.0,这使得它很难利用 XSLT 2.0 和 XSLT 3.0 中的新功能,并且 (b) 它不能很好地与用于相关任务的 API 集成,例如模式处理和 XPath 评估。
s9api API 与 Saxon 在各种任务(包括 XSLT、XQuery、XPath 和 XSD 验证)中的功能更加匹配,但不可移植。
这是你的选择。
关于java - 如何在 java 中运行 saxon xslt 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40181386/