Мой ввод - это правильно сформированный документ XML и соответствующий документ схемы XML.То, что я хотел бы сделать, это определить местоположение в документе XML, которое приводит к тому, что он не проходит проверку по документу схемы XML.Я не мог понять, как сделать это, используя стандартный подход проверки в Java:
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(... /* the .xsd source */);
Validator validator = schema.newValidator();
DocumentBuilderFactory ...
DocumentBuilder ...
Document document = DocumentBuilder.parse(... /* the .xml source */);
try {
validator.validate(new DOMSource(document));
...
} catch (SAXParseException e) {
...
}
Мне пришла в голову идея получить хотя бы номер строки и столбца из SAXParseException, но они всегда установлены-1, -1 при ошибке проверки.