1

我想创建一个SAXParser验证的,但似乎唯一的方法是创建一个XMLReader并使用setErrorHandler()或让ContentHandlerinSAXParser.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

感谢您的任何提示!

埃里克

4

1 回答 1

0

也许我误解了,但这对你来说是一个解决方案吗?--> 使用 SAXParser 进行 Xerces2 XSD 验证

于 2010-08-09T18:47:05.577 回答