我在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。)
答案 0 :(得分:1)
请注意,与oXygen一起分发的Saxon JAR文件的版本并非设计为在oXygen之外使用。要从命令行运行Saxon,首先下载一个独立版本的Saxon(在Saxon-HE的情况下来自SourceForge,或者在商业版的情况下来自saxonica.com)。
特别是,oXygen支持Saxon中的Streaming和Schema-Awareness等功能,并且在oXygen环境之外使用这些功能,您将需要Saxonica的许可证密钥。