Xml Saxon HE-XSLT转换-尝试运行命令行代码时出错
我正在为这个类编写XSLT作业。说明告诉我“通过在alldepartments.xsl样式表中应用getEmployees模板来生成结果文档horizons.xml。” 因此,我打开终端并输入:javanet.sf.saxon.Transform-it:getEmployeesAllDepartments.xsl-o:horizons.xml 我收到错误消息:“错误:无法找到或加载主类net.sf.saxon.Transform 原因:java.lang.ClassNotFoundException:net.sf.saxon.Transform“ 我尝试对该问题进行故障排除,并找到了检查软件是否在正常工作的说明 因此,我在命令行中输入了以下内容: java-cp c:\saxon\saxon-he-10.5.jar net.sf.saxon.Query-t-qs:“current-date()” 终端输出的全部内容是:功能dquote> 老实说,除了解压缩下载的文件并将其放入Mac(Big Sur 11.3.1)上的应用程序文件夹之外,我不知道如何安装Saxon。我试图通过右键单击并选择open来打开.jar文件,但它给了我错误消息: “操作无法完成。无法执行/Library/internet plug-ins/javaappletplugin.plugin/contents/home/bin/java:没有这样的文件或目录” 这是我的JRE版本:“16.0.1”2021-04-20 Java(TM)SE运行时环境(构建16.0.1+9-24) Java HotSpot(TM)64位服务器虚拟机(构建16.0.1+9-24,混合模式,共享) 这是我的JDK版本:JavaC16.0.1 这张照片是SaxonHE10-5J文件夹的内部,我试图运行saxon-he-10.5.jar文件 我不知道为什么事情不起作用,也不知道下一步该怎么办。我真的很感谢你一步步的帮助。请让我知道你需要什么其他信息来帮助我Xml Saxon HE-XSLT转换-尝试运行命令行代码时出错,xml,xslt,saxon,Xml,Xslt,Saxon,我正在为这个类编写XSLT作业。说明告诉我“通过在alldepartments.xsl样式表中应用getEmployees模板来生成结果文档horizons.xml。” 因此,我打开终端并输入:javanet.sf.saxon.Transform-it:getEmployeesAllDepartments.xsl-o:horizons.xml 我收到错误消息:“错误:无法找到或加载主类net.sf.saxon.Transform 原因:java.lang.ClassNotFoundExcepti
您的第一次尝试失败了,因为Saxon不在类路径上。我想你已经解决了。要解决这一问题,您需要以下内容:
java -cp c:\saxon\saxon-he-10.5.jar net.sf.saxon.Transform -it:getEmployees alldepartments.xsl -o:horizons.xml
恐怕您的第二次尝试(运行XQuery)对我来说有点神秘。但我很困惑,当你说你在Mac电脑上运行时,为什么要在-cp选项中使用Windows文件名?如果您已经将Saxon安装到Mac上的applications文件夹中,那么类路径应该类似于
/Users/Nikofem/applications/Saxon/Saxon-he-10.5.jar
谢谢您的帮助!我将命令行代码更新为:java-cp/Users/me/SaxonHE10-5J/saxon-he-10.5.jar net.sf.saxon.Transform-it:getEmployees/Users/me/SaxonHE10-5J/alldepartments.xsl-o:horizons.xml,但现在它给出了一个错误:getEmployees模板不存在。@Nikofem,听起来像是一个新的,让Saxon安装和运行的不同问题现在取决于XSLT代码。考虑用一个最小但完整的XSLT和允许其他人重现错误的XML来询问一个新问题。