У меня проблема с использованием 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