web-dev-qa-db-ja.com

どのバージョンのXPATHとXSLTを使用していますか..?

使用しているXPATHとXSLTのバージョンを知る方法...?

JDK 1.7をインストールしたとすると、XPATHとXSLTのどのバージョンがありますか?

27
John

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プロセッサになります。

40
Michael Kay

Javaを使用する場合は、XSLTプロセッサとXPathプロセッサを選択できます。JDKに組み込まれているプロセッサ(1.6しか知らないが、1.7では変更されていないと思います) )は、XSLTおよびXPath1.0プロセッサであるApacheXalanです。ただし、XSLTおよびXPath 2.0をサポートする Saxon 9 のようなサードパーティソリューションがあります。XPath2.0のように、Java用の追加のXQuery1.0実装も確かにあります。 XQuery 1.0のサブセットであり、XPath 2.0に関心がある場合は、さらに選択肢があります。

7
Martin Honnen

試してみてください

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.
6
Mark Butler
  <xsl:comment>
    XSLT Version = <xsl:copy-of select="system-property('xsl:version')"/>
    XSLT Vendor = <xsl:copy-of select="system-property('xsl:vendor')"/>
    XSLT Vendor URL = <xsl:copy-of select="system-property('xsl:vendor-url')"/>
  </xsl:comment>
2
Apurva Singh