पर चुना गया है मैंने एक जावा एप्लिकेशन लिखा है जो एक्सएसएल ट्रांसफॉर्म के लिए जेएक्सबी का उपयोग करता है। मैंने अपने क्लासपाथ में saxon9.jar शामिल किया है ताकि मैं कमांड लाइन पर XSLT 1.0 के बजाय XSLT 2.0 का उपयोग कर सकूं।जावा का डिफ़ॉल्ट JAXB कार्यान्वयन मेरे क्लासपाथ
java -classpath ./lib/saxon9.jar:./ -jar myApp.jar
मैंने एक्सएसएलटी का उपयोग करने के लिए अपने एक्सएसएल में कोड शामिल किया है।
<xsl:comment><xsl:text >
</xsl:text>XSLT Version: <xsl:value-of select="system-property('xsl:version')" /> <xsl:text >
</xsl:text>XSLT Vendor: <xsl:value-of select="system-property('xsl:vendor')" /> <xsl:text >
</xsl:text>XSLT Vendor URL: <xsl:value-of select="system-property('xsl:vendor-url')" /> <xsl:text >
</xsl:text></xsl:comment>
यह रिपोर्ट करता है।
XSLT Version: 1.0
XSLT Vendor: Apache Software Foundation (Xalan XSLTC)
XSLT Vendor URL: http://xml.apache.org/xalan-j
यह डिफ़ॉल्ट कार्यान्वयन है जो JVM का हिस्सा है।
मैं निर्दिष्ट सैक्सन का उपयोग करने के लिए इसे कैसे प्राप्त करूं?
अप का पालन करें:
तो इन तरीकों में से कोई भी काम (समर्थन निर्देशिका में सैक्सन जार करने को छोड़कर), लेकिन वे सभी काम किया जाना चाहिए था। ऐसा लगता है कि "-jar myApp.jar" का उपयोग करके मेरा एक संयोजन और वैकल्पिक एक्सएसएलटी कार्यान्वयन करना असंगत था। दूसरे शब्दों में ...
जावा -Djavax.xml.transform.TransformerFactory = net.sf.saxon.TransformerFactoryImpl -classpath ./lib/saxon9.jar:./ जार myApp.jar
.. काम नहीं करता है, लेकिन यह करता है ...
जावा-डीजेवैक्स.एक्सएमएल.ट्रांसफॉर्म। ट्रांसफॉर्मर फैक्टरी = net.sf.saxon.TransformerFactoryImpl -classpath ./lib/saxon9.jar:.mymy.jar org.dacracot .myApp
... दिलचस्प है, मैं भी कारखाने निर्दिष्ट करने के लिए नहीं है और मैं सैक्सन संस्करण प्राप्त ...
जावा-क्लासपाथ ./lib/saxon9.jar:.mymy.jar org.dacracot.myApp
यह काम करता था, लेकिन मुझे यकीन है कि यह पसंद नहीं है। मेरा पूरा जेवीएम बदलना क्लासपाथ के उद्देश्य से काउंटर लगता है। – dacracot
मुझे पता है। हालांकि यह एक जेवीएम वर्ग को बदलने का एकमात्र तरीका है और यह सबसे अच्छा बचा है। यहां तक कि अपने स्वयं के क्लासलोडर्स के साथ आप जावा या जावैक्स पैकेज से कक्षा नहीं लोड कर सकते हैं। – kgiannakakis
इसने अन्य अनुप्रयोगों को तोड़ दिया ... अर्थात् ग्रहण। – dacracot