0

In DOM or SAX parsers in Java it is possible to define the XML Schema to use by calling methods DocumentBuilderFactory.setSchema(..) or SAXParserFactory.setSchema(...).

How can I do the similar thing (enable XML Schema validation) when using StAX parser? Actually I am creating the parser as follows:

XMLInputFactory factory = XMLInputFactory.newInstance();
factory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, true);
XMLStreamReader reader = factory.createXMLStreamReader(docIs);
parseDoc(reader); // own method which reads data from XML

and I would like to know when the XML document does not match schema or is invalid XML document.

robertp1984
  • 13
  • 1
  • 3

1 Answers1

0

XMLBeans has a tool for this. Check out StreamInstanceValidator which makes use of ValidatingXMLStreamReader .

svn.apache.org/viewvc/xmlbeans/trunk/src/xmlcomp/org/apache/xmlbeans/impl/tool/StreamInstanceValidator.java?view=markup

svn.apache.org/viewvc/xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/validator/ValidatingInfoXMLStreamReader.java?view=markup