2009-11-02 9 views
5

StAXをXML文書の解析に初めて使用しています(まだ学習段階です)。 XMLStreamReaderを使用してXML文書を解析してXMLStreamWriterを使用して、ドキュメントのコピーを生成するためのプロセスの間に、私は作家の出力のコメントとして表され、次の警告が発生しました:StAX - XMLInputFactory.IS_VALIDATINGをtrueに設定するにはどうすればよいですか?

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

私は警告の原因を理解します

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

しかし、上記の私のための例外を投げた:が、私は静かにそう、私はtrueにXMLInputFactory.IS_VALIDATING設定しようとした、警告になったのではなく、それはエラーになりたかった

"メイン" java.lang.IllegalArgumentExceptionがスレッドに

例外: com.sun.org.apache.xerces.internal.impl.PropertyManager.setProperty(PropertyManager.java:150)でサポートされていない isValidatingの真値 で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)

私のお問い合わせに間違っていますh?

ありがとうございます!

答えて

5

SunのStAX実装はDTD検証をサポートしていないようです。代わりにWoodstoxを試してみると、検証をサポートするようです。

関連する問題