Практически в каждом проекте, который необходимо интегрировать с другими проектами используется формат передачи данных в виде XML файлов. Каждый программист выбирает для себя наиболее удобное и подходящие для его задач решение по обработки XML файлов. Однако, всегда необходимо помнить о валидации XML файлов. Проверка XML файлов предупредит возможные ошибки и в последствии сэкономит вам и отделу тестирования время. Сегодня я расскажу вам как с помощью Java XML вы сможете проверить XML файл по XSD схеме. Проверка XML по XSD схеме в Java реализуется достаточно просто с помощью библиотеки javax.xml.

XSD Schema это язык описания XML документа, является рекомендацией W3C. В XSD схеме можно задать правила заполнения вашего XML файла, что облегчает процессы формирования и проверки XML файлов. Еще одно удобство XSD это то что он может включать в себя другие XSD схемы. Таким образом можно создавать собственные типы данных, с правилами их заполнения. Программист может так же использовать уже существующие XSD схемы, такие как SOAP.

Предположим мы хотим передавать из одной системы в другую данные о пользователе. Предположим, что в наших системах сущность пользователь обладает всего лишь двумя полями: Имя и Фамилия. Эти поля обязательны для заполнения и не могут быть пустыми.

Представим эти правила в виде XSD схемы

И нам надо проверить наши XML файлы на соответствие этому XSD. Это можно сделать с помощью java.xml. Ниже приведен код, в котором показано каким образом можно сделать проверку в Java. Метод возвращает true or false в зависимости от результата проверки.

Бывает так что необходимо вывести вывести все сообщения об ошибках в XML файле. Это Делается с помощью org.xml.sax.ErrorHandler.

Вы можете включить в свой проект этот утилитарный класс где реализованы некоторые полезные методы для проверки XML по XSD.

Исходники вы можете скачать с GitHub

Проверка XML файлов по XSD из директории META-INF в jar файлах