JAXB EclipseLink проблема с сортировкой ВЫБОР с ноль элементов - PullRequest
2 голосов
/ 10 мая 2011

Привет. У меня есть схема, определенная следующим образом:

<complexType name="x">
    <sequence>
        <element name="year" type="date"/>
                <choice>
                  <element name="comuneNascita" type="string" nillable="true"/>
                  <element name="statoNascita" type="string" nillable="true"/>
                </choice>
    </sequence>
</complexType>

Когда я пытаюсь маршалировать класс, сгенерированный с помощью xjc (с опцией xjc: simple), и я получаю такой результат:

  [...]
  <statoNascita xsi:nil="true"/>
  <comuneNascita>xxx</comuneNascita>
  [...]

Это просто неправильно!

Удаление nillable = "true" решит эту проблему, но тогда мне нужно указать допустимый элемент (не nilled).Любое решение?

1 Ответ

0 голосов
/ 12 мая 2011

Вы можете избежать проблемы, пометив свойство следующим образом:

@XmlElements({
   @XmlElement(name="comuneNascita", type=String.class),
   @XmlElement(name="statoNascita", type=String.class),
})

Вы можете заставить XJC сгенерировать аннотированное свойство, как описано выше, используя файл привязок JAXB:

<?xml version="1.0" encoding="UTF-8"?>
<bindings xmlns="http://java.sun.com/xml/ns/jaxb"
          version="2.1">
    <globalBindings choiceContentProperty="true"/>
</bindings> 

Для получения дополнительной информации

...