Here is XSD schema file.
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:sql="urn:schemas-microsoft-com:mapping-schema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship name="CustCustOrder" parent="Cust" parent-key="custInc"
child="CustOrder" child-key="CustomerID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element sql:is-constant="1" name="ROOT">
<xsd:complexType>
<xsd:sequence>
<xsd:element sql:relation="Cust" sql:overflow-field="OverflowColumn"
name="Customers">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="CustomerID" type="xsd:integer" />
<xsd:element sql:field="Company_Name" name="CompanyName"
type="xsd:string" />
<xsd:element name="City" type="xsd:string" />
<xsd:element name="Orders" sql:relation="CustOrder"
sql:relationship="CustCustOrder"
sql:overflow-field="OverflowColumn">
<xsd:complexType>
<xsd:sequence>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="Order" sql:field="OrderIDEx"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="OrderID" />
<!--<xsd:attribute name="CustomerID" />-->
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="OrderType" type="xsd:string"
sql:field="OrderType" />
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Here is Xml file
<ROOT>
<Customers>
<CustomerID>1111</CustomerID>
<CompanyName>Hanari Carnes</CompanyName>
<City>NY </City>
<Junk>garbage in overflow</Junk>
<Orders>
<Order OrderID="1">one </Order>
<OrderType>Bulk</OrderType>
<Order OrderID="2"> Two </Order>
<OrderType>Retail</OrderType>
</Orders>
</Customers>
<Customers>
<CustomerID>1112</CustomerID>
<CompanyName>Toms Spezialitten</CompanyName>
<City>LA </City>
<xyz>
<address>111 Maple, Seattle</address>
</xyz>
<Orders>
<Order OrderID="3"> three </Order>
<OrderType>Bulk</OrderType>
</Orders>
</Customers>
<Customers>
<CustomerID>1113</CustomerID>
<CompanyName>Victuailles en stock</CompanyName>
<Orders>
<Order OrderID="4"> four </Order>
<OrderType>Bulk</OrderType>
</Orders>
</Customers>
</ROOT>
And Here is Table Creation SQL Statement.
CREATE TABLE Cust
(
custInc INT IDENTITY(1, 1) ,
CustomerID INT PRIMARY KEY ,
Company_Name VARCHAR(20) NOT NULL ,
City VARCHAR(20) DEFAULT 'Seattle' ,
OverflowColumn XML
)
GO
CREATE TABLE CustOrder
(
OrderID INT ,
OrderIDEx NVARCHAR(10) ,
OrderType NVARCHAR(10),
CustomerID INT ,
OverflowColumn XML
)
GO
commented on Aug 11 2011 1:14AM