| <?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> |