Page 279 -
P. 279
10 The Resource Service 275
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="
qualified">
<xsd:element name="Estimate_Trailer_Usage">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="TrailerUsage">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="OrderNumber" type="xsd:string"/>
<xsd:element name="OrderLines">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="Line">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="LineNumber" type="
xsd:integer"/>
<xsd:element name="UnitCode" type="
xsd:string"/>
<xsd:element name="UnitDescription"
type="xsd:string"/>
<xsd:element name="UnitQuantity" type="
xsd:integer"/>
<xsd:element name="Action" type="
xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Packages">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="Package
">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="PackageID" type="
xsd:string"/>
<xsd:element name="Volume" type="
xsd:integer"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Listing 10.2 Compiled data schema for task Estimate Trailer Usage
Different types of JSF components are built depending on the base data type
of the field (as referenced from the data schema). Fields that expect boolean val-
ues are rendered as check-boxes, while enumerations become drop-down combo
boxes. Dates are rendered as calendar inputs – a drop-down calendar widget allows
users to easily select appropriate date values. All other types are rendered as text

