在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文档无效。
答案 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