javax.xml.bind.annotation

## Annotation Type XmlSchemaType

-     @Retention(value=RUNTIME)
       @Target(value={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;
           @javax.xml.bind.annotation.XmlSchemaType(
                name="date", type=javax.xml.datatype.XMLGregorianCalendar.class)
           }

  Since:
    JAXB2.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.

- - ### Element Detail

    - #### name

          public abstract String name

  - - #### namespace

          public abstract String namespace

      Default:
        "http://www.w3.org/2001/XMLSchema"

  - - #### type

          public abstract Class type

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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.