Пример кода для загрузки и проверки XML файла и схемы в Saxon в Java - PullRequest
0 голосов
/ 17 февраля 2020

Это инструмент в нашей системе, который проверит, может ли он загрузить файл XML с помощью Saxon, и перечислит любые проблемы. Поэтому я хочу, чтобы Саксон загрузил файл и выдал исключение, если он не может его полностью проанализировать. В этом тесте есть возможность получить файл схемы, поэтому он проверяется на соответствие схеме, если она существует.

Это для нашей версии Java, поэтому необходимо использовать API Java. Я попытался портировать через пример C# Validate (нет Java validate, который я мог бы найти), но API немного отличается.

И, если возможно, получите список найденных ошибок разборе.

1 Ответ

0 голосов
/ 17 февраля 2020

В загружаемом файле вы найдете примеры / java / ee / SchemaValidatorExample. java, который использует интерфейс JAXP, а также java / he / S9APIExamples. java, который использует API s9api и включает в себя сценарии использования SchemaA и SchemaB .

Это может быть связано с обновлением, но ни один из них не использует преимущества нового интерфейса SchemaValidator.setInvalidityHandler(), который позволяет вам либо предоставить экземпляр InvalidityReportGeneratorEE, который дает вам саксонский отчет обо всех найденных недействительности, или ваши собственные InvalidityReportGenerator или InvalidityHandler для создания собственных настроенных отчетов. Я предлагаю вам совершить экскурсию по Javado c, чтобы получить документацию о том, что они делают.

Они в значительной степени ориентированы на пользовательские отчеты о найденных недействительных файлах. Бросить исключение, если файл недействителен, намного проще.

...