Frage

Dies ist mein erstes Mal StAX mit für XML-Dokumente Parsen (noch in der Lernphase). Während des Prozesses ein XML-Dokument mit XMLStreamReader zu analysieren und eine Kopie des Dokuments mit XMLStreamWriter zu generieren, traf ich die folgende Warnung als Kommentar in der Ausgabe des Schreibers dargestellt:

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

verstand ich die Ursache für die Warnung, aber ich wollte es eher ein Fehler werden, als leise eine Warnung wurde, so ist, dann habe ich versucht, XMLInputFactory.IS_VALIDATING auf true zu setzen:

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

Aber die oben hat eine Ausnahme für mich:

  

Exception in thread "main"   java.lang.IllegalArgumentException:   wahre Wert von isValidating nicht   unterstützt bei   com.sun.org.apache.xerces.internal.impl.PropertyManager.setProperty (PropertyManager.java:150)     beim   com.sun.xml.internal.stream.XMLInputFactoryImpl.setProperty (XMLInputFactoryImpl.java:257)     beim   com.test.test2.helper.SgmlDocumentParser.parse (SgmlDocumentParser.java:83)     beim   com.test.test2.helper.Test.main (Test.java:66)

Also, was ist los mit meinem Ansatz?

Danke!

War es hilfreich?

Lösung

Es sieht aus wie Implementierung von Sun StAX einfach nicht DTD-Validierung unterstützen. Sie könnten versuchen, mit Woodstox statt, wie es scheint Validierung zu unterstützen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top