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 요소로서 표현됩니다.

이 주석은, 다음의 주석과 함께 사용할 수 있습니다. XmlType ,XmlEnum ,XmlAccessorType ,XmlAccessorOrder .

예 1: 요소를 XML schema형에 관련짓습니다.

     //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>
 
이 주석에 의해, schema에 글로벌 요소 선언이 초래됩니다. 글로벌 요소 선언은, 클래스의 맵처가 되는 XML schema형에 관련지을 수 있습니다.

     <!-- 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 schema형에 관련짓습니다.
     //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 이름 공간은 디폴트의 빈 상태(empty)의 이름 공간입니다.

디폴트:
"##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 도 참조해 주세요.