users@jaxb.java.net

mixed="true", JAXBElement and List<Serializable>

From: Kenny MacLeod <kennym_at_kizoom.com>
Date: Fri, 09 Jun 2006 12:09:15 +0100

Folks,

Take the following schema fragment:

<xs:complexType name="MyMixedType" mixed="true">
   <xs:sequence>
     <xs:element name="inner" type="MyInnerType" minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
</xs:complexType>

<xs:complexType name="MyInnerType">
   <xs:simpleContent>
     <xs:extension base="xs:string"/>
   </xs:simpleContent>
</xs:complexType>


When passed through XJC, the MyMixedType class will have a List<Serializable> property. However,
because MyInnerType isn't Serializable, you have to wrap instances of MyInnerType in JAXBElement
before adding them to MyMixedType's list.

This isn't very nice behaviour, given JAXB2's pojo-friendly emphasis. Why doesn't XJC generate
List<Object> instead?

cheers
kenny