jaxbが指定された型に生成されないのはなぜですか? 指定された型に生成する代わりに、ジェネリック List<JAXBElement<?>> を生成しました。
場合は、xjc を使用して xsd を Java Obj に変換した場合です。
私のxsd、
<xs:complexType name="InputType">
<xs:choice maxOccurs="unbounded">
<xs:element name="add" type="AddInputType"/>
<xs:element name="get" type="GetInputType"/>
<xs:element name="del" type="DeleteInputType"/>
</xs:choice>
</xs:complexType>
生成されたJavaクラス、
public class InputType {
@XmlElementRefs({
@XmlElementRef(name = "add", type = JAXBElement.class),
@XmlElementRef(name = "get", type = JAXBElement.class),
@XmlElementRef(name = "del", type = JAXBElement.class)
})
protected List<JAXBElement<?>> addOrGetOrDel;
public List<JAXBElement<?>> getAddOrGetOrDel() {
if (addOrGetOrDel == null) {
addOrGetOrDel = new ArrayList<JAXBElement<?>>();
}
return this.addOrGetOrDel;
}
}