-
@Retention(RUNTIME) @Target({FIELD,METHOD}) public @interface XmlElements
複数の@
XmlElement
注釈のコンテナです。 1つのプログラム要素に対する同じ型の複数の注釈は許可されていません。 そのため、複数の@XmlElementsのコンテナ注釈として、この注釈は次のように使用されます。@XmlElements({ @XmlElement(...),@XmlElement(...) })
@XmlElements
注釈は、次のプログラム要素で使用できます:- JavaBeanプロパティ
- staticでない非一時フィールド
使用法
使用には次の制約があります。
- この注釈型は、次の注釈型とともに使用できます。@
XmlIDREF
、@XmlElementWrapper
。 - @XmlIDREFもJavaBeanプロパティに指定されている場合、各@XmlElement.type()に
@XmlID
で注釈されたJavaBeanプロパティが含まれる必要があります。
追加の一般的な情報については、javax.xml.bind.package javadocの「パッケージの仕様」を参照してください。
例1: 要素のリストへのマップ
// Mapped code fragment public class Foo { @XmlElements( @XmlElement(name="A", type=Integer.class), @XmlElement(name="B", type=Float.class) ) public List items; }
<!-- XML Representation for a List of {1,2.5} XML output is not wrapped using another element --> ... <A> 1 </A> <B> 2.5 </B> ... <!-- XML Schema fragment --> <xs:complexType name="Foo"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="A" type="xs:int"/> <xs:element name="B" type="xs:float"/> <xs:choice> </xs:sequence> </xs:complexType>
例2: ほかの要素でラップされた要素のリストへのマップ
// Mapped code fragment public class Foo { @XmlElementWrapper(name="bar") @XmlElements( @XmlElement(name="A", type=Integer.class), @XmlElement(name="B", type=Float.class) } public List items; }
<!-- XML Schema fragment --> <xs:complexType name="Foo"> <xs:sequence> <xs:element name="bar"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="A" type="xs:int"/> <xs:element name="B" type="xs:float"/> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>
例3: アダプタを使用して型に基づいて要素名を変更する。
class Foo { @XmlJavaTypeAdapter(QtoPAdapter.class) @XmlElements({ @XmlElement(name="A",type=PX.class), @XmlElement(name="B",type=PY.class) }) Q bar; } @XmlType abstract class P {...} @XmlType(name="PX") class PX extends P {...} @XmlType(name="PY") class PY extends P {...}
<!-- XML Schema fragment --> <xs:complexType name="Foo"> <xs:sequence> <xs:element name="bar"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="A" type="PX"/> <xs:element name="B" type="PY"/> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>
- 導入されたバージョン:
- 1.6, JAXB 2.0
- 関連項目:
XmlElement
,XmlElementRef
,XmlElementRefs
,XmlJavaTypeAdapter
-
-
必須要素のサマリー
必須要素 修飾子と型 必須要素 説明 XmlElement[]
value
@XmlElement
注釈型のコレクション
-
-
-
要素の詳細
-
value
XmlElement[] value
@XmlElement
注釈型のコレクション
-
-