SCDJWS Study Guide: JAXB

Printer-friendly version Printer-friendly version | Send this 
article to a friend Mail this to a friend

Previous Next vertical dots separating previous/next from contents/index/pdf Contents

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.

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 schema component using simple type definition.

Default Data Type Bindings

The Java language provides a richer set of data type than XML schema.

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 java.util.Calendar
xsd:base64Binary byte[]
xsd:hexBinary byte[]
xsd:unsignedInt long
xsd:unsignedShort int
xsd:unsignedByte short
xsd:time java.util.Calendar
xsd:date java.util.Calendar
xsd:anySimpleType java.lang.String

Default Binding Rules

The JAXB binding model follows the default binding rules summarized below:

XML Namespace URI
Java package
Named complex type
Java content interface
Anonymous inlined type definition of an element declaration
Java content interface
A named simple type definition with a basetype that derives from "xsd:NCName" and has enumeration facet
enum class
A global element declaration to a Element interface
Java Element interface
Local element declaration that can be inserted into a general content list
Java Element interface
Java property

Previous Next vertical dots separating previous/next from contents/index/pdf Contents

  |   |