text: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  
    <xsd:annotation>
      <xsd:documentation xml:lang="en">
       Purchase order schema for Example.com.
       Copyright 2000 Example.com. All rights reserved.
      </xsd:documentation>
    </xsd:annotation>
  
    <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
  
    <xsd:element name="comment" type="xsd:string"/>
  
    <xsd:complexType name="PurchaseOrderType">
      <xsd:sequence>
        <xsd:element name="shipTo" type="USAddress"/>
        <xsd:element name="billTo" type="USAddress"/>
        <xsd:element ref="comment" minOccurs="0"/>
        <xsd:element name="items"  type="Items"/>
      </xsd:sequence>
      <xsd:attribute name="orderDate" type="xsd:date"/>
    </xsd:complexType>
  
    <xsd:complexType name="USAddress">
      <xsd:sequence>
        <xsd:element name="name"   type="xsd:string"/>
        <xsd:element name="street" type="xsd:string"/>
        <xsd:element name="city"   type="xsd:string"/>
        <xsd:element name="state"  type="xsd:string"/>
        <xsd:element name="zip"    type="xsd:decimal"/>
      </xsd:sequence>
      <xsd:attribute name="country" type="xsd:NMTOKEN"
                     fixed="US"/>
    </xsd:complexType>
  
    <xsd:complexType name="Items">
      <xsd:sequence>
        <xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="productName" type="xsd:string"/>
              <xsd:element name="quantity">
                <xsd:simpleType>
                  <xsd:restriction base="xsd:positiveInteger">
                    <xsd:maxExclusive value="100"/>
                  </xsd:restriction>
                </xsd:simpleType>
              </xsd:element>
              <xsd:element name="USPrice"  type="xsd:decimal"/>
              <xsd:element ref="comment"   minOccurs="0"/>
              <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
            </xsd:sequence>
            <xsd:attribute name="partNum" type="SKU" use="required"/>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  
    <!-- Stock Keeping Unit, a code for identifying products -->
    <xsd:simpleType name="SKU">
      <xsd:restriction base="xsd:string">
        <xsd:pattern value="\d{3}-[A-Z]{2}"/>
      </xsd:restriction>
    </xsd:simpleType>
  
  </xsd:schema>