-
@Retention(RUNTIME) @Target({FIELD,METHOD}) public @interface XmlValue
simpleContentを含むXML Schema複合型、またはXML Schema単純型へのクラスのマッピングを可能にします。
使用法:
@XmlValue
注釈は、次のプログラム要素で使用できます。- JavaBeanプロパティ。
- staticでない非一時フィールド。
追加の一般的な情報については、javax.xml.bind.package javadocの「パッケージの仕様」を参照してください。
使用には次の使用上の制約があります。@XmlValue
で注釈できるのは、最大1つのフィールドまたはプロパティです。@XmlValue
は、注釈XmlList
とともに使用できます。 ただし、XmlValue
と同様、XmlList
はリストにより派生する単純スキーマ型に型をマップするため、これは冗長です。- フィールドまたはプロパティの型がコレクション型の場合、コレクション項目の型が単純スキーマ型にマップされなければいけません。
- フィールドまたはプロパティの型がコレクション型以外の場合、その型がXMLスキーマ単純型にマップされなければいけません。
注釈されたJavaBeanプロパティがXML Schema作成にマップされる唯一のクラス・メンバーである場合、クラスは単純型にマップされます。 XML属性にマップされる別のJavaBeanプロパティ(
@XmlValue
で注釈されたJavaBeanプロパティ以外)がある場合、クラスはsimpleContentを含む複合型にマップされます。例1: XML Schema 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 Schema 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
- 関連項目:
XmlType