<xsd:complexType>
<xsd:sequence>
<xsd:element name='Product ID' type='xsd:int' minOccurs='0' />
<xsd:element name='ProductName' type='xsd:string' minOccurs='0' />
<xsd:element name='SupplierID' type='xsd:int' minOccurs='0' />
<xsd:element name='CategoryID' type='xsd:int' minOccurs='0' />
<xsd:element name='QuantityPerUnit' type='xsd:string' minOccurs='0' />
<xsd:element name='UnitPrice' type='xsd:decimal' minOccurs='0' />
<xsd:element name='UnitsInStock' type='xsd:short' minOccurs='0' />
<xsd:element name='UnitsOnOrder' type='xsd:short' minOccurs='0' />
<xsd:element name='ReorderLevel' type='xsd:short' minOccurs='0' />
<xsd:element name='Discontinued' type='xsd:boolean' minOccurs='0' />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name='suppliers'>
<xsd:complexType>
<xsd:sequence>
<xsd:element name='SupplierID' type='xsd:int' minOccurs='0' />
<xsd:element name='CompanyName' type='xsd:string' minOccurs='0' />
<xsd:element name='ContactName' type='xsd:string' minOccurs='0' />
<xsd:element name='ContactTitle' type='xsd:string' minOccurs='0' />
<xsd:element name='Address' type='xsd:string' minOccurs='0' />
<xsd:element name='City' type='xsd:string' minOccurs='0' />
<xsd:element name='Region' type='xsd:string' minOccurs='0' />
<xsd:element name='PostalCode' type='xsd:string' minOccurs='0' />
<xsd:element name='Country' type='xsd:string' minOccurs='0' />
<xsd:element name='Phone' type='xsd:string' minOccurs='0' />
<xsd:element name='Fax' type='xsd:string' minOccurs='0' />
<xsd:element name='HomePage' type='xsd:string' minOccurs='0' />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
<xsd:unique name='Constraint1'>
<xsd:selector xpath='.//suppliers' />
<xsd:field xpath='SupplierID' />
</xsd:unique>
<xsd:keyref name='Relation1' refer='Constraint1'>
<xsd:selector xpath='.//products' />
<xsd:field xpath='SupplierID' />
</xsd:keyref>
</xsd:elements>
</xsd:schema>
<products>
<ProductID>1</ProductID>
<ProductName>Chai</ProductName>
<SupplierID>1</SupplierID>
<CategoryID>1</CategoryID>
<QuantityPerUnit>10 boxes x 20 bags</QuantityPerUnit>
<UnitPrice>18</UnitPrice>
<UnitsInStock>39</UnitsInStock>
<UnitsOnOrder>0</UnitsOnOrder>
<ReorderLevel>10</ReorderLevel>
<Discontinued>false</Discontinued>
</products>
<products>
<ProductID>2</ProductID>
<ProductName>Chang</ProductName>
<SupplierID>1</SupplierID>
<CategoryID>1</CategoryID>
<QuantityPerUnit>24 - 12 oz bottles</QuantityPerUnit>
<UnitPrice>19</UnitPrice>
<UnitsInStock>17</UnitsInStock>
<UnitsOnOrder>40<UnitsOnOrder>
<ReorderLevel>25</ReorderLevel>
<Discontinued>false</Discontinued>
</products>
<suppliers>
<SupplierID>1</SupplierID>
<CompanyName>Exotiс Liquids</CompanyName>
<ContactName>Charlotte Cooper</ContactName>
<ContactTitle>Purchasing Manager</ContactTitle>
<Address>49 Gilbert St.</Address>
<City>London</City>
<PostalCode>EC1 4SD</PostalCode>
<Country>UK</Country>
<Phone>(171) 555-2222</Phone>
</suppliers>
<suppliers>
<Supplier ID>2</SupplierID>
<CompanyName>New Orleans Cajun Delights</CompanyName>
<ContactName>Shelley Burke</ContactName>
<ContactTitle>Order Adminisirator</ContactTitle>
<Address>P.O. Box 78934</Address>
<City>New Orleans</City>
<Region>LA</Region>
<PostalCode>70117</PostalCode>
<Country>USA</Country>
<Phone>(100) 555-4822</Phone>
<HomePage>#CAJUN.HTM#</HomePage>
</suppliers>
</XMLProducts>
Эта схема включает в себя обе таблицы данных DataTables
, которые находились в DataSet
. Данные также содержат все данные из обеих таблиц. Несколько продуктов и поставщиков были удалены из окончательного файла, чтобы сэкономить пространство. Как и раньше, можно сохранить только схему или только данные, передавая соответствующий параметр XmlWriteMode
.