Annotation Type XmlSchemaType


  • @Retention(RUNTIME)
    @Target({FIELD,METHOD,PACKAGE})
    public @interface XmlSchemaType
    Maps a Java type to a simple schema built-in type.

    Usage

    @XmlSchemaType annotation can be used with the following program elements:

    • a JavaBean property
    • field
    • package

    @XmlSchemaType annotation defined for Java type applies to all references to the Java type from a property/field. A @XmlSchemaType annotation specified on the property/field overrides the @XmlSchemaType annotation specified at the package level.

    This annotation can be used with the following annotations: XmlElement, XmlAttribute.

    Example 1: Customize mapping of XMLGregorianCalendar on the field.

         //Example: Code fragment
         public class USPrice {
             @XmlElement
             @XmlSchemaType(name="date")
             public XMLGregorianCalendar date;
         }
     
    
         <!-- Example: Local XML Schema element -->
         <xs:complexType name="USPrice"/>
           <xs:sequence>
             <xs:element name="date" type="xs:date"/>
           </sequence>
         </xs:complexType>
     

    Example 2: Customize mapping of XMLGregorianCalendar at package level

         package foo;
         @jakarta.xml.bind.annotation.XmlSchemaType(
              name="date", type=javax.xml.datatype.XMLGregorianCalendar.class)
         }
     
    Since:
    1.6, JAXB 2.0
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      String name  
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      String namespace  
      Class<?> type
      If this annotation is used at the package level, then value of the type() must be specified.
      • namespace

        String namespace
        Default:
        "http://www.w3.org/2001/XMLSchema"
      • type

        Class<?> type
        If this annotation is used at the package level, then value of the type() must be specified.
        Default:
        jakarta.xml.bind.annotation.XmlSchemaType.DEFAULT.class