モジュール java.xml.bind
パッケージ javax.xml.bind.annotation

注釈型XmlValue


  • @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