Spec-Zone .ru
спецификации, руководства, описания, API


javax.xml.bind.annotation
Тип аннотации XmlRootElement


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

Отображает class или перечислимый тип к элементу XML.

Использование

@XmlRootElement аннотация может использоваться со следующими элементами программы:

См. "Спецификацию Пакета" в javax.xml.bind.package javadoc для дополнительной общей информации.

Когда верхний уровень, class или перечислимый тип аннотируются @XmlRootElement аннотацией, тогда ее значение, представляется как элемент XML в XML-документе.

Эта аннотация может использоваться со следующими аннотациями: XmlType, XmlEnum, XmlAccessorType, XmlAccessorOrder.

Пример 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-схемы, на который отображается class.

     <!-- 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-схемы, на который отображается class.
     //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
Автор:
Sekhar Vajjhala, Sun Microsystems, Inc.

Дополнительная Сводка Элемента
 java.lang.String имя
          локальное имя элемента XML.
 java.lang.String пространство имен
          имя пространства имен элемента XML.
 

пространство имен

public abstract java.lang.String namespace
имя пространства имен элемента XML.

Если значение "##default", то имя пространства имен XML получается из пакета class ( XmlSchema ). Если пакет является неназванным, то пространство имен XML является значением по умолчанию пустое пространство имен.

Значение по умолчанию:
"##default"

имя

public abstract java.lang.String name
локальное имя элемента XML.

Если значение "##default", то имя получается из имени class.

Значение по умолчанию:
"##default"


Представьте ошибку или функцию

Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.

Сгенерированный на 10-February-2011 12:41

free hit counter