次のような XSD スキーマがあります。
<xs:complexType name="Element" abstract="true">
<xs:sequence maxOccurs="unbounded">
<xs:element name="resistor" type="vs:Resistor" maxOccurs="unbounded"/>
<xs:element name="capacitor" type="vs:Capacitor" maxOccurs="unbounded"/>
<xs:element name="inductor" type="vs:Inductor" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
このスキーマを JAXB で処理すると、次のようなフィールドが得られます。
@XmlElements({
@XmlElement(name = "resistor", required = true, type = Resistor.class),
@XmlElement(name = "capacitor", required = true, type = Capacitor.class),
@XmlElement(name = "inductor", required = true, type = Inductor.class)
})
protected List<Object> resistorAndCapacitorAndInductor;
しかし、私は取得したい
protected List<Resistor> resisitors;
protected List<Capacitor> capacitors;
protected List<Inductor> inductors;
これを行う方法?