Java 通过linux shell实现XSLT 2.0转换
我想通过使用命令行执行来执行XSLT2.0转换。我听说我可以通过shell命令使用Saxon库,比如Java 通过linux shell实现XSLT 2.0转换,java,shell,xslt,jar,saxon,Java,Shell,Xslt,Jar,Saxon,我想通过使用命令行执行来执行XSLT2.0转换。我听说我可以通过shell命令使用Saxon库,比如java-jar sax.jar-input foo.xml-xsl foo.xsl-output bar.xml。有人知道我如何才能实现这个目标吗 顺便说一下,我并不局限于Java。任何其他shell解决方案都可以。Saxon的文档在线:。因此,您需要java-jar saxon9he.jar-xsl:foo.xsl-s:foo.xml-o:bar.xml更新:如果您的java是11版或更高版本
java-jar sax.jar-input foo.xml-xsl foo.xsl-output bar.xml
。有人知道我如何才能实现这个目标吗
顺便说一下,我并不局限于Java。任何其他shell解决方案都可以。Saxon的文档在线:。因此,您需要
java-jar saxon9he.jar-xsl:foo.xsl-s:foo.xml-o:bar.xml
更新:如果您的java是11版或更高版本,请检查解决方案2和3,其中.internal.
不再可用
我刚刚编写了使用com.sun.org.apache.xalan.internal.xsltc.cmdline类来转换XML。与openjdk配合使用很好。不是用于生产用例的解决方案,但便于调试
p.S.从
- 解决方案2:使用
- 解决方案3:
.internal.
内容一样,在一段时间后消失了。。。因此,bash脚本最终使用JDK生成ClassNotFoundException11@OndraŽižka,你说得对。我已经用另一个解决方案更新了答案。你认为Java停止嵌入XSLT了吗,或者说我们已经没有办法再访问它了?