45 lines
1.5 KiB
XML
45 lines
1.5 KiB
XML
|
<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>
|