Java: JAXB: Неправильная привязка JAXBElement к xs: date

У меня проблема с использованием JAXB. Я создал свои классы Java через xjc (с использованием схемы xsd) и имеет глобальную привязку для XML-Datatypes xs: date xs: dateTime и xs: time к java.util.Calendar с помощью метода синтаксического анализа и печати.

Все работает нормально, пока я не пометил некоторые поля xs: date как пустые. Xjc создает оболочки JAXBElement для этих свойств. Если эти поля неупорядочены, распечатывается дата, включая информацию о времени, что приводит к ошибкам проверки.

Есть ли возможность заставить Marshaller преобразовать его в xs: date вместо xs: dateTime?

Могу ли я указать привязку для этих полей, которая получает специальный XMLAdapater, который преобразует эти поля?

Свойство внутри Java-Class выглядит так:

@XmlElementRef(name = "dateField", namespace = "namespace", type = JAXBElement.class)

protected JAXBElement<Calendar> dateField;

и соответствующий xsd-выглядит как

<xs:element name="dateField" minOccurs="0" nillable="true" type="xs:date" />

Кто-нибудь может мне помочь, пожалуйста?

С уважением и наилучшими пожеланиями,

Arne

6
задан bdoughan 27 September 2011 в 16:48
поделиться