У меня есть два XSD, которые я сгенерировал с помощью команды JAXB xjc.
http://www.imsglobal.org/xsd/imscp_v1p1.xsd и http://www.mmtech.ru/adlcp_v1p3.xsd
Я пытаюсь использовать объект Item из первого xsd, например
ItemType item = factory.createItemType();<br/>
DataType dataType = factory.createDataType();<br/>
MapType mapType = factory.createMapType();<br/>
dataType.getMap().add(mapType);<br/>
item.getAny().add(dataType);<br/>
Обратите внимание, что оба типа DataType и MapType относятся к двум XSD.
Я могу сгенерировать xml-файл, ожидаемый для одной проблемы, он выдает ошибку
Вызвано: com.sun.istack.SAXException2: невозможно маршалировать тип «packagename.DataType» в качестве элемента, поскольку отсутствует аннотация @XmlRootElement
Поэтому я попытался добавить элемент @XmlRootElement вкласс DataType и вместо него создающий ns2: dataType, он создает XML ниже.
<item>
<dataType>
<ns2:map targetID="targetid" writeSharedData="false"/>
</dataType>
</item>
Пожалуйста, помогите.Спасибо