I do have XMLSpy but it only generates the header of the XML document, and not the rest. If you could generate an XML file that would be AWESOME! Thanks for the help.
Here is my schema:
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 3 U (
by HSN (HSN) -->
<!--W3C Schema generated by XMLSPY v5 rel. 3 U (
<xs:schema elementFormDefault="qualified" xmlns:xs="
<xs:element name="Amount" type="xs:decimal"/>
<xs:element name="Batteries">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Battery"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Battery">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="IsIncluded"/>
<xs:element ref="IsRequired"/>
<xs:element ref="PartNumber"/>
<xs:element ref="Qty"/>
</xs:sequence>
<xs:attribute name="Type" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="CasePackQty" type="xs:short"/>
<xs:element name="Categories">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Category"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Category">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Position" type="xs:short" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="CountryOfOrigin" type="xs:string"/>
<xs:element name="CustomerServiceEmail" type="xs:string"/>
<xs:element name="CustomerServicePhone" type="xs:string"/>
<xs:element name="Description">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Type" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Descriptions">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Description"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Dimension">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="Height"/>
<xs:element ref="Weight"/>
<xs:element ref="Length"/>
<xs:element ref="Width"/>
</xs:sequence>
<xs:attribute name="Type" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Dimensions">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Dimension"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DimesionType" type="xs:string"/>
<xs:element name="EndDate" type="xs:string"/>
<xs:element name="Feature">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Position" type="xs:short" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Features">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Feature"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="File" type="xs:string"/>
<xs:element name="Hazardous" type="xs:string"/>
<xs:element name="HeatSensitive" type="xs:string"/>
<xs:element name="Height" type="xs:decimal"/>
<xs:element name="Image">
<xs:complexType>
<xs:sequence>
<xs:element ref="File"/>
<xs:element ref="ImageNote"/>
</xs:sequence>
<xs:attribute name="Type" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Images">
<xs:complexType>
<xs:sequence>
<xs:element ref="Image" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ImageNote" type="xs:string"/>
<xs:element name="IsIncluded" type="xs:string"/>
<xs:element name="IsRequired" type="xs:string"/>
<xs:element name="Keyword">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Position" type="xs:short" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Keywords">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Keyword"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Length" type="xs:decimal"/>
<xs:element name="MSRP" type="xs:decimal"/>
<xs:element name="Manufacturer">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="Name"/>
<xs:element ref="Url"/>
<xs:element ref="ModelNumber"/>
<xs:element ref="CustomerServiceEmail"/>
<xs:element ref="CustomerServicePhone"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Message">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Products"/>
</xs:sequence>
<xs:attribute name="VendorID" type="xs:byte" use="required"/>
<xs:attribute name="CreatedDate" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Method" type="xs:string"/>
<xs:element name="MinOrderQty" type="xs:short"/>
<xs:element name="ModelNumber" type="xs:string"/>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Overbox" type="xs:string"/>
<xs:element name="PartNumber" type="xs:string"/>
<xs:element name="Product">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="VendorProductId"/>
<xs:element ref="VendorProductParentId"/>
<xs:element ref="VendorProductName"/>
<xs:element ref="ShortDescription"/>
<xs:element ref="Status"/>
<xs:element ref="UPC"/>
<xs:element ref="UnitCost"/>
<xs:element ref="MSRP"/>
<xs:element ref="HeatSensitive"/>
<xs:element ref="CasePackQty"/>
<xs:element ref="MinOrderQty"/>
<xs:element ref="Overbox"/>
<xs:element ref="CountryOfOrigin"/>
<xs:element ref="Hazardous"/>
<xs:element ref="WhiteGlove"/>
<xs:element ref="Categories"/>
<xs:element ref="Descriptions"/>
<xs:element ref="Images"/>
<xs:element ref="Dimensions"/>
<xs:element ref="Shipping"/>
<xs:element ref="Rebates"/>
<xs:element ref="Manufacturer"/>
<xs:element ref="Features"/>
<xs:element ref="Batteries"/>
<xs:element ref="Warranties"/>
<xs:element ref="Keywords"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Products">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Product"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Qty" type="xs:long"/>
<xs:element name="Rebate">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="Amount"/>
<xs:element ref="StartDate"/>
<xs:element ref="EndDate"/>
</xs:sequence>
<xs:attribute name="Type" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Rebates">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Rebate"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Shipping">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Method"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ShortDescription" type="xs:string"/>
<xs:element name="StartDate" type="xs:string"/>
<xs:element name="Status">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Code" type="xs:string" use="required"/>
<xs:attribute name="ModifiedDate" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="UPC" type="xs:string"/>
<xs:element name="UnitCost" type="xs:decimal"/>
<xs:element name="Url" type="xs:anyURI"/>
<xs:element name="VendorProductId" type="xs:string"/>
<xs:element name="VendorProductParentId" type="xs:string"/>
<xs:element name="VendorProductName" type="xs:string"/>
<xs:element name="Warranties">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Warranty"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Warranty">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="WarrantyDurationInDays"/>
<xs:element ref="WarrantyNote"/>
</xs:sequence>
<xs:attribute name="Type" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="WarrantyDurationInDays" type="xs:short"/>
<xs:element name="WarrantyNote" type="xs:string"/>
<xs:element name="Weight" type="xs:decimal"/>
<xs:element name="WhiteGlove" type="xs:string"/>
<xs:element name="Width" type="xs:decimal"/>
</xs:schema>
Brad Williams
Webmaster