Binding XML Schemas - The Java EE 5 Tutorial (original) (raw)
2. Using the Tutorial Examples
3. Getting Started with Web Applications
5. JavaServer Pages Technology
7. JavaServer Pages Standard Tag Library
10. JavaServer Faces Technology
11. Using JavaServer Faces Technology in JSP Pages
12. Developing with JavaServer Faces Technology
13. Creating Custom UI Components
14. Configuring JavaServer Faces Applications
15. Internationalizing and Localizing Web Applications
16. Building Web Services with JAX-WS
17. Binding between XML Schema and Java Classes
Java Representation of XML Schema
Customizing Generated Classes and Java Program Elements
About the Schema-to-Java Bindings
Building and Running the Modify Marshal Example Using NetBeans IDE
Building and Running the Modify Marshal Example Using Ant
Building and Running the Unmarshal Validate Example Using NetBeans IDE
Building and Running the Unmarshal Validate Example Using Ant
Inline and External Customizations
Scope, Inheritance, and Precedence
Customization Namespace Prefix
Building and Running the Customize Inline Example Using NetBeans IDE
Building and Running the Customize Inline Example Using Ant
Building and Running the Datatype Converter Example Using NetBeans IDE
Building and Running the Datatype Converter Example Using Ant
JAXB Version, Namespace, and Schema Attributes
Global and Schema Binding Declarations
Building and Running the External Customize Example Using NetBeans IDE
Building and Running the External Customize Example Using Ant
Building and Running the Create Marshal Example Using NetBeans IDE
Building and Running the Create Marshal Example Using Ant
Using the @XmlAccessorOrder Annotation to Define Schema Element Ordering
Using the @XmlType Annotation to Define Schema Element Ordering
Schema Content Ordering in the Example
Building and Running the XmlAccessorOrder Example Using NetBeans IDE
Building and Running the XmlAccessorOrder Example Using Ant
Building and Running the XmlAdapter Field Example Using NetBeans IDE
Building and Running the XmlAdapter Field Example Using Ant
Building and Running the XmlAttribute Field Example Using NetBeans IDE
Building and Running the XmlAttribute Field Example Using Ant
Building and Running the XmlRootElement Example Using NetBeans IDE
Building and Running the XmlRootElement Example Using Ant
Building and Running the XmlSchemaType Class Example Using NetBeans IDE
Building and Running the XmlSchemaType Class Example Using Ant
Building and Running the XmlType Example Using NetBeans IDE
Building and Running the XmlType Example Using Ant
Further Information about JAXB
19. SOAP with Attachments API for Java
21. Getting Started with Enterprise Beans
23. A Message-Driven Bean Example
24. Introduction to the Java Persistence API
25. Persistence in the Web Tier
26. Persistence in the EJB Tier
27. The Java Persistence Query Language
28. Introduction to Security in the Java EE Platform
29. Securing Java EE Applications
31. The Java Message Service API
32. Java EE Examples Using the JMS API
36. The Coffee Break Application
37. The Duke's Bank Application
Binding XML Schemas
This section describes the default XML-to-Java bindings used by JAXB. All of these bindings can be overridden on global or case-by-case levels by means of a custom binding declaration. See the JAXB Specification for complete information about the default JAXB bindings.
Simple Type Definitions
A schema component using a simple type definition typically binds to a Java property. Since there are different kinds of such schema components, the following Java property attributes (common to the schema components) include:
- Base type
- Collection type, if any
- Predicate
The rest of the Java property attributes are specified in the schema component using the simple type definition.
Default Data Type Bindings
The following sections explain the default schema-to-Java, JAXBElement, and Java-to-schema data type bindings.
Schema-to-Java Mapping
The Java language provides a richer set of data type than XML schema. Table 17-1 lists the mapping of XML data types to Java data types in JAXB.
Table 17-1 JAXB Mapping of XML Schema Built-in Data Types
XML Schema Type | Java Data Type |
---|---|
xsd:string | java.lang.String |
xsd:integer | java.math.BigInteger |
xsd:int | int |
xsd.long | long |
xsd:short | short |
xsd:decimal | java.math.BigDecimal |
xsd:float | float |
xsd:double | double |
xsd:boolean | boolean |
xsd:byte | byte |
xsd:QName | javax.xml.namespace.QName |
xsd:dateTime | javax.xml.datatype.XMLGregorianCalendar |
xsd:base64Binary | byte[] |
xsd:hexBinary | byte[] |
xsd:unsignedInt | long |
xsd:unsignedShort | int |
xsd:unsignedByte | short |
xsd:time | javax.xml.datatype.XMLGregorianCalendar |
xsd:date | javax.xml.datatype.XMLGregorianCalendar |
xsd:g | javax.xml.datatype.XMLGregorianCalendar |
xsd:anySimpleType | java.lang.Object |
xsd:anySimpleType | java.lang.String |
xsd:duration | javax.xml.datatype.Duration |
xsd:NOTATION | javax.xml.namespace.QName |
JAXBElement Object
When XML element information can not be inferred by the derived Java representation of the XML content, a JAXBElement object is provided. This object has methods for getting and setting the object name and object value.
Java-to-Schema Mapping
Table 17-2 shows the default mapping of Java classes to XML data types.
Table 17-2 JAXB Mapping of XML Data Types to Java Classes
Java Class | XML Data Type |
---|---|
java.lang.String | xs:string |
java.math.BigInteger | xs:integer |
java.math.BigDecimal | xs:decimal |
java.util.Calendar | xs:dateTime |
java.util.Date | xs:dateTime |
javax.xml.namespace.QName | xs:QName |
java.net.URI | xs:string |
javax.xml.datatype.XMLGregorianCalendar | xs:anySimpleType |
javax.xml.datatype.Duration | xs:duration |
java.lang.Object | xs:anyType |
java.awt.Image | xs:base64Binary |
javax.activation.DataHandler | xs:base64Binary |
javax.xml.transform.Source | xs:base64Binary |
java.util.UUID | xs:string |
Copyright © 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices