2013-10-15 8 views
5

मैं अपाचे एफओपी 1.1 का उपयोग कर रहा हूं। मैं एक्सएसएलटी 2.0 का समर्थन करने के लिए मौजूदा अपाचे Xalan XSLT प्रोसेसर को दूसरे में बदलना चाहता हूं। वर्तमान में यह एक्सएसएलटी 2.0 का समर्थन नहीं कर रहा है। कृपया इस समस्या को हल करने में मेरी सहायता करें। धन्यवाद।Apache FOP Xalan XSLT प्रोसेसर को कैसे बदलें?

उत्तर

6

मुझे मेरा जवाब मिला। ट्रांसफार्मर फैक्ट्री में प्लग-क्षमता परत है। जेएक्सपी एक सामान्य जावा इंटरफ़ेस प्रदान करता है जो समर्थित मानकों XSLT प्रोसेसर के विभिन्न कार्यान्वयन को जोड़ने के लिए flexibilty की अनुमति देता है।

TransformerFactory tFactory = TransformerFactory.newInstance(); 

यह था XSLT processors.AS पता लगाने के लिए लुक-अप प्रक्रिया हम किसी भी परिभाषित नहीं है, यह उपलब्ध या डिफ़ॉल्ट ले जाएगा।

अब, मैं सैक्सन एक्सएसएलटी प्रोसेसर जोड़ रहा हूं। मैं इसे अपने परियोजना में .jar फ़ाइल और बस

TransformerFactory tFactory = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl",null); 

यह है कि जोड़ा है जोड़ लिया है। अब यह सैक्सन XSLT प्रोसेसर का उपयोग करेगा

0

एक और अधिक लचीला तरीका यह -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl जो निर्धारित करता है जो फैक्टरी कार्यान्वयन के लिए (अर्थात डिफ़ॉल्ट XSLT प्रोसेसर) की तरह एक वीएम पैरामीटर के साथ अपना आवेदन शुरू करने के लिए है।

इस तरह, आपको अपने कोड की एक ही पंक्ति को बदलने की ज़रूरत नहीं है।

यह ठीक है, अगर आप अपने कोड में एफओपी एम्बेड करते हैं (जैसा आपने स्पष्ट रूप से किया था)। आप कमांड लाइन से स्टैंडअलोन वितरण रूप एफओपी को चलाने के लिए, फिर भी चाहते हैं, आप कर सकते हैं

  1. प्रति अपनी वितरण की lib निर्देशिका के लिए XSLT प्रोसेसर (जैसे Saxon.jar की तरह) के साथ आवश्यक जार फ़ाइलों ($LOCAL_FOP_HOME/lib लिनक्स पर, %LOCAL_FOP_HOME%lib विंडोज पर)

  2. और लाइन जहां org.apache.fop.cli.Main कहा जाता है पर शुरू स्क्रिप्ट (fop लिनक्स पर, fop.bat विंडोज पर ) को परमाटर जोड़ें।