アノテーション型 XmlValue
@RetentionSE(RUNTIMESE) @TargetSE({FIELDSE,METHODSE}) public @interface XmlValue
simpleContent を持つ XML スキーマ複合型または XML スキーマ単純型へのクラスのマッピングを有効にします。
使用法:
@XmlValue
アノテーションは、次のプログラム要素で使用できます。- JavaBean プロパティ。
- 非静的、非一時的なフィールド。
追加の共通情報については、jakarta.xml.bind.package javadoc の「パッケージ仕様」を参照してください。
使用箇所には、次の使用箇所の制約があります。- 最大で 1 つのフィールドまたはプロパティに
@XmlValue
アノテーションを付けることができます。 @XmlValue
は、次のアノテーションとともに使用できます:XmlList
。ただし、XmlList
は、XmlValue
と同じようにリストによって派生する単純なスキーマ型に型をマップするため、これは冗長です。- フィールドまたはプロパティの型がコレクション型の場合、コレクションアイテム型は単純なスキーマ型にマップする必要があります。
- フィールドまたはプロパティの型がコレクション型でない場合、型は XML スキーマ単純型にマップする必要があります。
アノテーション付き JavaBean プロパティが XML スキーマ構造にマップされる唯一のクラスメンバーである場合、クラスは単純型にマップされます。XML 属性にマップされる追加の JavaBean プロパティ (
@XmlValue
アノテーションが付けられた JavaBean プロパティ以外) がある場合、クラスは simpleContent を含む複合型にマップされます。例 1: クラスを XML スキーマ simpleType にマップする
// Example 1: Code fragment public class USPrice { @XmlValue public java.math.BigDecimal price; }
<!-- Example 1: XML Schema fragment --> <xs:simpleType name="USPrice"> <xs:restriction base="xs:decimal"/> </xs:simpleType>
例 2: simpleContent を使用してクラスを XML スキーマ complexType にマップします。
// Example 2: Code fragment public class InternationalPrice { @XmlValue public java.math.BigDecimal price; @XmlAttribute public String currency; }
<!-- Example 2: XML Schema fragment --> <xs:complexType name="InternationalPrice"> <xs:simpleContent> <xs:extension base="xs:decimal"> <xs:attribute name="currency" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType>
- 導入:
- 1.6、JAXB 2.0
- 作成者:
- Sekhar Vajjhala, Sun Microsystems, Inc.
- 関連事項:
XmlType