开发者

How can I validate the XML document in a SAXParser without having to use an XMLReader?

开发者 https://www.devze.com 2023-01-11 06:44 出处:网络
I want to create a SAXParser which validates, but it seems the only way is either to create an XMLReader and use setErrorHandler() or let the ContentHandler in SAXParser.parse() also implement ErrorHa

I want to create a SAXParser which validates, but it seems the only way is either to create an XMLReader and use setErrorHandler() or let the ContentHandler in SAXParser.parse() also implement ErrorHandler.

Am I missing something? All I want to do is create a validating SAXParser like this:

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;
}

I'm using Xerces 2.9.1

Thanks for any hints!

Eric


Maybe I misunderstand, but is this a solution for you? --> Xerces2 XSD Validation with SAXParser

0

精彩评论

暂无评论...
验证码 换一张
取 消