在命令行进行XSLT转换(使用Saxon预填充Oxygen)

时间:2017-12-11 09:12:20

标签: xml xslt command-line saxon tei

我在Mac OS X(10.11.5)上使用命令行尝试使用Saxon进行Oxygen之外的转换(因为我准备将大量XML-TEI文件批量处理为HTML)。

我使用以下基本命令:

java -cp /Applications/Oxygen XML Editor/lib/saxon9ee.jar net.sf.saxon.Transform  -s:/Users/idjet/Desktop/test/sourcefilename.xml -xsl:/Users/idjet/Desktop/test/transformfilename.xsl -o:/Users/idjet/Desktop/test/testoutput.html

但它产生了这个错误,我无法深究:

Exception in thread "main" java.lang.NoClassDefFoundError: XML
Caused by: java.lang.ClassNotFoundException: XML
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

提前致谢。

(我承认我不熟悉Java。)

1 个答案:

答案 0 :(得分:1)

请注意,与oXygen一起分发的Saxon JAR文件的版本并非设计为在oXygen之外使用。要从命令行运行Saxon,首先下载一个独立版本的Saxon(在Saxon-HE的情况下来自SourceForge,或者在商业版的情况下来自saxonica.com)。

特别是,oXygen支持Saxon中的Streaming和Schema-Awareness等功能,并且在oXygen环境之外使用这些功能,您将需要Saxonica的许可证密钥。