<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XMLSPY v5 rel. 4 U (http://www.xmlspy.com)-->
<xs:schema targetNamespace="http://cnx.rice.edu/cnxml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://cnx.rice.edu/mdml/0.4" schemaLocation="http://cnx.rice.edu/technology/cnxml/schema/xsd/0.5/mdml.xsd"/>
	<xs:import namespace="http://www.w3.org/1998/Math/MathML" schemaLocation="http://cnx.rice.edu/technology/mathml/schema/xsd/2.0/mathml2.xsd"/>
	<xs:import namespace="http://bibtexml.sf.net/" schemaLocation="http://cnx.rice.edu/technology/bibtexml/schema/xsd/1.0/bibteXML.xsd"/>
	<xs:element name="caption">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<xs:element name="cite">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
			</xs:choice>
			<xs:attribute name="src" type="xs:string"/>
			<xs:attribute name="id"  type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="cnxn">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="target" type="xs:string"/>
					<xs:attribute name="document" type="xs:string"/>
					<xs:attribute name="version" type="xs:string"/>
					<xs:attribute name="strength">
						<xs:simpleType>
							<xs:restriction base="xs:NMTOKEN">
								<xs:enumeration value="0"/>
								<xs:enumeration value="1"/>
								<xs:enumeration value="2"/>
								<xs:enumeration value="3"/>
								<xs:enumeration value="4"/>
								<xs:enumeration value="5"/>
								<xs:enumeration value="6"/>
								<xs:enumeration value="7"/>
								<xs:enumeration value="8"/>
								<xs:enumeration value="9"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
					<xs:attribute name="id" type="xs:ID"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="code">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="type" default="inline">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="inline"/>
						<xs:enumeration value="block"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="colspec">
		<xs:complexType>
			<xs:attribute name="colnum" type="xs:string"/>
			<xs:attribute name="colname" type="xs:string"/>
			<xs:attribute name="colwidth" type="xs:string"/>
			<xs:attribute name="colsep" type="xs:string"/>
			<xs:attribute name="rowsep" type="xs:string"/>
			<xs:attribute name="align">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="left"/>
						<xs:enumeration value="right"/>
						<xs:enumeration value="center"/>
						<xs:enumeration value="justify"/>
						<xs:enumeration value="char"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="char" type="xs:string"/>
			<xs:attribute name="charoff" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="content">
		<xs:complexType>
			<xs:choice maxOccurs="unbounded">
				<xs:element ref="section"/>
				<xs:element ref="example"/>
				<xs:element ref="code"/>
				<xs:element ref="definition"/>
				<xs:element ref="rule"/>
				<xs:element ref="figure"/>
				<xs:element ref="media"/>
				<xs:element ref="table"/>
				<xs:element ref="list"/>
				<xs:element ref="exercise"/>
				<xs:element ref="equation"/>
				<xs:element ref="note"/>
				<xs:element ref="para"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="definition">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="term"/>
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="meaning"/>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="example"/>
					</xs:choice>
					<xs:choice minOccurs="0">
						<xs:element ref="seealso"/>
					</xs:choice>
				</xs:sequence>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="document">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="name"/>
				<xs:element ref="metadata" minOccurs="0"/>
				<xs:element ref="content"/>
				<xs:element ref="glossary" minOccurs="0"/>
				<xs:element ref="bib:file" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="emphasis">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="entry">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="media"/>
			</xs:choice>
			<xs:attribute name="colname" type="xs:string"/>
			<xs:attribute name="namest" type="xs:string"/>
			<xs:attribute name="nameend" type="xs:string"/>
			<xs:attribute name="spanname" type="xs:string"/>
			<xs:attribute name="morerows" type="xs:string"/>
			<xs:attribute name="colsep" type="xs:string"/>
			<xs:attribute name="rowsep" type="xs:string"/>
			<xs:attribute name="align">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="left"/>
						<xs:enumeration value="right"/>
						<xs:enumeration value="center"/>
						<xs:enumeration value="justify"/>
						<xs:enumeration value="char"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="char" type="xs:string"/>
			<xs:attribute name="charoff" type="xs:string"/>
			<xs:attribute name="rotate" type="xs:string"/>
			<xs:attribute name="valign">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="top"/>
						<xs:enumeration value="middle"/>
						<xs:enumeration value="bottom"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="entrytbl">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="colspec" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="spanspec" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="thead" minOccurs="0"/>
				<xs:element ref="tbody"/>
			</xs:sequence>
			<xs:attribute name="cols" type="xs:string" use="required"/>
			<xs:attribute name="tgroupstyle" type="xs:string"/>
			<xs:attribute name="colname" type="xs:string"/>
			<xs:attribute name="spanname" type="xs:string"/>
			<xs:attribute name="namest" type="xs:string"/>
			<xs:attribute name="nameend" type="xs:string"/>
			<xs:attribute name="colsep" type="xs:string"/>
			<xs:attribute name="rowsep" type="xs:string"/>
			<xs:attribute name="align">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="left"/>
						<xs:enumeration value="right"/>
						<xs:enumeration value="center"/>
						<xs:enumeration value="justify"/>
						<xs:enumeration value="char"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="char" type="xs:string"/>
			<xs:attribute name="charoff" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="equation">
		<xs:complexType>
			<xs:sequence>
				<xs:choice minOccurs="0">
					<xs:element ref="name"/>
				</xs:choice>
				<xs:element ref="m:math"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="example">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="name" minOccurs="0"/>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="section"/>
					<xs:element ref="example"/>
					<xs:element ref="definition"/>
					<xs:element ref="rule"/>
					<xs:element ref="figure"/>
					<xs:element ref="media"/>
					<xs:element ref="table"/>
					<xs:element ref="list"/>
					<xs:element ref="exercise"/>
					<xs:element ref="equation"/>
					<xs:element ref="note"/>
					<xs:element ref="para"/>
					<xs:element ref="code"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="exercise">
		<xs:complexType>
			<xs:sequence>
				<xs:choice minOccurs="0">
					<xs:element ref="name"/>
				</xs:choice>
				<xs:element ref="problem"/>
				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="solution"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="figure">
		<xs:complexType>
			<xs:sequence>
				<xs:choice minOccurs="0">
					<xs:element ref="name"/>
				</xs:choice>
				<xs:choice>
					<xs:sequence>
						<xs:element ref="subfigure"/>
						<xs:choice maxOccurs="unbounded">
							<xs:element ref="subfigure"/>
						</xs:choice>
					</xs:sequence>
					<xs:element ref="media"/>
					<xs:element ref="table"/>
					<xs:element ref="code"/>
				</xs:choice>
				<xs:choice minOccurs="0">
					<xs:element ref="caption"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="orient" default="horizontal">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="vertical"/>
						<xs:enumeration value="horizontal"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="foreign">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
			</xs:choice>
			<xs:attribute name="src" type="xs:string"/>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="glossary">
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="definition"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="item">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
				<xs:element ref="definition"/>
				<xs:element ref="rule"/>
				<xs:element ref="figure"/>
				<xs:element ref="media"/>
				<xs:element ref="table"/>
				<xs:element ref="list"/>
				<xs:element ref="exercise"/>
				<xs:element ref="equation"/>
				<xs:element ref="note"/>
				<xs:element ref="name"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="link">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
			</xs:choice>
			<xs:attribute name="src" type="xs:string" use="required"/>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="list">
		<xs:complexType>
			<xs:sequence>
				<xs:choice minOccurs="0">
					<xs:element ref="name"/>
				</xs:choice>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="item"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID" use="required"/>
			<xs:attribute name="type" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="meaning">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
				<xs:element ref="definition"/>
				<xs:element ref="rule"/>
				<xs:element ref="figure"/>
				<xs:element ref="media"/>
				<xs:element ref="table"/>
				<xs:element ref="list"/>
				<xs:element ref="exercise"/>
				<xs:element ref="equation"/>
				<xs:element ref="note"/>
				<xs:element ref="name"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="media">
		<xs:complexType mixed="true">
			<xs:sequence>
				<xs:element ref="param" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="media" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="type" type="xs:string" use="required"/>
			<xs:attribute name="src" type="xs:string" use="required"/>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="metadata">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="md:version"/>
				<xs:element ref="md:created"/>
				<xs:element ref="md:revised"/>
				<xs:element ref="md:authorlist"/>
				<xs:element ref="md:maintainerlist"/>
				<xs:choice minOccurs="0">
					<xs:element ref="md:keywordlist"/>
				</xs:choice>
				<xs:element ref="md:abstract"/>
				<xs:choice minOccurs="0">
					<xs:element ref="md:objectives"/>
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="name">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="id" type="xs:ID"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="note">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
			</xs:choice>
			<xs:attribute name="type" type="xs:string"/>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="para">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
				<xs:element ref="definition"/>
				<xs:element ref="rule"/>
				<xs:element ref="figure"/>
				<xs:element ref="media"/>
				<xs:element ref="table"/>
				<xs:element ref="list"/>
				<xs:element ref="exercise"/>
				<xs:element ref="equation"/>
				<xs:element ref="note"/>
				<xs:element ref="name"/>
			</xs:choice>
			<xs:attribute name="id" type="xs:ID" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="param">
		<xs:complexType>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="value" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="problem">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="name" minOccurs="0"/>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="section"/>
					<xs:element ref="example"/>
					<xs:element ref="definition"/>
					<xs:element ref="rule"/>
					<xs:element ref="figure"/>
					<xs:element ref="media"/>
					<xs:element ref="table"/>
					<xs:element ref="list"/>
					<xs:element ref="exercise"/>
					<xs:element ref="equation"/>
					<xs:element ref="note"/>
					<xs:element ref="para"/>
					<xs:element ref="code"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="proof">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="name" minOccurs="0"/>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="section"/>
					<xs:element ref="example"/>
					<xs:element ref="definition"/>
					<xs:element ref="rule"/>
					<xs:element ref="figure"/>
					<xs:element ref="media"/>
					<xs:element ref="table"/>
					<xs:element ref="list"/>
					<xs:element ref="exercise"/>
					<xs:element ref="equation"/>
					<xs:element ref="note"/>
					<xs:element ref="para"/>
					<xs:element ref="code"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="quote">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
			</xs:choice>
			<xs:attribute name="type" type="xs:string" default="inline"/>
			<xs:attribute name="src" type="xs:string"/>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="row">
		<xs:complexType>
			<xs:choice maxOccurs="unbounded">
				<xs:element ref="entry"/>
				<xs:element ref="entrytbl"/>
			</xs:choice>
			<xs:attribute name="rowsep" type="xs:string"/>
			<xs:attribute name="valign">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="top"/>
						<xs:enumeration value="middle"/>
						<xs:enumeration value="bottom"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="rule">
		<xs:complexType>
			<xs:sequence>
				<xs:choice minOccurs="0">
					<xs:element ref="name"/>
				</xs:choice>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="statement"/>
				</xs:choice>
				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="proof"/>
					<xs:element ref="example"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID" use="required"/>
			<xs:attribute name="type" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="section">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="name" minOccurs="0"/>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="section"/>
					<xs:element ref="example"/>
					<xs:element ref="definition"/>
					<xs:element ref="rule"/>
					<xs:element ref="figure"/>
					<xs:element ref="media"/>
					<xs:element ref="table"/>
					<xs:element ref="list"/>
					<xs:element ref="exercise"/>
					<xs:element ref="equation"/>
					<xs:element ref="note"/>
					<xs:element ref="para"/>
					<xs:element ref="code"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="seealso">
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element ref="term"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="solution">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="name" minOccurs="0"/>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="section"/>
					<xs:element ref="example"/>
					<xs:element ref="definition"/>
					<xs:element ref="rule"/>
					<xs:element ref="figure"/>
					<xs:element ref="media"/>
					<xs:element ref="table"/>
					<xs:element ref="list"/>
					<xs:element ref="exercise"/>
					<xs:element ref="equation"/>
					<xs:element ref="note"/>
					<xs:element ref="para"/>
					<xs:element ref="code"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="spanspec">
		<xs:complexType>
			<xs:attribute name="namest" type="xs:string" use="required"/>
			<xs:attribute name="nameend" type="xs:string" use="required"/>
			<xs:attribute name="spanname" type="xs:string" use="required"/>
			<xs:attribute name="colsep" type="xs:string"/>
			<xs:attribute name="rowsep" type="xs:string"/>
			<xs:attribute name="align">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="left"/>
						<xs:enumeration value="right"/>
						<xs:enumeration value="center"/>
						<xs:enumeration value="justify"/>
						<xs:enumeration value="char"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="char" type="xs:string"/>
			<xs:attribute name="charoff" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="statement">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="name" minOccurs="0"/>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="section"/>
					<xs:element ref="example"/>
					<xs:element ref="definition"/>
					<xs:element ref="rule"/>
					<xs:element ref="figure"/>
					<xs:element ref="media"/>
					<xs:element ref="table"/>
					<xs:element ref="list"/>
					<xs:element ref="exercise"/>
					<xs:element ref="equation"/>
					<xs:element ref="note"/>
					<xs:element ref="para"/>
					<xs:element ref="code"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="subfigure">
		<xs:complexType>
			<xs:sequence>
				<xs:choice minOccurs="0">
					<xs:element ref="name"/>
				</xs:choice>
				<xs:choice>
					<xs:element ref="media"/>
					<xs:element ref="table"/>
					<xs:element ref="code"/>
				</xs:choice>
				<xs:choice minOccurs="0">
					<xs:element ref="caption"/>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="table">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="name" minOccurs="0"/>
				<xs:element ref="tgroup" maxOccurs="unbounded"/>
				<!--<xs:element ref="caption" minOccurs="0" maxOccurs="1"/> -->
			</xs:sequence>
			<xs:attribute name="frame">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="top"/>
						<xs:enumeration value="bottom"/>
						<xs:enumeration value="topbot"/>
						<xs:enumeration value="all"/>
						<xs:enumeration value="sides"/>
						<xs:enumeration value="none"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="colsep" type="xs:string"/>
			<xs:attribute name="rowsep" type="xs:string"/>
			<xs:attribute name="id" type="xs:ID" use="required"/>
			<xs:attribute name="tabstyle" type="xs:string"/>
			<xs:attribute name="tocentry" type="xs:string"/>
			<xs:attribute name="shortentry" type="xs:string"/>
			<xs:attribute name="orient">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="port"/>
						<xs:enumeration value="land"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="pgwide" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="tbody">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="row" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="valign">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="top"/>
						<xs:enumeration value="middle"/>
						<xs:enumeration value="bottom"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="term">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="m:math"/>
				<xs:element ref="emphasis"/>
				<xs:element ref="term"/>
				<xs:element ref="cite"/>
				<xs:element ref="cnxn"/>
				<xs:element ref="link"/>
				<xs:element ref="quote"/>
				<xs:element ref="foreign"/>
				<xs:element ref="code"/>
			</xs:choice>
			<xs:attribute name="src" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="tfoot">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="colspec" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="row" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="valign">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="top"/>
						<xs:enumeration value="middle"/>
						<xs:enumeration value="bottom"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="tgroup">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="colspec" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="spanspec" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="thead" minOccurs="0"/>
				<xs:element ref="tfoot" minOccurs="0"/>
				<xs:element ref="tbody"/>
			</xs:sequence>
			<xs:attribute name="cols" type="xs:string" use="required"/>
			<xs:attribute name="tgroupstyle" type="xs:string"/>
			<xs:attribute name="colsep" type="xs:string"/>
			<xs:attribute name="rowsep" type="xs:string"/>
			<xs:attribute name="align">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="left"/>
						<xs:enumeration value="right"/>
						<xs:enumeration value="center"/>
						<xs:enumeration value="justify"/>
						<xs:enumeration value="char"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="char" type="xs:string"/>
			<xs:attribute name="charoff" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="thead">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="colspec" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="row" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="valign">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="top"/>
						<xs:enumeration value="middle"/>
						<xs:enumeration value="bottom"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:notation name="BibTeX" public="-//Oren Patashnik//NOTATION BibTeX Manuals//EN"/>
</xs:schema>
