2016-10-25 4 views
0

Я пытаюсь «перепроектировать» XSD для существующих XML, чтобы иметь возможность создавать классы Java с JAXB, которые позволяют мне легко работать с содержимым XML ,JAXB: Создайте XSD: два XML с одинаковыми именами элементов, но с другим содержимым

XML файл # 1 enter image description here

XML файл # 2 enter image description here

Как вы можете видеть, как XMLs одни и те же пространства имен, имеют как "KNX" в качестве элемента верхнего уровня и "Проект" как Элемент 2-го уровня. Но XML # 1 имеет различный контент в «Проекте», чем XML # 2.

Как я могу справиться с этим в XSD? Я попытался создать сложный тип для «KNX» и «Project» и поделиться им с «common.xsd», который включен в XSD, но я не могу работать с различным содержанием «Project». .. и без общего комплексного типа, JAXB жалуется на «уже определены» элементов ...

Я не могу изменить XMLs, и оба принадлежат друг другу :-(

Было бы замечательно, если бы кто-то может дать мне подсказку ...

ответ

0

Вы можете попробовать использовать choice.

+0

Спасибо. Работает как шарм. – Alex