Java – hyperjaxb: exclude XML elements by XML attribute
•
Java
I have a predefined XSD as follows:
<xs:element name="JavaClass1"> <xs:complexType> <xs:sequence> ... <xs:element name="Date1" type="xs:date" minOccurs="0"> </xs:element> <xs:element name="DateList1" type="xs:date" minOccurs="0" maxOccurs="5"> </xs:element> ... </xs:sequence> </xs:complexType> </xs:element>
In order to generate Java classes from XSD, Java util. Date replaces xmlregionancalendar, and I use the following external binding:
<globalBindings> <javaType name="java.util.Date" xmlType="xs:dateTime" parseMethod="XsdDateTimeConverter.unmarshal" printMethod="XsdDateTimeConverter.marshalDateTime" /> <javaType name="java.util.Date" xmlType="xs:date" parseMethod="XsdDateTimeConverter.unmarshal" printMethod="XsdDateTimeConverter.marshalDate" /> </globalBindings>
I found this solution here
For now, I just need to do this for the date1 property instead of datelist1 Is there any way to use its attribute maxoccurs = "5" to exclude datelist1?
Solution
You can apply javatype customization locally to the generated properties It's like:
<bindings node=".../xs:element[@name='Date1']"> <property> <baseType> <javaType .../> </baseType> </property> </bindings>
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码