Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

generate sample XML file from XSD

Status
Not open for further replies.

williamsba

Programmer
Aug 3, 2000
57
0
0
US
What is the easiest way to generate a sample XML file from an already created XSD file? Thanks!

Brad Williams
Webmaster

 
Brad,

Many of the XML editors available offer this feature such as XMLSpy. If you don't have one (ouch!), then you can download and eval for 30-days a copy of XMLSpy. Otherwise, post a copy of your XSD, and one of us here could run you off a sample instance.

-mb
 
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
 
XML Spy works for me -- make sure you have all the checkboxes set in the dialog that pops up, and change the repeating element value to something greater than 1.

Chip H.


____________________________________________________________________
If you want to get the best response to a question, please read FAQ222-2244 first
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top