разные типы схем для одного и того же элемента xml в зависимости от атрибута - PullRequest
1 голос
/ 02 ноября 2010

XML выглядит как

<root>
<service name="product" />
<service name="sim" />
<service name="blub" />
</root>

схема должна выглядеть как

<xs:element name="root">
<xs:complexeType>
<xs:element type='serviceProduct' name='service' />
<xs:element type='serviceSim' name='service' />
<xs:element type='serviceBlub' name='service' />
</xs:complexeType>
</xs:element>

Возможно ли это с помощью JAXB Bindings? Я не могу изменить xml, но я хотел бы, чтобы t имел разные классы java для product, sim, blub, но это все тот же элемент xml.

С помощью привязок классов можно изменить имя класса, но как я могу сделать это для того же элемента, но с другими атрибутами?

Спасибо, Ральф

1 Ответ

0 голосов
/ 03 ноября 2010

Другое решение было бы здесь ... Java / JAXB: Unmarshall атрибуты XML для определенных атрибутов объекта Java

, но я бы предпочел решение в схеме.Он может работать, как описано в «Примере выбора привязки», который показывает, как привязать группу модели выбора к интерфейсу Java ... http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html#wp155808

Проблема с этим решением заключается в том, что атрибут @bindingStyleбольше разрешено с JAXB 2.0.

Есть идеи?

...