|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||
@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface XmlElements
複数の @XmlElement 注釈のコンテナです。
1 つのプログラム要素に対する同じ型の複数の注釈は許可されていません。そのため、複数の @XmlElements のコンテナ注釈として、この注釈は次のように使用されます。
@XmlElements({ @XmlElement(...),@XmlElement(...) })
@XmlElements 注釈は、次のプログラム要素で使用できます。
使用方法
使用には次の制約があります。
XmlIDREF、@XmlElementWrapper。 追加の一般的な情報については、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 -->
...
1
2.5
...
<!-- 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>
XmlElement,
XmlElementRef,
XmlElementRefs,
XmlJavaTypeAdapter| 必須要素の概要 | |
|---|---|
XmlElement[] |
value
|
| 要素の詳細 |
|---|
public abstract XmlElement[] value
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。