アノテーション型 XmlElement
@RetentionSE(RUNTIMESE) @TargetSE({FIELDSE,METHODSE,PARAMETERSE}) public @interface XmlElement
JavaBean プロパティをプロパティ名から派生した XML 要素にマップします。使用方法
@XmlElement
アノテーションは、次のプログラム要素で使用できます。- JavaBean プロパティ
- 非静的、非一時的なフィールド
XmlElements
内
- このアノテーションは、次のアノテーションとともに使用できます:
XmlID
、XmlIDREF
、XmlList
、XmlSchemaType
、XmlValue
、XmlAttachmentRef
、XmlMimeType
、XmlInlineBinaryData
、XmlElementWrapper
、XmlJavaTypeAdapter
- JavaBean プロパティの型が配列のコレクション型、インデックス付きプロパティ、パラメーター化されたリストであり、このアノテーションが
XmlElements
で使用される場合、コレクションアイテムの型はすでにわかっているため、@XmlElement.type()
は DEFAULT.class である必要があります。
@XmlElement アノテーションが付けられている場合、JavaBean プロパティは、含まれているクラスがマップされている XML スキーマ複合型のローカル要素にマップされます。
例 1: パブリック非静的非 final フィールドをローカル要素にマップします
//Example: Code fragment public class USPrice { @XmlElement(name="itemprice") public java.math.BigDecimal price; }
<!-- Example: Local XML Schema element --> <xs:complexType name="USPrice"/> <xs:sequence> <xs:element name="itemprice" type="xs:decimal" minOccurs="0"/> </sequence> </xs:complexType>
例 2: フィールドを nillable 要素にマップします。
//Example: Code fragment public class USPrice { @XmlElement(nillable=true) public java.math.BigDecimal price; }
<!-- Example: Local XML Schema element --> <xs:complexType name="USPrice"> <xs:sequence> <xs:element name="price" type="xs:decimal" nillable="true" minOccurs="0"/> </sequence> </xs:complexType>
例 3: フィールドを nillable の必須要素にマップします。
//Example: Code fragment public class USPrice { @XmlElement(nillable=true, required=true) public java.math.BigDecimal price; }
<!-- Example: Local XML Schema element --> <xs:complexType name="USPrice"> <xs:sequence> <xs:element name="price" type="xs:decimal" nillable="true" minOccurs="1"/> </sequence> </xs:complexType>
例 4: JavaBean プロパティを匿名型の XML 要素にマップします。
@
XmlType
の例 6 を参照してください。- 導入:
- 1.6、JAXB 2.0
- 作成者:
- Sekhar Vajjhala, Sun Microsystems, Inc.
要素の詳細
name
StringSE name
XML スキーマ要素の名前。値が "## default" の場合、要素名は JavaBean プロパティ名から派生します。
- デフォルト:
- "##default"
required
boolean required
必要に応じて要素宣言をカスタマイズします。required() が true の場合、Javabean プロパティは minOccurs="1" の XML スキーマ要素宣言にマップされます。maxOccurs は、単一値プロパティの場合は "1"、複数値プロパティの場合は "unbounded" です。
required() が false の場合、Javabean プロパティは minOccurs="0" の XML スキーマ要素宣言にマップされます。maxOccurs は、単一値プロパティの場合は "1"、複数値プロパティの場合は "unbounded" です。
- デフォルト:
- false
namespace
StringSE namespace
XML スキーマ要素の XML ターゲット名前空間。値が "## default" の場合、名前空間は次のように決定されます。
- 囲んでいるパッケージに
XmlSchema
アノテーションがあり、そのelementFormDefault
がQUALIFIED
である場合、囲んでいるクラスの名前空間。 - それ以外の場合は ''(デフォルトの名前空間で非修飾要素を生成します。
- デフォルト:
- "##default"
- 囲んでいるパッケージに
defaultValue
StringSE defaultValue
この要素のデフォルト値。' '
このアノテーション要素のデフォルトとして指定された値は、実装が「デフォルト値なし」状態を認識できるようにするために、null の代わりとして使用されます。- デフォルト:
- "\u0000"
type
ClassSE<?> type
参照されている Java クラス。- デフォルト:
- jakarta.xml.bind.annotation.XmlElement.DEFAULT.class