アノテーション型 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