<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:po="http://openuri.org/easypo"
targetNamespace="http://openuri.org/easypo"
elementFormDefault="qualified" > <xs:element
name="purchase-order" >
<xs:complexType>
<xs:sequence>
<xs:element name="customer" type="po:customer"
/>
<xs:element name="date" type="xs:dateTime"
/>
<xs:element name="line-item" type="po:line-item"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="shipper" type="po:shipper"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="customer"
>
<xs:sequence>
<xs:element name="name" type="xs:string"
/>
<xs:element name="address" type="xs:string"
/>
</xs:sequence>
<xs:attribute name="age" type="xs:int"
/>
<xs:attribute name="moo" type="xs:int"
default="100" />
<xs:attribute name="poo" type="xs:int"
fixed="200" />
</xs:complexType>
<xs:complexType name="line-item"
>
<xs:sequence>
<xs:element name="description" type="xs:string"
/>
<xs:element name="per-unit-ounces" type="xs:decimal"
/>
<xs:element name="price" type="xs:decimal"
/>
<xs:element name="quantity" type="xs:integer"
/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="shipper"
>
<xs:sequence>
<xs:element name="name" type="xs:string"
/>
<xs:element name="per-ounce-rate" type="xs:decimal"
/>
</xs:sequence>
</xs:complexType>
</xs:schema> |