<!--
 -  
 -  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
 -  project.
 -  
 -  Copyright (C) 1998-2006 OpenLink Software
 -  
 -  This project is free software; you can redistribute it and/or modify it
 -  under the terms of the GNU General Public License as published by the
 -  Free Software Foundation; only version 2 of the License, dated June 1991.
 -  
 -  This program is distributed in the hope that it will be useful, but
 -  WITHOUT ANY WARRANTY; without even the implied warranty of
 -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 -  General Public License for more details.
 -  
 -  You should have received a copy of the GNU General Public License along
 -  with this program; if not, write to the Free Software Foundation, Inc.,
 -  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 -  
 -  
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
  <!--targetNamespace="http://www.openlinksw.com/demo"-->

<xsd:annotation>
  <xsd:appinfo>
    <sql:relationship name="CustOrders"
        parent="Demo.demo.Customers"
        parent-key="CustomerID"
        child="Demo.demo.Orders"
        child-key="CustomerID" />

    <sql:relationship name="OrderOrderDetail"
        parent="Demo.demo.Orders"
        parent-key="OrderID"
        child="Demo.demo.Order_Details"
        child-key="OrderID" />

    <sql:relationship name="OrderDetailProducts"
        parent="Demo.demo.Order_Details"
        parent-key="ProductID"
        child="Demo.demo.Products"
        child-key="ProductID" />

    <sql:relationship name="ProductsCategories"
        parent="Demo.demo.Products"
        parent-key="CategoryID"
        child="Demo.demo.Categories"
        child-key="CategoryID" />
  </xsd:appinfo>
</xsd:annotation>


      <xsd:element name="Customer" sql:relation="Demo.demo.Customers" maxOccurs="unbounded" minOccurs="0">
	<xsd:complexType>
	  <xsd:sequence>
	    <xsd:element name="Order" sql:relation="Demo.demo.Orders" sql:relationship="CustOrders" maxOccurs="unbounded">
	      <xsd:complexType>
		<xsd:sequence>
		  <xsd:element name="Item" sql:relation="Demo.demo.Order_Details" sql:relationship="OrderOrderDetail"
		    maxOccurs="unbounded">
		    <xsd:complexType>
		      <xsd:attribute name="ProductID" type="xsd:integer" />
		      <xsd:attribute name="CategoryName" type="xsd:string"
			sql:relation="Demo.demo.Categories" sql:field="CategoryName" sql:relationship="ProductsCategories"/>
		      <xsd:attribute name="UnitPrice" type="xsd:double" />
		      <xsd:attribute name="Quantity" type="xsd:integer" />
		      <xsd:attribute name="Discount" type="xsd:float" />
		    </xsd:complexType>
		  </xsd:element>
		</xsd:sequence>
		<xsd:attribute name="OrderID" type="xsd:integer" />
		<xsd:attribute name="OrderDate" type="xsd:dateTime" />
		<xsd:attribute name="ShippedDate" type="xsd:dateTime" />
	      </xsd:complexType>
	    </xsd:element>
	  </xsd:sequence>
	  <xsd:attribute name="CustomerID" type="xsd:string" />
	  <xsd:attribute name="CompanyName" type="xsd:string" />
	  <xsd:attribute name="ContactName" type="xsd:string" />
	</xsd:complexType>
      </xsd:element>
</xsd:schema>

