का उपयोग करते समय डीटीडी डाउनलोड को रोकें मुझे एक्सएमएल फाइलों को संसाधित करना है जिनमें जावा में एक्सएसएलटी के साथ डीटीडी है। डीटीडी वास्तव में जरूरी है क्योंकि इसमें उपयोग की जाने वाली संस्थाओं की परिभाषाएं शामिल हैं। (एक तरफ: हाँ, यूनिकोड का उपयोग करने वाली सामग्री के लिए इकाइयों का उपयोग करना एक बुरा विचार है ;-)एक्सएसएलटी यानी एक्सएमएल ट्रांसफार्मर
जब मैं रूपांतरण चलाता हूं तो यह हर बार बाह्य स्रोत से डीटीडी डाउनलोड करता है। मैं इसे DTDs कैश करने के लिए एक एक्सएमएल सूची का उपयोग करना चाहते तो मैं TransformerFactory
दिया एक CatalogResolver
रूप URIResolver
:
URIResolver cr = new CatalogResolver();
tf = TransformerFactory.newInstance();
tf.setURIResolver(cr);
Transformer t = tf.newTransformer(xsltSrc);
t.setURIResolver(cr);
Result res = new SAXResult(myDefaultHandler());
t.transform(xmlSrc, res);
लेकिन जब मैं परिवर्तन यह अभी भी नेटवर्क पर DTDs डाउनलोड करता है चलाते हैं। (या तो जावा 5 या स्टैंडअलोन या सैक्सन और जेरसेस का उपयोग करने के रूप में यालान और जेरसेस का उपयोग करना।)
डीटीडी की स्थानीय प्रतिलिपि का उपयोग करने के लिए परिवर्तन को मजबूर करने के लिए क्या किया जाता है?
+1 अपने आप को हल करने और परिणाम साझा करने के लिए +1 (जैसा कि मैंने भी देखा है, जिसे मैंने भी देखा है)। – Tomalak