JavaTM Platform
Standard Ed. 6

javax.xml.bind.annotation
注釈型 XmlElements


@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface XmlElements

複数の @XmlElement 注釈のコンテナです。 1 つのプログラム要素に対する同じ型の複数の注釈は許可されていません。そのため、複数の @XmlElements のコンテナ注釈として、この注釈は次のように使用されます。

 @XmlElements({ @XmlElement(...),@XmlElement(...) })
 

@XmlElements 注釈は、次のプログラム要素で使用できます。

この注釈は、JavaBean コレクションプロパティー (List など) への注釈として意図されています。

使用法

使用には次の制約があります。

追加の一般的な情報については、javax.xml.bind.package javadoc の「パッケージの仕様」を参照してください。


例 1: 要素のリストへのマップ

    
    // Mapped code fragment
    public class Foo {
        @XmlElements(
            @XmlElement(name="A", type=Integer.class),
            @XmlElement(name="B", type=Float.class)
         }
         public List items;
    }

    <!-- XML Representation for a List of {1,2.5} 
            XML output is not wrapped using another element -->
    ...
     1 
     2.5 
    ...

    <!-- XML Schema fragment -->
    <xs:complexType name="Foo">
      <xs:sequence>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="A" type="xs:int"/>
          <xs:element name="B" type="xs:float"/>
        <xs:choice>
      </xs:sequence>
    </xs:complexType>

 

例 2: ほかの要素でラップされた要素のリストへのマップ

 
    // Mapped code fragment
    public class Foo {
        @XmlElementWrapper(name="bar")
        @XmlElements(
            @XmlElement(name="A", type=Integer.class),
            @XmlElement(name="B", type=Float.class)
        }
        public List items;
    }

    <!-- XML Schema fragment -->
    <xs:complexType name="Foo">
      <xs:sequence>
        <xs:element name="bar">
          <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="A" type="xs:int"/>
              <xs:element name="B" type="xs:float"/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
 

例 3: アダプタを使用して型に基づいて要素名を変更します。

    class Foo {
       @XmlJavaTypeAdapter(QtoPAdapter.class)
       @XmlElements({
           @XmlElement(name="A",type=PX.class),
           @XmlElement(name="B",type=PY.class)
       })
       Q bar;
    }
 
    @XmlType abstract class P {...}
    @XmlType(name="PX") class PX extends P {...}
    @XmlType(name="PY") class PY extends P {...}

    <!-- XML Schema fragment -->
    <xs:complexType name="Foo">
      <xs:sequence>
        <xs:element name="bar">
          <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="A" type="PX"/>
              <xs:element name="B" type="PY"/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
 

導入されたバージョン:
JAXB2.0
関連項目:
XmlElement, XmlElementRef, XmlElementRefs, XmlJavaTypeAdapter

必須要素の概要
 XmlElement[] value
           
 

要素の詳細

value

public abstract XmlElement[] value

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。