2011-10-31 14 views
24

कैसे पता चलेगा कि XPATH और XSLT का कौन सा संस्करण उपयोग कर रहा हूं ...?मैं XPATH और XSLT का कौन सा संस्करण उपयोग कर रहा हूं ..?

कहें कि मैंने जेडीके 1.7 स्थापित किया है तो XPATH और XSLT का कौन सा संस्करण मेरे पास है ..?

+1

आप XPath/XSLT कैसे लागू कर रहे हैं? जावा में एक से अधिक तरीके हैं। – LarsH

उत्तर

39

एक्सएसएलटी में, system-property('xsl:version') पर कॉल करें। यह 1.0 या 2.0 प्रोसेसर का उपयोग कर रहे हैं या नहीं, इस पर निर्भर करता है कि यह 1.0 या 2.0 लौटाएगा।

XPath में, कोई प्रत्यक्ष समकक्ष नहीं है। लेकिन एक त्वरित परीक्षण current-date() पर कोई तर्क नहीं है। यदि यह सफल होता है, तो आपके पास 2.0 प्रोसेसर है, यदि यह विफल रहता है, तो आपके पास 1.0 प्रोसेसर है।

जब तक आप 2.0 कक्षा प्रोसेसर जैसे सैक्सन को अपने क्लास पथ या अनुमोदित लाइब्रेरी में स्थापित करने के लिए कदम नहीं उठाते हैं, तो एक्सएसएलटी प्रोसेसर जो जेडीके आपको देता है (आज) 1.0 प्रोसेसर होगा।

+0

किस ऑब्जेक्ट पर मुझे वर्तमान दिनांक() .. कॉल करना है? मैं जेडीके 8 का उपयोग कर रहा हूँ। –

+0

वर्तमान-दिनांक() एक XPath 2.0 फ़ंक्शन है। इसमें कोई तर्क नहीं होता है। XPath फ़ंक्शंस को "ऑब्जेक्ट पर" नहीं कहा जाता है। –

+0

जावा 'javax.xml.xpath.XPath' में ऐसी स्थिर विधि नहीं है। क्या इसका मतलब है कि मैं 1.0 संस्करण का उपयोग कर रहा हूँ ..? –

7

ठीक है अगर आप जावा का उपयोग करते हैं तो आपके पास एक्सएसएलटी और एक्सपीएथ प्रोसेसर का विकल्प होता है। जेडीके में अंतर्निहित एक (मुझे केवल 1.6 का पता है लेकिन मुझे नहीं लगता कि यह 1.7 में बदल गया है) अपाचे ज़लान है जो एक्सएसएलटी और एक्सपीएथ 1.0 प्रोसेसर है। हालांकि तीसरे पक्ष के समाधान जैसे Saxon 9 जो एक्सएसएलटी और एक्सपीएथ 2.0 का समर्थन करते हैं। और जावा के लिए निश्चित रूप से अतिरिक्त XQuery 1.0 कार्यान्वयन हैं, क्योंकि XPath 2.0 XQuery 1.0 का सबसेट है, यदि आप XPath 2.0 में रूचि रखते हैं तो आपके पास और विकल्प हैं।

5

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. 
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> 
संबंधित मुद्दे

 संबंधित मुद्दे