Установить schemaLocation на XML JAXB - PullRequest
1 голос
/ 17 ноября 2011

Мне нужно добавить свойство schemaLocation, которое вложено в другой объект,

У меня есть класс ...

...
@XmlRootElement(name = "Comp")
public class Comp {
...

Я упорядочил объекты этого класса Marshaller.JAXB_SCHEMA_LOCATION и он прекрасно работает, но теперь есть другой класс, у которого есть свойство, подобное этому ...

@XmlRootElement(name = "TSAT")
public class TSAT {
...
@XmlAnyElement(lax = true)
     protected Object any;
...

и затем я устанавливаю это свойство с экземпляром Comp, устанавливая свойство Marshaller.JAXB_SCHEMA_LOCATION добавляет атрибут schemaLocation , но для элемента TSAT и Я хочу это для элемента Comp .

Я попытался упорядочить элемент Comp, а затем установить его для свойства any, затем упорядочить TSAT, но я обернул Comp внутри тега.

что я хочу:

<TSAT>
   <Comp schemaLocation="uri">
   ...
   </Comp>
</TSAT>

что я получаю:

<TSAT schemaLocation="uri">
   <Comp>
   ...
   </Comp>
</TSAT>    

или

<TSAT>
   <any>
   &amp;lt;Comp schemaLocation="uri"&amp;gt;
   ...
   &amp;lt;/Comp&amp;gt;
   </any>
</TSAT>

1 Ответ

0 голосов
/ 09 февраля 2012

Вы пробовали использовать разные маршаллеры?т.е. один маршаллер, который маршал Comp объект.Этот маршаллер обладает свойством xmlschema.Маршал ДЖЕКСБЭлемент в DOMResult.И установите элемент из DOMResult в объект Tsat.any, а затем маршал Цат с помощью другого маршаллера.Я не гарантирую, что это сработает, но стоит попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...