StAX解析器的XMLSchema验证

时间:2013-02-23 09:25:13

标签: java xsd

在Java中的DOM或SAX解析器中,可以通过调用方法DocumentBuilderFactory.setSchema(..)或SAXParserFactory.setSchema(...)来定义要使用的XML Schema。

使用StAX解析器时,如何执行类似的操作(启用XML Schema验证)?实际上我正在创建解析器,如下所示:

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

我想知道XML文档何时与架构不匹配或XML文档无效。

1 个答案:

答案 0 :(得分:0)

XMLBeans有一个工具。查看使用的StreamInstanceValidator 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