/*
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
Defines XML/Java Type Mappings.
This API provides XML/Java type mappings.
The following XML standards apply:
-
W3C XML Schema 1.0 Part 2, Section 3.2.7-14
-
XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration
-
XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration
W3C XML Schema/Java Type Mappings
W3C XML Schema Data Type
Java Data Type
xs:date
XMLGregorianCalendar
xs:dateTime
XMLGregorianCalendar
xs:duration
Duration
xs:gDay
XMLGregorianCalendar
xs:gMonth
XMLGregorianCalendar
xs:gMonthDay
XMLGregorianCalendar
xs:gYear
XMLGregorianCalendar
xs:gYearMonth
XMLGregorianCalendar
xs:time
XMLGregorianCalendar
XQuery and XPath/Java Type Mappings
XQuery 1.0 and XPath 2.0 Data Model
Java Data Type
xdt:dayTimeDuration
Duration
xdt:yearMonthDuration
Duration
W3C XML Schema data types that have a "natural" mapping to Java types are defined by
JSR 31: Java™ Architecture for XML Binding (JAXB) Specification, Binding XML Schema to Java Representations.
JAXB defined mappings for XML Schema built-in data types include:
- xs:anySimpleType
- xs:base64Binary
- xs:boolean
- xs:byte
- xs:decimal
- xs:double
- xs:float
- xs:hexBinary
- xs:int
- xs:integer
- xs:long
- xs:QName
- xs:short
- xs:string
- xs:unsignedByte
- xs:unsignedInt
- xs:unsignedShort
Author: Jeff Suttor See Also: Since: 1.5
/**
*
* <p>
* Defines XML/Java Type Mappings.
*
* <p>
* This API provides XML/Java type mappings.
*
* <p>
* The following XML standards apply:
*
* <ul>
* <li><a href="http://www.w3.org/TR/xmlschema-2/#dateTime">
* W3C XML Schema 1.0 Part 2, Section 3.2.7-14</a>
* </li>
* <li><a href="http://www.w3.org/TR/xpath-datamodel#dt-dayTimeDuration">
* XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>
* </li>
* <li><a href="http://www.w3.org/TR/xpath-datamodel#dt-yearMonthDuration">
* XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a>
* </li>
* </ul>
*
* <hr>
*
* <table class="striped">
* <caption> W3C XML Schema/Java Type Mappings</caption>
* <thead>
* <tr>
* <th scope="col">W3C XML Schema Data Type</th>
* <th scope="col">Java Data Type</th>
* </tr>
* </thead>
*
* <tbody>
* <tr>
* <th scope="row">xs:date</th>
* <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
* </tr>
* <tr>
* <th scope="row">xs:dateTime</th>
* <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
* </tr>
* <tr>
* <th scope="row">xs:duration</th>
* <td>{@link javax.xml.datatype.Duration}</td>
* </tr>
* <tr>
* <th scope="row">xs:gDay</th>
* <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
* </tr>
* <tr>
* <th scope="row">xs:gMonth </th>
* <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
* </tr>
* <tr>
* <th scope="row">xs:gMonthDay</th>
* <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
* </tr>
* <tr>
* <th scope="row">xs:gYear</th>
* <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
* </tr>
* <tr>
* <th scope="row">xs:gYearMonth</th>
* <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
* </tr>
* <tr>
* <th scope="row">xs:time</th>
* <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
* </tr>
*
* </tbody>
* </table>
*
* <hr>
*
*
* <table class="striped">
* <caption>XQuery and XPath/Java Type Mappings</caption>
* <thead>
* <tr>
* <th scope="col">XQuery 1.0 and XPath 2.0 Data Model</th>
* <th scope="col">Java Data Type</th>
* </tr>
* </thead>
*
* <tbody>
* <tr>
* <th scope="row">xdt:dayTimeDuration</th>
* <td>{@link javax.xml.datatype.Duration}</td>
* </tr>
* <tr>
* <th scope="row">xdt:yearMonthDuration</th>
* <td>{@link javax.xml.datatype.Duration}</td>
* </tr>
* </tbody>
* </table>
*
* <hr>
*
* <p>
* W3C XML Schema data types that have a "<em>natural</em>" mapping to Java types are defined by
* JSR 31: Java™ Architecture for XML Binding (JAXB) Specification, Binding XML Schema to Java Representations.
* JAXB defined mappings for XML Schema built-in data types include:
*
* <ul>
* <li>xs:anySimpleType</li>
* <li>xs:base64Binary</li>
* <li>xs:boolean</li>
* <li>xs:byte</li>
* <li>xs:decimal</li>
* <li>xs:double</li>
* <li>xs:float</li>
* <li>xs:hexBinary</li>
* <li>xs:int</li>
* <li>xs:integer</li>
* <li>xs:long</li>
* <li>xs:QName</li>
* <li>xs:short</li>
* <li>xs:string</li>
* <li>xs:unsignedByte</li>
* <li>xs:unsignedInt</li>
* <li>xs:unsignedShort</li>
* </ul>
*
* @author Jeff Suttor
* @see <a href="http://www.w3.org/TR/xmlschema-2/#dateTime">
* W3C XML Schema 1.0 Part 2, Section 3.2.7-14</a>
* @see <a href="http://www.w3.org/TR/xpath-datamodel#dt-dayTimeDuration">
* XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>
* @see <a href="http://www.w3.org/TR/xpath-datamodel#dt-yearMonthDuration">
* XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a>
* @since 1.5
*/
package javax.xml.datatype;