blob: 1705f769d32a56e74a5e1111d73232771fcdd21b [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<xs:element ref="productName"/>
<xs:element ref="quantity"/>
<xs:element ref="USPrice"/>
<xs:element ref="comment" minOccurs="0"/>
<xs:element ref="shipDate" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="partNum" use="optional" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
</xs:complexType>
</xs:element>
<xs:element name="street">
<xs:simpleType>
<xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:enumeration value="123 Maple Street"/>
<xs:enumeration value="8 Oak Avenue"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="productName">
<xs:simpleType>
<xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:enumeration value="Lawnmower"/>
<xs:enumeration value="Baby Monitor"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="comment">
<xs:simpleType>
<xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:enumeration value="Confirm this is electric"/>
<xs:enumeration value="Hurry, my lawn is going wild!"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="USPrice">
<xs:simpleType>
<xs:restriction base="xs:float" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:enumeration value="148.95"/>
<xs:enumeration value="39.98"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="items">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="purchaseOrder">
<xs:complexType>
<xs:sequence>
<xs:element ref="shipTo"/>
<xs:element ref="billTo"/>
<xs:element ref="comment"/>
<xs:element ref="items"/>
</xs:sequence>
<xs:attribute type="xs:date" name="orderDate" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
</xs:complexType>
</xs:element>
<xs:element name="shipTo">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"/>
<xs:element ref="street"/>
<xs:element ref="city"/>
<xs:element ref="state"/>
<xs:element ref="zip"/>
</xs:sequence>
<xs:attribute type="xs:string" name="country" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
</xs:complexType>
</xs:element>
<xs:element name="state">
<xs:simpleType>
<xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:enumeration value="CA"/>
<xs:enumeration value="PA"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="zip">
<xs:simpleType>
<xs:restriction base="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:enumeration value="90952"/>
<xs:enumeration value="95819"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="name">
<xs:simpleType>
<xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:enumeration value="Alice Smith"/>
<xs:enumeration value="Robert Smith"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="quantity" type="xs:byte" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
<xs:element name="billTo">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"/>
<xs:element ref="street"/>
<xs:element ref="city"/>
<xs:element ref="state"/>
<xs:element ref="zip"/>
</xs:sequence>
<xs:attribute type="xs:string" name="country" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
</xs:complexType>
</xs:element>
<xs:element name="city">
<xs:simpleType>
<xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:enumeration value="Mill Valley"/>
<xs:enumeration value="Old Town"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="shipDate" type="xs:date" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
</xs:schema>