JavaTM 2 Platform
Standard Ed. 6

javax.xml.bind.annotation
註釋型別 XmlElements


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

多個 @XmlElement 註釋的容器。 在一個程序元素上不允許使用多個相同型別的註釋。因此此註釋用於充當多個 @XmlElements 的容器註釋,如下所示:

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

@XmlElements 註釋可以與以下程序元素一起使用:

此註釋用於註釋 JavaBean 集合屬性(如列表)。

用法

用法受到以下約束的限制:

有關其他公共資訊,請參閱 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
          @XmlElement 註釋的集合。
 

元素詳細資訊

value

public abstract XmlElement[] value
@XmlElement 註釋的集合。


JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only