JavaTM Platform
Standard Ed. 6

javax.xml.bind.annotation
注釈型 XmlRootElement


@Retention(value=RUNTIME)
@Target(value=TYPE)
public @interface XmlRootElement

クラスまたは列挙型を XML 要素にマップします。

使用法

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

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

トップレベルクラスまたは列挙型が @XmlRootElement 注釈で注釈された場合、その値は XML 文書内の XML 要素として表現されます。

この注釈は、次の注釈とともに使用できます。XmlTypeXmlEnumXmlAccessorTypeXmlAccessorOrder

例 1: 要素を XML スキーマ型に関連付けます。

     //Example:Code fragment
     @XmlRootElement
     class Point {
        int x;
        int y;
        Point(int _x,int _y) {x=_x;y=_y;}
     }
 
     //Example:Code fragment corresponding to XML output
     marshal( new Point(3,5), System.out);
 

     <!-- Example: XML output -->
     <point>
       <x> 3 </x>
       <y> 5 </y>
     </point>
 
この注釈により、スキーマにグローバル要素宣言がもたらされます。グローバル要素宣言は、クラスのマップ先となる XML スキーマ型に関連付けられます。

     <!-- Example: XML schema definition -->
     <xs:element name="point" type="point"/>
     <xs:complexType name="point">
       <xs:sequence>
         <xs:element name="x" type="xs:int"/>
         <xs:element name="y" type="xs:int"/>
       </xs:sequence>
     </xs:complexType>
 

例 2:型の継承に対する直交性

ある型に対して注釈された要素宣言は、その派生型によって継承されません。次の例は、このことを示します。

     //Example:Code fragment
     @XmlRootElement
     class Point3D extends Point {
         int z;
         Point3D(int _x,int _y,int _z) {super(_x,_y);z=_z;}
     }

     //Example:Code fragment corresponding to XML output * 
     marshal( new Point3D(3,5,0), System.out );

     <!-- Example:XML output -->
     <!-- The element name is point3D not point -->
     <point3D>
       <x>3</x>
       <y>5</y>
       <z>0</z>
     </point3D>

     <!-- Example:XML schema definition -->
     <xs:element name="point3D" type="point3D"
     <xs:complexType name="point3D">
       <xs:complexContent>
         <xs:extension base="point">
           <xs:sequence>
             <xs:element name="z" type="xs:int"
           </xs:sequence>
         </xs:extension>
       </xs:complexContent>
     </xs:complexType>
 
例 3: グローバル要素を、クラスのマップ先となる XML スキーマ型に関連付けます。
     //Example:Code fragment
     @XmlRootElement(name="PriceElement")
     public class USPrice {
         @XmlElement
         public java.math.BigDecimal price;
     }

     <!-- Example:XML schema definition -->
     <xs:element name="PriceElement" type="USPrice"
     <xs:complexType name="USPrice">
       <xs:sequence>
         <xs:element name="price" type="xs:decimal"/>
       </sequence>
     </xs:complexType>
 

導入されたバージョン:
JAXB2.0

任意要素の概要
 String name
          XML 要素のローカル名です。
 String namespace
          XML 要素の名前空間名です。
 

namespace

public abstract String namespace
XML 要素の名前空間名です。

値が「##default」の場合、XML 名前空間名はクラスのパッケージから派生します (XmlSchema) 。パーケージに名前が指定されていない場合、XML 名前空間はデフォルトの空の名前空間です。

デフォルト:
"##default"

name

public abstract String name
XML 要素のローカル名です。

値が「##default」の場合、名前はクラス名から派生します。

デフォルト:
"##default"

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 も参照してください。