<?xml version="1.0"?>
<!--TabsML Schema Version 1.1 24 June 2001-->
<!-- This schema is formulated using Microsofts XML-Data proposal -->
<Schema name="TabsML" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
	<!-- 
  *******************************************
  *******************************************
  1 The table definition
  *******************************************
  *******************************************
-->
	<ElementType name="Tables" content="eltOnly" model="closed">
		<AttributeType name="xmlns" dt:type="string"/>
		<attribute type="xmlns"/>
		<element type="Table" minOccurs="0" maxOccurs="*"/>
	</ElementType>
	<ElementType name="Table" content="eltOnly" model="closed">
		<element type="MetaData"/>
		<element type="Borders"/>
		<element type="Format"/>
		<element type="Body"/>
	</ElementType>
	<!-- 
  *******************************************
  *******************************************
  1.1 The Metadata (info about the table)
  *******************************************
  *******************************************
-->
	<ElementType name="MetaData" content="eltOnly" model="closed">
		<element type="TableID"/>
		<element type="TableDate" minOccurs="0"/>
		<element type="TableTitle" minOccurs="0"/>
		<element type="TableSource" minOccurs="0"/>
		<element type="TableOrientation" minOccurs="0"/>
		<element type="TableStyle" minOccurs="0"/>
	</ElementType>
	<ElementType name="TableID" content="textOnly" model="closed"/>
	<ElementType name="TableDate" content="textOnly" model="closed"/>
	<ElementType name="TableTitle" content="textOnly" model="closed"/>
	<ElementType name="TableSource" content="textOnly" model="closed"/>
	<ElementType name="TableOrientation" content="textOnly" model="closed"/>
	<ElementType name="TableStyle" content="eltOnly" model="closed">
		<element type="StyleName"/>
		<element type="StyleSource"/>
	</ElementType>
	<ElementType name="StyleName" content="textOnly" model="closed"/>
	<ElementType name="StyleSource" content="textOnly" model="closed"/>
	<!-- 
  *******************************************
  *******************************************
  1.2 The Borders (Header and Footer)
  *******************************************
  *******************************************
-->
	<ElementType name="Borders" content="eltOnly" model="closed">
		<element type="BorderLine" minOccurs="0" maxOccurs="*"/>
	</ElementType>
	<AttributeType name="Col" dt:type="int" required="yes"/>
	<AttributeType name="Row" dt:type="int" required="yes"/>
	<ElementType name="BorderLine" content="eltOnly" model="closed">
		<element type="Location"/>
		<!-- "Header" "Footer"-->
		<element type="Type"/>
		<!-- "Page" "Table"-->
		<element type="LineIndex"/>
		<element type="LineStatus"/>
		<!-- Any special markers for the line -->
		<element type="LeftText" minOccurs="0"/>
		<element type="CentreText" minOccurs="0"/>
		<element type="RightText" minOccurs="0"/>
	</ElementType>
	<ElementType name="Location" content="textOnly" model="closed"/>
	<ElementType name="Type" content="textOnly" model="closed"/>
	<ElementType name="LineIndex" content="textOnly" dt:type="int" model="closed"/>
	<ElementType name="LineStatus" content="textOnly" model="closed"/>
	<ElementType name="LeftText" content="textOnly" model="closed"/>
	<ElementType name="CentreText" content="textOnly" model="closed"/>
	<ElementType name="RightText" content="textOnly" model="closed"/>
	<!-- 
  *******************************************
  *******************************************
  1.3 Formatting instructions
  *******************************************
  *******************************************
-->
	<ElementType name="Format" content="eltOnly" model="closed">
		<element type="TableWidth"/>
		<element type="ColWidths" minOccurs="0"/>
	</ElementType>
	<ElementType name="TableWidth" content="textOnly" dt:type="int" model="closed"/>
	<ElementType name="ColWidths" content="eltOnly" model="closed">
		<element type="ColWidth" maxOccurs="*"/>
	</ElementType>
	<ElementType name="ColWidth" content="textOnly" dt:type="int" model="closed">
		<attribute type="Col"/>
	</ElementType>
	<!-- 	
  *******************************************
  *******************************************
  1.4 The Body of the table (Rows, Columns and Data)
  *******************************************
  *******************************************
-->
	<ElementType name="Body" content="eltOnly" model="closed">
		<element type="Rows"/>
		<element type="Cols"/>
		<element type="Data"/>
	</ElementType>
	<!-- 
  *******************************************
  *******************************************
  1.3.1 The Row information
  *******************************************
  *******************************************
-->
	<ElementType name="Rows" content="eltOnly" model="closed">
		<element type="TotalRowCount"/>
		<element type="RowGroup" maxOccurs="*"/>
	</ElementType>
	<ElementType name="TotalRowCount" content="textOnly" dt:type="int" model="closed"/>
	<ElementType name="RowGroup" content="eltOnly" model="closed">
		<element type="RowCount"/>
		<element type="RowGroupText" minOccurs="0"/>
		<group minOccurs="0" maxOccurs="*" order="one">
			<!-- Either got a RowGroup here (recursion) or a Row -->
			<element type="RowGroup" maxOccurs="*"/>
			<element type="Row" maxOccurs="*"/>
		</group>
		<element type="Break" minOccurs="0" maxOccurs="*"/>
	</ElementType>
	<ElementType name="RowCount" content="textOnly" dt:type="int" model="closed"/>
	<ElementType name="RowGroupText" content="textOnly" model="closed"/>
	<ElementType name="Row" content="eltOnly" model="closed">
		<element type="RowIndex"/>
		<element type="DataType" minOccurs="0"/>
		<element type="RowText" minOccurs="0"/>
		<element type="Hidden" minOccurs="0"/>
	</ElementType>
	<ElementType name="RowIndex" content="textOnly" dt:type="int" model="closed"/>
	<ElementType name="RowText" content="textOnly" model="closed"/>
	<ElementType name="Hidden" content="textOnly" dt:type="boolean" model="closed"/>
	<ElementType name="Break" content="empty" model="closed"/>
	<!-- 
  *******************************************
  *******************************************
  1.3.2 The Column information
  *******************************************
  *******************************************
-->
	<ElementType name="Cols" content="eltOnly" model="closed">
		<element type="TotalColCount"/>
		<element type="ColGroup" maxOccurs="*"/>
	</ElementType>
	<ElementType name="TotalColCount" content="textOnly" dt:type="int" model="closed"/>
	<ElementType name="ColGroup" content="eltOnly" model="closed">
		<element type="ColCount"/>
		<element type="ColGroupText" minOccurs="0"/>
		<group minOccurs="0" maxOccurs="*" order="one">
			<!-- Either got a ColGroup here (recursion) or a Col -->
			<element type="ColGroup" maxOccurs="*"/>
			<element type="Col" maxOccurs="*"/>
		</group>
		<element type="Break" minOccurs="0" maxOccurs="*"/>
	</ElementType>
	<ElementType name="ColCount" content="textOnly" dt:type="int" model="closed"/>
	<ElementType name="ColGroupText" content="textOnly" model="closed"/>
	<ElementType name="Col" content="eltOnly" model="closed">
		<element type="ColIndex"/>
		<element type="DataType" minOccurs="0"/>
		<element type="ColText"/>
		<element type="Hidden" minOccurs="0"/>
	</ElementType>
	<ElementType name="ColIndex" content="textOnly" dt:type="int" model="closed"/>
	<ElementType name="ColText" content="textOnly" model="closed"/>
	<!-- 
  *******************************************
  *******************************************
  1.3.3 The actual Data
  *******************************************
  *******************************************
-->
	<ElementType name="Data" content="eltOnly" model="closed">
		<element type="DataPoint" maxOccurs="*"/>
	</ElementType>
	<AttributeType name="DataID" dt:type="int" required="yes"/>
	<!-- ***** NB Type ID ***** -->
	<ElementType name="RowReference" content="textOnly" dt:type="int" model="closed"/>
	<ElementType name="DataPoint" content="eltOnly" model="closed">
		<attribute type="DataID"/>
		<!-- Unique ID identifying this data point in the table -->
		<attribute type="Col"/>
		<attribute type="Row"/>
		<element type="DataType" minOccurs="0"/>
		<group order="one">
			<!-- Has to be one or the other of Value/Formula -->
			<element type="DataValue"/>
			<element type="DataFormula"/>
		</group>
		<element type="Significance" minOccurs="0" maxOccurs="*"/>
		<element type="DataDesc" minOccurs="0"/>
	</ElementType>
	<ElementType name="DataType" content="textOnly" model="closed"/>
	<ElementType name="DataValue" content="textOnly" dt:type="float" model="closed"/>
	<ElementType name="DataFormula" content="textOnly" model="closed"/>
	<ElementType name="Significance" content="eltOnly" model="closed">
		<element type="SigDataID"/>
		<!-- Which data item to be compared -->
		<element type="SigText" minOccurs="0"/>
		<!-- Describe the significance -->
		<element type="SigLetter" minOccurs="0"/>
		<!-- Letter referenced ?in table footer -->
	</ElementType>
	<ElementType name="DataDesc" content="textOnly" model="closed"/>
	<ElementType name="SigDataID" content="textOnly" dt:type="int" model="closed"/>
	<ElementType name="SigText" content="textOnly" model="closed"/>
	<ElementType name="SigLetter" content="textOnly" model="closed"/>
</Schema>

