Есть несколько способов справиться с этим, которые в итоге должны предоставить вам некоторую автоматизацию;но все зависит от того, насколько сложны ваши классы и XSD.
Я бы начал с использования schemagen JAXB против набора классов, который у вас уже есть.Это может потребовать дополнительных аннотаций, которые вам, возможно, придется добавить в текущую кодовую базу.Имея этот XSD в руках, вы можете, в основном вручную, сравнить два XSD, чтобы увидеть, схожи ли они.Все может быть сложно, если в вашей модели XSD используются варианты, все, абстракции, группы и т. Д.
Затем я бы использовал инструмент XSD:
- , чтобы сгенерировать все возможные XPath из этих двух наборов для заданных корневых элементов, чтобы обеспечить одинаковое покрытие.
- для автоматической генерации образцов XML с использованием одного из XSD в зависимости от того, какой из них является вашей золотой копией, а затем проверки его с помощью другого XSD - для выявления несоответствий, а также для дешифровки XML с использованием существующего кода.
После разбора, как описал Блейз, маршаллизировать и сравнивать (в идеале использовать сравнение XML с учетом схемы, затем с учетом XML, сравнение текста, скорее всего, будет бесполезным).