background image

Schema-to-Java Bindings

<< Schema-Derived JAXB Classes | Schema-Derived JAXB Classes >>
<< Schema-Derived JAXB Classes | Schema-Derived JAXB Classes >>

Schema-to-Java Bindings

TABLE 17­13
Schema-to-Java Bindings for the Basic Examples
(Continued)
XML Schema
JAXB Binding
<xsd:complexType name=
"PurchaseOrderType">
<xsd:sequence>
<xsd:element name=
"shipTo" type="USAddress"/>
<xsd:element name=
"billTo" type="USAddress"/>
<xsd:element ref=
"comment" minOccurs="0"/>
<xsd:element name=
"items" type="Items"/>
</xsd:sequence>
<xsd:attribute name=
"orderDate" type="xsd:date"/>
</xsd:complexType>
PurchaseOrderType.java
<xsd:complexType name=
"USAddress">
<xsd:sequence>
<xsd:element name=
"name" type="xsd:string"/>
<xsd:element name=
"street" type="xsd:string"/>
<xsd:element name=
"city" type="xsd:string"/>
<xsd:element name=
"state" type="xsd:string"/>
<xsd:element name=
"zip" type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name=
"country" type="xsd:NMTOKEN" fixed="US"/>
</xsd:complexType>
USAddress.java
<xsd:complexType name=
"Items">
<xsd:sequence>
<xsd:element name=
"item" minOccurs="1" maxOccurs="unbounded">
Items.java
<xsd:complexType>
<xsd:sequence>
<xsd:element name=
"productName" type="xsd:string"/>
<xsd:element name=
"quantity">
<xsd:simpleType>
<xsd:restriction base=
"xsd:positiveInteger">
<xsd:maxExclusive value=
"100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name=
"USPrice" type="xsd:decimal"/>
<xsd:element ref=
"comment" minOccurs="0"/>
<xsd:element name=
"shipDate" type="xsd:date" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name=
"partNum" type="SKU" use="required"/>
</xsd:complexType>
Items.ItemType
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- Stock Keeping Unit, a code for identifying products -->
JAXB Examples
Chapter 17 · Binding between XML Schema and Java Classes
507