我想创建一个验证的SAXParser
,但似乎唯一的方法是创建一个XMLReader
并使用setErrorHandler()
或让ContentHandler
中的SAXParser.parse()
也实现ErrorHandler
。
我想念什么吗?我要做的就是创建一个验证SAXParser
,如下所示:
private SAXParser createParser(final boolean validateXML) throws ParserConfigurationException, SAXException {
final SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(true);
factory.setValidating(validateXML);
factory.setFeature("http://apache.org/xml/features/validation/schema", validateXML);
SAXParser parser = factory.newSAXParser();
Assert.assertNotNull("Checking parser exists", parser);
Assert.assertEquals("Checking validation", validateXML, parser.isValidating());
Assert.assertTrue("Checking namespace awareness", parser.isNamespaceAware());
return parser;
}
我正在使用Xerces 2.9.1
感谢您的提示!
埃里克
最佳答案
也许我误会了,但这是您的解决方案吗? ->
Xerces2 XSD Validation with SAXParser