我使用的是哪个版本的XPATH和XSLT ..?

如何知道我使用的是哪个版本的XPATH和XSLT?

说我已经安装了JDK 1.7然后我有哪个版本的XPATH和XSLT ..?

在XSLT中,调用system-property('xsl:version') 。 它将返回1.0或2.0,具体取决于您使用的是1.0还是2.0处理器。

在XPath中,没有直接的等价物。 但是快速测试是调用没有参数的current-date() 。 如果成功,你有一个2.0处理器,如果它失败,你有一个1.0处理器。

除非您采取措施在类路径或背书库中安装Saxon等2.0处理器,否则JDK为您提供的XSLT处理器(今天)将是1.0处理器。

好吧,如果您使用Java,那么您可以选择XSLT和XPath处理器。 JDK中内置的一个(我只知道1.6但我认为它在1.7中没有改变)是Apache Xalan,它是一个XSLT和XPath 1.0处理器。 然而,像Saxon 9这样的第三方解决方案支持XSLT和XPath 2.0。 当然还有其他针对Java的XQuery 1.0实现,因为XPath 2.0是XQuery 1.0的一个子集,如果您对XPath 2.0感兴趣,还有其他选择。

尝试

 java com.sun.org.apache.xalan.internal.xslt.EnvironmentCheck 

比如对我来说这打印

 #---- BEGIN writeEnvironmentReport($Revision: 1.10 $): Useful stuff found: ---- java.version=1.7.0_11 version.xalan2x=not-present version.JAXP=1.4 java.ext.dirs=/usr/lib/jvm/java-7-oracle/jre/lib/ext:/usr/java/packages/lib/ext version.SAX=2.0 version.crimson=not-present java.class.path=. version.ant=not-present sun.boot.class.path=/usr/lib/jvm/java-7-oracle/jre/lib/resources.jar:/usr/lib/jvm/java-7-oracle/jre/lib/rt.jar:/usr/lib/jvm/java-7-oracle/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-7-oracle/jre/lib/jsse.jar:/usr/lib/jvm/java-7-oracle/jre/lib/jce.jar:/usr/lib/jvm/java-7-oracle/jre/lib/charsets.jar:/usr/lib/jvm/java-7-oracle/jre/lib/jfr.jar:/usr/lib/jvm/java-7-oracle/jre/classes version.DOM=3.0 version.xalan1=not-present version.xalan2_2=Xalan Java 2.7.0 version.xerces2=Xerces-J 2.7.1 version.xerces1=not-present #----- END writeEnvironmentReport: Useful properties found: ----- # YAHOO! Your environment seems to be OK. 
   XSLT Version =  XSLT Vendor =  XSLT Vendor URL =