У меня есть java-программа, которая анализирует XML-документ с помощью API xerces.
Мой класс синтаксического анализа расширяет org.apache.xerces.parsers.XMLDocumentParser, перегружая методы startElement, endElement, characters.
Поскольку это сложный XML-документ, написанный вручную (в основном это какие-то элементы конфигурации), классической проверки с помощью xsd или dtd недостаточно, и я должен сообщить пользователю, что XML-документ недействителен.
Но я не смог добавить в сообщения об ошибках информацию о номере строки (и почему не о номере столбца), которая анализируется в данный момент и где возникает ошибка.
Я считаю, что это возможно, потому что исключения (org.apache.xerces.xni.parser.XMLParseException), сгенерированные анализатором, когда XML-документ не является допустимым XML, содержат эту информацию.