Làm cách nào để biết tôi đang sử dụng phiên bản XPath và XSLT nào ...?Tôi đang sử dụng phiên bản XPath và XSLT nào ..?
Giả sử tôi đã cài đặt JDK 1.7 rồi phiên bản XPath và XSLT nào tôi có ..?
Làm cách nào để biết tôi đang sử dụng phiên bản XPath và XSLT nào ...?Tôi đang sử dụng phiên bản XPath và XSLT nào ..?
Giả sử tôi đã cài đặt JDK 1.7 rồi phiên bản XPath và XSLT nào tôi có ..?
Trong XSLT, hãy gọi system-property('xsl:version')
. Nó sẽ trả về 1.0 hoặc 2.0 tùy thuộc vào việc bạn đang sử dụng bộ xử lý 1.0 hay 2.0.
Trong XPath, không có tương đương trực tiếp. Nhưng một thử nghiệm nhanh là gọi current-date()
mà không có đối số. Nếu thành công, bạn có bộ xử lý 2.0, nếu không thành công, bạn có bộ xử lý 1.0. Trừ khi bạn thực hiện các bước để cài đặt bộ vi xử lý 2.0 như Saxon trên đường dẫn lớp hoặc trong thư viện xác nhận, bộ xử lý XSLT mà JDK cung cấp cho bạn sẽ (hôm nay) là bộ xử lý 1.0.
Đối tượng nào tôi phải gọi hiện tại() ..? Tôi đang sử dụng Jdk8. –
current-date() là một hàm XPath 2.0. Nó không có đối số. Các hàm XPath không được gọi là "trên một đối tượng". –
Trong java 'javax.xml.xpath.XPath' không có phương thức tĩnh như vậy. Điều đó có nghĩa là tôi đang sử dụng phiên bản 1.0 ..? –
Vâng, nếu bạn sử dụng Java thì bạn có lựa chọn bộ xử lý XSLT và XPath. Cái được xây dựng trong JDK (tôi chỉ biết 1.6 nhưng tôi không nghĩ nó đã thay đổi trong 1.7) là Apache Xalan, đó là một bộ xử lý XSLT và XPath 1.0. Tuy nhiên, có các giải pháp của bên thứ ba như Saxon 9 hỗ trợ XSLT và XPath 2.0. Và chắc chắn có thêm các bản cài đặt XQuery 1.0 cho Java, vì XPath 2.0 là một tập con của XQuery 1.0, bạn có nhiều lựa chọn hơn nếu bạn quan tâm đến XPath 2.0.
Hãy thử
java com.sun.org.apache.xalan.internal.xslt.EnvironmentCheck
Ví dụ đối với tôi đây in
#---- 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.
<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>
How are you gọi XPath/XSLT? Có nhiều cách trong Java. – LarsH