当我使用eclipse xsl开发工具运行xsl转换时,它报告以下错误。但是使用saxon是没有问题的。如果一些专家能提供可能的解决方案,SIt将不胜感激。
12:44:14,714 INFO [main] Main - javax.xml.transform.TransformerFactory=null
12:44:14,725 INFO [main] Main - java.endorsed.dirs=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/endorsed
12:44:14,744 INFO [main] Main - launchFile: /gpfs/work01/work/scratch/users/feifan_liu/.metadata/.plugins/org.eclipse.wst.xsl.jaxp.launching/launch/launch.xml
12:44:14,945 ERROR [main] JAXPSAXProcessorInvoker - Error checking type of the expression 'funcall(tokenize, [variable-ref(rColNames/result-tree), literal-expr(\|)])'.
12:44:14,953 ERROR [main] JAXPSAXProcessorInvoker - Could not compile stylesheet
javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:843)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:632)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformerHandler(TransformerFactoryImpl.java:918)
at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.addStylesheet(JAXPSAXProcessorInvoker.java:136)
at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.addStylesheet(JAXPSAXProcessorInvoker.java:127)
at org.eclipse.wst.xsl.jaxp.debug.invoker.PipelineDefinition.addStyleSheet(PipelineDefinition.java:161)
at org.eclipse.wst.xsl.jaxp.debug.invoker.PipelineDefinition.configure(PipelineDefinition.java:152)
at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.Main.main(Main.java:72)
12:44:14,954 FATAL [main] Main - Error with stylesheet: file:/gpfs/work01/work/scratch/users/feifan_liu/com.nuance.xslt.ahfs/files/acp2detagged.xsl
org.eclipse.wst.xsl.jaxp.debug.invoker.internal.ConfigurationException: Error with stylesheet: file:/gpfs/work01/work/scratch/users/feifan_liu/com.nuance.xslt.ahfs/files/acp2detagged.xsl
at org.eclipse.wst.xsl.jaxp.debug.invoker.PipelineDefinition.addStyleSheet(PipelineDefinition.java:163)
at org.eclipse.wst.xsl.jaxp.debug.invoker.PipelineDefinition.configure(PipelineDefinition.java:152)
at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.Main.main(Main.java:72)
发布于 2012-10-10 17:01:54
Eclipse似乎使用Xalan Java,这是一个XSLT1.0处理器,它只是使用tokenize
函数报告样式表中的代码,这个函数是XSLT /XPath2.0中的新功能,Xalan不支持这种方式。如果您想在Java中使用XSLT2.0,那么可以尝试使用Saxon 9。但是,我不知道如何将Eclipse设置为使用Saxon。
https://stackoverflow.com/questions/12824507
复制