Какую версию XPATH и XSLT я использую ..? - PullRequest
27 голосов
/ 31 октября 2011

Как узнать, какую версию XPATH и XSLT я использую ...?

Скажите, что я установил JDK 1.7, и какая версия XPATH и XSLT у меня установлена?

Ответы [ 4 ]

40 голосов
/ 31 октября 2011

В XSLT звоните system-property('xsl:version'). Он вернет 1.0 или 2.0 в зависимости от того, используете ли вы процессор 1.0 или 2.0.

В XPath прямого эквивалента нет. Но быстрый тест - это вызвать current-date() без аргументов. Если это успешно, у вас есть процессор 2.0, если это не удается, у вас есть процессор 1.0.

Если вы не предпримете шаги для установки процессора 2.0, такого как Saxon, в ваш путь к классам или в одобренную библиотеку, процессор XSLT, который JDK предоставит вам (сегодня) будет процессором 1.0.

7 голосов
/ 31 октября 2011

Хорошо, если вы используете Java, у вас есть выбор процессоров XSLT и XPath.Встроенный в JDK (я знаю только о 1.6, но я не думаю, что он изменился в 1.7) - это Apache Xalan, который является процессором XSLT и XPath 1.0.Однако существуют сторонние решения, такие как Saxon 9 , которые поддерживают XSLT и XPath 2.0.И, безусловно, существуют дополнительные реализации XQuery 1.0 для Java, поскольку XPath 2.0 является подмножеством XQuery 1.0, у вас есть другие варианты, если вы заинтересованы в XPath 2.0.

6 голосов
/ 25 января 2013

Попробуйте

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.
2 голосов
/ 03 октября 2017
  <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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...