<?xml version="1.0" encoding="utf-8" ?>
<xs:schema version="1.1.0" targetNamespace="urn:schemas-microsoft-com:xml-msdata" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns="urn:schemas-microsoft-com:xml-msdata" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	
	<xs:attribute name="AcceptRejectRule" type="xs:string" default="none">
		<xs:annotation>
			<xs:documentation>
				Used to determine the value for property Constraint.AcceptRejectRule. 
				This attribute can be used in &lt;xs:keyref&gt;
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:element name="Relationship">
		<xs:complexType>
			<xs:sequence />
			<xs:attribute name="RelationName" type="xs:string">
				<xs:annotation>
					<xs:documentation>
					   Name of Relation.
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="parent" type="xs:string">
				<xs:annotation>
					<xs:documentation>
						Identifies the parent table by name
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="child" type="xs:string">
				<xs:annotation>
					<xs:documentation>
						Identifies the child table by name
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="parentKey" type="xs:string">
				<xs:annotation>
					<xs:documentation>
						Identifies the parent columns by a "+" seperated list
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="childKey" type="xs:string">
				<xs:annotation>
					<xs:documentation>
						Identifies the child columns by a "+" seperated list
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>

	<xs:attribute name="ColumnName" type="xs:string">
		<xs:annotation>
			<xs:documentation>
				can  be used to specify value for DataColumn's columnName property
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>

	
	<xs:attribute name="ConstraintName" type="xs:string">
		<xs:annotation>
			<xs:documentation>
				Used to determine the name of the constraint. 
				Can be used in &lt;xs:unique&gt;, &lt;xs:key&gt; and &lt;xs:keyref&gt;
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="ConstraintOnly" type="xs:boolean">
		<xs:annotation>
			<xs:documentation>
				Can be used in &lt;xs:keyref&gt;, to specify that only a constraint is being declared,
				a relationship should not be created.
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>

	<xs:attribute name="CaseSensitive" type="xs:boolean" default="false">
		<xs:annotation>
			<xs:documentation>
				This can be used in any element associated with a DataSet or a DataTable, to 
				specify case sensitivity.
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="DeleteRule" type="xs:string" default="cascade">
		<xs:annotation>
			<xs:documentation>
				Used to determine the value for property Constraint.DeleteRule. Used in &lt;xs:keyref&gt;
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	
	
	<xs:attribute name="Error" type="xs:string">
		<xs:annotation>
			<xs:documentation>
				Used in Diffgram to indicate error associated with a row or a column.
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="IsDataSet" type="xs:boolean" default="false">
		<xs:annotation>
			<xs:documentation>
				Identifies if this element is a DataSet element
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="IsNested" type="xs:boolean" default="false">
		<xs:annotation>
			<xs:documentation>
				Used in &lt;xs:keyref&gt; or &lt;msdata:RelationShip&gt; to specify nested relationship
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="Locale" type="xs:string" default="en-us">
		<xs:annotation>
			<xs:documentation>
				Used to determine value for property DataSet.Locale. Can be used in
				elements associated with Dataset or DataTable.
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	
	<xs:attribute name="Ordinal" type="xs:integer">
		<xs:annotation>
			<xs:documentation>
				Can be used for ordering of attributes in DataTable.
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="UpdateRule" type="xs:string" default="cascade">
		<xs:annotation>
			<xs:documentation>
				Used to determine the value for property Constraint.UpdateRule
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	
	
	<xs:attribute name="rowOrder" type="xs:integer">
		<xs:annotation>
			<xs:documentation>
				Tracks the ordinal position of the row in the DataSet, used in diffgram
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="hiddenColumn" type="xs:boolean">
		<xs:annotation>
			<xs:documentation>
				Identifies columns marked as hidden msdata:hiddenColumn, used in diffgram
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="EnforceConstraints" type="xs:boolean">
		<xs:annotation>
			<xs:documentation>
				Used in element associaetd with DataSet
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	
	<xs:attribute name="Prefix" type="xs:string" default="">
		<xs:annotation>
			<xs:documentation>
				Used to determine value for Prefix for Dataset, DataTable and DataColumn
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	
	<xs:attribute name="AutoIncrementSeed" type="xs:long">
		<xs:annotation>
			<xs:documentation>
				Used to determine value for property DataColumn.AutoIncrementSeed. Used in DataColumn
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="AutoIncrement" type="xs:boolean" default="false">
		<xs:annotation>
			<xs:documentation>
				Used to determine value for property DataColumn.AutoIncrement. Used in DataColumn
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="AutoIncrementStep" type="xs:long" default="1">
		<xs:annotation>
			<xs:documentation>
				Used to determine value for property DataColumn.AutoIncrementStep. Used in DataColumn
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="Caption" type="xs:string">
		<xs:annotation>
			<xs:documentation>
				Used to determine value for property DataColumn.Caption. Used in DataColumn
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="ReadOnly" type="xs:boolean" default="false">
		<xs:annotation>
			<xs:documentation>
				Used to determine value for property DataColumn.ReadOnly. Used in DataColumn
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	
	<xs:attribute name="Sparse" type="xs:boolean" default="false">
		<xs:annotation>
			<xs:documentation>
				Used to determine value for property DataColumn.Sparse. 
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>

	<xs:attribute name="AllowDBNull" type="xs:boolean" default="true">
		<xs:annotation>
			<xs:documentation>
				If true, hiddenColumn value can be set to null.
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="DataType" type="xs:string">
		<xs:annotation>
			<xs:documentation>
				Used for specifying URT datatype associated with the attribute/element
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:attribute name="DefaultValue" type="xs:string">
		<xs:annotation>
			<xs:documentation>
				Used for specifying default value for hiddenColumns.
			</xs:documentation>
		</xs:annotation>
	</xs:attribute>
</xs:schema>
