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
   274   275   276   277   278   279   280   281   282   283   284