Której wersji XPATH i XSLT używam..?

Jak sprawdzić, której wersji XPATH i XSLT używam...?

Powiedzmy, że zainstalowałem JDK 1.7, a następnie jaką wersję XPath i XSLT mam..?

Author: John, 2011-10-31

4 answers

W XSLT wywołaj system-property('xsl:version'). Zwróci 1.0 lub 2.0 w zależności od tego, czy używasz procesora 1.0 Czy 2.0.

W XPath nie ma bezpośredniego odpowiednika. Ale szybkim testem jest wywołanie current-date() bez argumentów. Jeśli to się powiedzie, masz procesor 2.0, jeśli się nie powiedzie, masz procesor 1.0.

Jeśli nie podejmiesz kroków, aby zainstalować procesor 2.0, taki jak Saxon na ścieżce klasowej lub w zatwierdzonej bibliotece, procesor XSLT, który daje Ci JDK, będzie (dzisiaj) procesorem 1.0.

 40
Author: Michael Kay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-31 12:19:52

Cóż jeśli używasz Javy to masz do wyboru procesory XSLT i XPath. Ten wbudowany w JDK (znam tylko 1.6 ale chyba się nie zmienił w 1.7) to Apache Xalan czyli procesor XSLT i XPath 1.0. Istnieją jednak rozwiązania innych firm, takie jak Saxon 9, które obsługują XSLT i XPath 2.0. I z pewnością istnieją dodatkowe implementacje XQuery 1.0 Dla Javy, ponieważ XPath 2.0 jest podzbiorem XQuery 1.0, masz dalsze opcje, jeśli jesteś zainteresowany XPath 2.0.

 7
Author: Martin Honnen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-31 12:21:49

Try

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

Na przykład dla mnie to druki

#---- 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
Author: Mark Butler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-25 02:53:05
  <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>
 0
Author: Apurva Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-03 14:46:02