XML PO SCHEMA (BizTalk 0.8)

<?xml version ="1.0"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/1999/XMLSchema-->
<schema xmlns = "http://www.w3.org/1999/XMLSchema">	
  <element name = "BizTalk">
    <complexType content = "elementOnly">
      <sequence>
        <element ref = "Route"/>
        <element ref = "Body"/>	
      </sequence>
        <attribute name = "xmlns" use = "required" type = "string"/>
    </complexType>
  </element>
  <element name = "Route">
    <complexType content = "elementOnly">
      <sequence>
        <element ref = "From"/>
        <element ref = "To"/>
      </sequence>
    </complexType>
  </element>
  <element name = "From">
    <complexType content = "empty">
        <attribute name = "locationType" use = "required" type = "string"/>
        <attribute name = "locationID" use = "required" type = "string"/>
        <attribute name = "handle" use = "required" type = "string"/>
        <attribute name = "process" use = "required" type = "string"/>
        <attribute name = "path" use = "required" type = "string"/>
    </complexType>
  </element>
  <element name = "To">
    <complexType content = "empty">
        <attribute name = "locationType" use = "required" type = "string"/>
        <attribute name = "locationID" use = "required" type = "string"/>
        <attribute name = "handle" use = "required" type = "string"/>
        <attribute name = "process" use = "required" type = "string"/>
        <attribute name = "path" use = "required" type = "string"/>
    </complexType> 
  </element>
  <element name = "Body"> 
    <complexType content = "elementOnly"> 
      <sequence> 
        <element ref = "PO"/>
      </sequence> 
    </complexType> 
  </element>
  <element name = "PO"> 
    <complexType content = "elementOnly"> 
      <sequence> 
        <element ref = "POHeader"/>
        <element ref = "Contact"/> 
        <element ref = "POShipTo"/>						 
        <element ref = "POBillTo"/> 
        <element ref = "POLines"/>
      </sequence>
      <attribute name = "xmlns" use = "required" type = "string"/> 
    </complexType> 
  </element>
  <element name = "POHeader"> 
    <complexType content = "empty"> 
      <attribute name = "refPromise" use = "required" type = "string"/> 
      <attribute name = "description" use = "required" type = "string"/> 
      <attribute name = "fromCust" use = "required" type = "string"/> 
      <attribute name = "paymentType" use = "required" type = "string"/>
      <attribute name = "shipType" use = "required" type = "string"/> 
      <attribute name = "poNumber" use = "required" type = "string"/> 
    </complexType> 
  </element>
  <element name = "Contact"> 
    <complexType content = "empty">
      <attribute name = "contactPhone" use = "required" type = "string"/> 
      <attribute name = "contactEmail" use = "required" type = "string"/>
      <attribute name = "contactName" use = "required" type = "string"/> 
    </complexType> 
  </element>
  <element name = "POShipTo"> 
    <complexType content = "empty"> 
      <attribute name = "street4" use = "required" type = "string"/> 
      <attribute name = "street3" use = "required" type = "string"/> 
      <attribute name = "street2" use = "required" type = "string"/> 
      <attribute name = "street1" use = "required" type = "string"/>
      <attribute name = "stateProvince" use = "required" type = "string"/> 
      <attribute name = "city" use = "required" type = "string"/> 
      <attribute name = "country" use = "required" type = "string"/> 
      <attribute name = "attn" use = "required" type = "string"/> 
      <attribute name = "postalCode" use = "required" type = "string"/>
    </complexType> 
  </element>
  <element name = "POBillTo"> 
    <complexType content = "empty"> 
      <attribute name = "street4" use = "required" type = "string"/> 
      <attribute name = "street3" use = "required" type = "string"/> 
      <attribute name = "street2" use = "required" type = "string"/> 
      <attribute name = "street1" use = "required" type = "string"/> 
      <attribute name = "stateProvince" use = "required" type = "string"/> 
      <attribute name = "city" use = "required" type = "string"/> 
      <attribute name = "country" use = "required" type = "string"/> 
      <attribute name = "attn" use = "required" type = "string"/> 
      <attribute name = "postalCode" use = "required" type = "string"/>
    </complexType> 
  </element>
  <element name = "POLines"> 
    <complexType content = "elementOnly"> 
      <sequence> 
        <element ref = "Item" minOccurs = "1" maxOccurs = "unbounded"/> 
      </sequence>
        <attribute name = "count" use = "required" type = "string"/> 
        <attribute name = "startAt" use = "required" type = "string"/> 
     </complexType> 
  </element>
  <element name = "Item"> 
    <complexType content = "empty"> 
      <attribute name = "qty" use = "required" type = "string"/> 
      <attribute name = "needBefore" use = "required"> 
        <simpleType base = "NMTOKEN"> 
          <enumeration value = "2000-05-29"/> 
        </simpleType> 
      </attribute>
      <attribute name = "discount" use = "required" type = "string"/> 
      <attribute name = "unitPrice" use = "required" type = "string"/>
      <attribute name = "needAfter" use = "required">
        <simpleType base = "NMTOKEN"> 
          <enumeration value = "2000-07-31"/> 
        </simpleType> 
      </attribute> 
      <attribute name = "line" use = "required" type = "string"/>
      <attribute name = "uom" use = "required"> 
        <simpleType base = "NMTOKEN"> 
          <enumeration value = "Unit"/>
        </simpleType> 
      </attribute> 
      <attribute name = "partNo" use = "required" type = "string"/> 
    </complexType>
  </element>
</schema>