Сценарий:
Я пытаюсь реорганизовать код, который просит пользователя выбрать файл XML, который предполагает придерживаться любой из 2-х указанных схем.Прямо сейчас код пытается разобрать его, используя Schema A Unmarshaller
.Если это не удается, он пытается демонтировать его, используя Schema B Unmarshaller
.В случае неудачи обоих он отклоняет файл, отображая правильное сообщение для пользователя.
Проблема:
Здесь поток программы зависит от Exception
, выданного unmarshal()
.
Вопрос:
Есть ли какой-нибудь способ узнать, с помощью которого unmarshaller
мы должны попытаться проанализировать файл, поэтому мы ищем правильное право демаршаллингадалеко?Кроме того, это также поможет нам отклонить все нерелевантные файлы XML, которые не соответствуют ни одной из схем.