Как я могу проверить XML-документ в SAXParser без использования XMLReader? - PullRequest
1 голос
/ 09 августа 2010

Я хочу создать 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

Спасибо за любые подсказки!

Эрик

1 Ответ

0 голосов
/ 09 августа 2010

Может быть, я неправильно понимаю, но это решение для вас?-> Xerces2 XSD-валидация с SAXParser

...