java - 如何在 java 中运行 saxon xslt 转换

标签 java xml xslt executable-jar saxon

我可以轻松地在命令行中运行以下命令来转换 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/

相关文章:

java - 从 fragment 膨胀 Activity 时出错 : InflateException

xslt - 如何使用 XSLT 获取 SOAP 主体的第一个元素名称?

javascript - 将javascript变量放入xsl属性

java - weblogic-maven-plugin 中缺少目标

java - 尝试解析 xml 文件时出现 NullPointerException

java - Java方法中如何返回值

xml - 如何使用PowerShell编辑和保存XML节点

c# - XElement 和 XDocument 之间的区别

java - 无效时从 XML 中删除可选元素

java - 将字符串数组从 red5 (Java) 发送到 Flash (ActionScript 3)?