2011-10-31 7 views
24

私が使用しているXPATHとXSLTのバージョンを知る方法...?私はどのバージョンのXPATHとXSLTを使用していますか?

私はJDK 1.7をインストールしましたが、どのバージョンのXPATHとXSLTを持っていますか?

+1

を印刷します私のために例えば

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

を試してみてください? Javaには複数の方法があります。 – LarsH

答えて

39

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

+0

私は現在の日付()..を呼び出す必要がありますオブジェクト?私はJdk8を使用しています。 –

+0

current-date()はXPath 2.0関数です。それは引数をとらない。 XPath関数は「オブジェクト上で」呼び出されません。 –

+0

javaの 'javax.xml.xpath.XPath'には、このような静的メソッドはありません。それは私が1.0のバージョン..を使用しているということですか? –

7

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

5

が、これはどのようにするXPath/XSLTを呼び出している

#---- 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. 
0
<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> 
関連する問題