जावा 6 में, संपूर्ण xerces XML पार्सर/serializer कार्यान्वयन अब जावा रनटाइम (rt.jar) में है। संकुल com.sun। * नेमस्पेस के अंतर्गत ले जाया गया है, जो उन्हें क्लाइंट कोड के भीतर स्पष्ट संदर्भ के लिए ऑफ-सीमा रखता है। पार्सर का उपयोग करते समय यह कोई समस्या नहीं है, जिसे जैवएक्स एपीआई-परिभाषित कारखानों के माध्यम से तत्काल किया जाता है।जावा में xerces serialization 6
हालांकि, हमारा कोड xerces serialization (org.apache.xml.serialize। *) का भी उपयोग करता है। AFAICT, Serializer और OutputFormat के उदाहरण बनाने के लिए कोई javax.xml एपीआई-परिभाषित कारखानों नहीं हैं। ऐसा लगता है कि एक प्राप्त करने का एकमात्र तरीका com.sun.org.apache.xml.serialize को स्पष्ट रूप से कॉल करना है। * एपीआई।
मुझे javax.xml.stream में क्रमबद्धता कक्षाएं मिली हैं, लेकिन वे xerces आउटपुटफॉर्मैट क्लास जैसे आउटपुट-स्वरूपण नियंत्रण प्रदान नहीं कर रहे हैं।
प्रश्न:
वहाँ xerces.jar को शामिल किए बिना और यह भी स्पष्ट रूप से कॉम instantiating बिना, xerces क्रमबद्धता कार्यक्षमता एक javax मानक एपीआई के माध्यम से (जो rt.jar में है) तक पहुँचने के लिए एक रास्ता है। सूरज। * कक्षाएं?
यदि नहीं, तो क्या एक ही प्रभाव प्राप्त करने के लिए एक जैवएक्स एपीआई-अनुरूप तरीका है?
यह वह जगह है जहां हमने शुरू किया, और यह निष्कर्ष है कि हम भी साथ आए हैं। यदि आप ज़ेरिस के गैर-जावा-एपीआई भागों (विशेष रूप से क्रमबद्धता) का उपयोग करना चाहते हैं तो Xerces सहित कोई रास्ता नहीं है। हमने सिस्टम गुणों में जेरिस कक्षाओं के किसी भी स्पष्ट उल्लेख को हटाने के लिए हमारे कोडबेस को संशोधित किया है, जिससे इसे पार्सर्स और ट्रांसफार्मर को तत्काल करने पर डिफ़ॉल्ट का उपयोग करने दिया जाता है। यह क्लासलोडिंग विवादों को रोकना चाहिए क्योंकि सभी डिफ़ॉल्ट com.sun में हैं। * –