2009-11-02 5 views
5

यह मेरा पहला समय एक्सएमएल दस्तावेजों को पार्स करने के लिए स्टैक्स का उपयोग कर रहा है (अभी भी सीखने के चरण में)। प्रक्रिया XMLStreamReader का उपयोग कर एक XML दस्तावेज को पार्स और XMLStreamWriter का उपयोग कर दस्तावेज़ की एक प्रतिलिपि उत्पन्न करने के लिए के दौरान, मैं निम्न चेतावनी लेखक के उत्पादन में एक टिप्पणी के रूप में प्रतिनिधित्व का सामना करना पड़ा:स्थिर - XMLInputFactory.IS_VALIDATING को सही कैसे सेट करें?

<!-- Exception scanning External DTD Subset. True contents of DTD cannot be determined. Processing will continue as XMLInputFactory.IS_VALIDATING == false. --> 

मैं चेतावनी का कारण समझ में आ , लेकिन मैं बजाय चुपचाप एक चेतावनी हो गया एक त्रुटि बनने के लिए यह चाहता था, इसलिए तो मैं सच करने के लिए XMLInputFactory.IS_VALIDATING सेट करने की कोशिश की:

XMLInputFactory factory = XMLInputFactory.newInstance(); 
factory.setProperty(XMLInputFactory.IS_VALIDATING, Boolean.TRUE); 

लेकिन ऊपर मेरे लिए एक अपवाद दिए:

सूत्र में "मुख्य" java.lang.IllegalArgumentException

अपवाद: isValidating com.sun.org.apache.xerces.internal.impl.PropertyManager.setProperty (PropertyManager.java:150) समर्थित नहीं की सही मूल्य com.sun.xml.internal.stream.XMLInputFactoryImpl.setProperty (XMLInputFactoryImpl.java:257) com.test.test2.helper.SgmlDocumentParser.parse (SgmlDocumentParser.java:83) पर com.test पर पर। test2.helper.Test.main (test.java:66)

तो मेरे दृष्टिकोण के साथ क्या गलत है ज?

धन्यवाद!

उत्तर

5

ऐसा लगता है कि सूर्य का स्थिर कार्यान्वयन डीटीडी सत्यापन का समर्थन नहीं करता है। आप इसके बजाय Woodstox का उपयोग करने का प्रयास कर सकते हैं, यह सत्यापन का समर्थन करता प्रतीत होता है।

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