<?xml version="1.0"?>

   <schema uri="urn:x-commerceone:document:com:commerceone:XCBL35:XCBL35.sox$1.0">

      <elementtype name="Product">
         <model>
            <sequence>
               <element type="Action" occurs="?"/>
               <element type="ProductID"/>
               <element type="string" occurs="?" name="BaseProductNumber"/>
               <element type="SchemaCategoryRefList" occurs="?"/>
               <element type="string" occurs="?" name="ProductIDExtension"/>
               <element type="ExternalItemRef" occurs="*"/>
               <element type="ProductIDStandard" occurs="?"/>
               <element type="ProductName" occurs="*"/>
               <element type="UOM" occurs="?"/>
               <element type="UOM" occurs="?" name="ComparableUOM"/>
               <element type="number" occurs="?" name="ComparableUOMConversionFactor"/>
               <element type="Manufacturer" occurs="?"/>
               <element type="string" occurs="?" name="ManuPartNumber"/>
               <element type="string" occurs="?" name="LeadTime"/>
               <element type="UOM" occurs="?" name="LeadTimeUOM"/>
               <element type="date" occurs="?" name="ValidFrom"/>
               <element type="date" occurs="?" name="ValidUntil"/>
               <element type="Country" occurs="?" name="CountryOfOrigin"/>
               <element type="int" occurs="?" name="MinOrder"/>
               <element type="number" occurs="?" name="LotSize"/>
               <element type="string" occurs="*" name="ExternalCategory"/>
               <element type="ShortDescription" occurs="*"/>
               <element type="LongDescription" occurs="*"/>
               <element type="CatalogContract" occurs="*"/>
               <element type="ProductPrice" occurs="*"/>
               <element type="ProductVendorData" occurs="*"/>
               <element type="ProductAttachment" occurs="*"/>
               <element type="RelatedProduct" occurs="*"/>
               <element type="ObjectAttribute" occurs="*"/>
            </sequence>
         </model>
         <attdef datatype="ProductTypeCoded" name="Type">
            <default>Good</default>
         </attdef>
         <attdef datatype="IDREFS" name="SchemaCategoryRef">
            <implied/>
         </attdef>
      </elementtype>

      <elementtype name="Action">
         <empty/>
         <attdef datatype="ActionValueCode" name="Value">
            <default>Add</default>
         </attdef>
      </elementtype>

      <datatype name="ActionValueCode">
         <enumeration datatype="NMTOKEN">
            <option>Add</option>
            <option>Update</option>
            <option>Delete</option>
            <option>Replace</option>
         </enumeration>
      </datatype>

      <elementtype name="ProductID">
         <model>
            <string/>
         </model>
         <attdef datatype="BuyerSupplierCode" name="Type">
            <default>Supplier</default>
         </attdef>
      </elementtype>

      <elementtype name="ProductIDStandard">
         <model>
            <string/>
         </model>
         <attdef datatype="ProductIDStandardCode" name="Agency">
            <default>Other</default>
         </attdef>
      </elementtype>

      <elementtype name="ProductName">
         <model>
            <string/>
         </model>
         <attdef datatype="xmllang" name="lang">
            <default>en</default>
         </attdef>
      </elementtype>

      <elementtype name="Manufacturer">
         <model>
            <string/>
         </model>
         <attdef datatype="IDREF" name="PartnerRef">
            <implied/>
         </attdef>
      </elementtype>

      <elementtype name="RelatedProduct">
         <model>
            <string/>
         </model>
         <attdef datatype="TargetTypeCode" name="TargetType">
            <default>Component</default>
         </attdef>
      </elementtype>

      <datatype name="ProductTypeCoded">
         <enumeration datatype="NMTOKEN">
            <option>Other</option>
            <option>Good</option>
            <option>Service</option>
         </enumeration>
      </datatype>

      <datatype name="ProductIDStandardCode">
         <enumeration datatype="NMTOKEN">
            <option>Other</option>
            <option>GTIN</option>
            <option>EAN</option>
            <option>UCC</option>
         </enumeration>
      </datatype>

      <datatype name="TargetTypeCode">
         <enumeration datatype="NMTOKEN">
            <option>Component</option>
            <option>Substitute</option>
            <option>Alternative</option>
            <option>Accessory</option>
         </enumeration>
      </datatype>

      <elementtype name="UOM">
         <model>
            <sequence>
               <element type="UOMCode" name="UOMCoded"/>
               <element type="string" occurs="?" name="UOMCodedOther"/>
            </sequence>
         </model>
      </elementtype>

      <elementtype name="SchemaCategoryRefList">
         <model>
            <element type="string" occurs="+" name="CategoryIDRef"/>
         </model>
      </elementtype>

      <elementtype name="ExternalItemRef">
         <model>
            <choice>
               <sequence>
                  <element type="string" name="CatalogProviderIDRef"/>
                  <element type="string" name="CatalogIDRef"/>
                  <element type="string" name="ProductIDRef"/>
               </sequence>
               <element type="string" name="ItemGUID"/>
            </choice>
         </model>
      </elementtype>

   </schema>