<?xml version="1.0"?>
<Schema name="cml_dev_docml" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
<description>
Experimental document schema - Version 0.20 - 27/8/00

This schema is intended for use with CML, SVG and XHTML

XML documents can be validated against this schema by adding xmlns:docml="x-schema:URL"
within the docml:document element.

Michael Wright

Comments to me - karne@innocent.com
</description>

<!-- ****************************************************************** -->
<!-- ************************** Attribute Types *********************** -->
<!-- ****************************************************************** -->

<!-- ********************************* -->
<!-- *********** specials ************ -->
<!-- ********************************* -->
<AttributeType name="type" required="no" dt:type="enumeration" dt:values="
	authors		institutions keyWords	keyPhrases
	
	creation	publication revision	ref			submission	acceptance
	
	first		family
	
	figure		scheme		table
	
	first		last
	
	coloured	white			
	
	molecule	reaction	spectrum	crystal		chimeral
	label		external	ref			code		glos		
	"/>
<!-- type of  lists, names, dates, pages, labels, boxes or links -->
<AttributeType name="display" required="no" dt:type="enumeration" dt:values="
	datasheet 	molRaw 		xyzRaw 		jmeRaw 		jme 	
	jmol 		jspec 		marvin 		sda 		jcampRaw 
	chooser 	cgi			stepwise 	linear 		cycle.4
	svg			hide		image		molFile		pre
	jmeSimple	inline
	"/>
<!-- used to indicate the applet/display method to use -->

<!-- ********************************* -->
<!-- ******* general formating ******* -->
<!-- ********************************* -->
<AttributeType name="title" required="no"/>
<AttributeType name="height" required="no"/>
<AttributeType name="width" required="no"/>
<AttributeType name="rows" required="no"/>
<AttributeType name="cols" required="no"/>
<AttributeType name="alt" required="no"/>
<!-- alt text -->
<AttributeType name="altWeb" required="no"/>
<!-- alt image for web display (gif,jpg,png) -->
<AttributeType name="altPrint" required="no"/>
<!-- alt image for web printing (tif) -->
<AttributeType name="index" required="no"/>
<!-- index forces the display of an index number, 0 forces only display, number is calculated -->

<!-- ********************************* -->
<!-- ************ linkers ************ -->
<!-- ********************************* -->
<AttributeType name="id" required="no" dt:type="id"/>			
<!-- *must* be an unique id -->
<AttributeType name="idref" required="no" dt:type="idrefs"/>
<!-- internal ref to id -->
<AttributeType name="email" required="no"/>
<AttributeType name="href" required="no"/>
<!-- normally homepages or links to files -->

<!-- ****************************************************************** -->
<!-- ************************ Element Types *************************** -->
<!-- ****************************************************************** -->

<!-- ********************************* -->
<!-- ********* data holders ********** -->
<!-- ********************************* -->

<ElementType name="name" content="textOnly" model="closed">
	<attribute type="id"/>
	<attribute type="type"/>
</ElementType>

<ElementType name="title" content="mixed" model="open">
	<attribute type="id"/>
</ElementType>
<!-- may contain xhtml -->

<ElementType name="abstract" content="mixed" model="open">
	<attribute type="id"/>
</ElementType>
<!-- may contain xhtml -->

<ElementType name="day" content="textOnly" model="closed">
	<attribute type="id"/>
	<attribute type="type"/>
</ElementType>
<!-- use number -->

<ElementType name="month" content="textOnly" model="closed">
	<attribute type="id"/>
	<attribute type="type"/>
</ElementType>
<!-- use number not name!-->

<ElementType name="year" content="textOnly" model="closed">
	<attribute type="id"/>
	<attribute type="type"/>
</ElementType>
<!-- use full year number -->

<ElementType name="date" content="mixed" model="closed">
	<attribute type="id"/>
	<attribute type="type"/>
	<element type="day" minOccurs="0" maxOccurs="*"/>
	<element type="month" minOccurs="0" maxOccurs="*"/>
	<element type="year" minOccurs="0" maxOccurs="*"/>
</ElementType>
	
<ElementType name="author" content="mixed" model="closed">
	<attribute type="id"/>
	<attribute type="idref"/>
	<attribute type="email"/>
	<attribute type="href"/>
	<element type="name" minOccurs="0" maxOccurs="*"/>
</ElementType>
<!-- idref used to link to institutions -->

<ElementType name="institution" content="textOnly" model="closed">
	<attribute type="id"/>
	<attribute type="email"/>
	<attribute type="href"/>
</ElementType>

<ElementType name="publication" content="textOnly" model="closed">
	<attribute type="id"/>
</ElementType>

<ElementType name="volume" content="textOnly" model="closed">
	<attribute type="id"/>
</ElementType>

<ElementType name="number" content="textOnly" model="closed">
	<attribute type="id"/>
</ElementType>

<ElementType name="ISnumber" content="textOnly" model="closed">
	<attribute type="id"/>
</ElementType>

<ElementType name="page" content="textOnly" model="closed">
	<attribute type="id"/>
	<attribute type="type"/>
</ElementType>

<ElementType name="keyword" content="textOnly" model="closed">
	<attribute type="id"/>
</ElementType>

<ElementType name="keyphrase" content="textOnly" model="closed">
	<attribute type="id"/>
</ElementType>

<ElementType name="index" content="textOnly" model="closed" dt:type="fixed.14.4">
</ElementType>
<!-- annoyingly IE doesn't yet allow integer as an attribute, hence problems occur. Use karne:index when in refs -->

<!-- ********************************* -->
<!-- ************ linkers ************ -->
<!-- ********************************* -->
<ElementType name="link" content="textOnly" model="closed" order="many">
	<attribute type="id"/>
	<attribute type="idref"/>
	<attribute type="title"/>
	<attribute type="index"/>
	<attribute type="type"/>
	<attribute type="display"/>
	<attribute type="href"/>
	<attribute type="alt"/>
	<attribute type="altWeb"/>
	<attribute type="altPrint"/>
	<attribute type="height"/>
	<attribute type="width"/>
	<attribute type="rows"/>
	<attribute type="cols"/>
</ElementType>

<!-- ********************************* -->
<!-- *** formatting and non display ** -->
<!-- ********************************* -->
<ElementType name="comment" content="textOnly" model="closed">
	<attribute type="id"/>
</ElementType>

<ElementType name="lt" content="empty" model="closed">
<!-- element - use to escape < -->
</ElementType>

<ElementType name="gt" content="empty" model="closed">
<!-- element - use to escape > -->
</ElementType>

<ElementType name="break" content="empty" model="closed">
<!-- tell a print parser to line break -->
</ElementType>

<!-- ********************************* -->
<!-- ********** structural *********** -->
<!-- ********************************* -->
<ElementType name="list" content="eltOnly" model="open">
	<attribute type="id"/>
	<attribute type="type"/>
	<element type="author" minOccurs="0" maxOccurs="*"/>
	<element type="institution" minOccurs="0" maxOccurs="*"/>
	<element type="keyword" minOccurs="0" maxOccurs="*"/>
	<element type="keyphrase" minOccurs="0" maxOccurs="*"/>
</ElementType>

<ElementType name="ref" content="mixed" model="closed">
	<attribute type="id"/>
	<attribute type="href"/>
	<element type="title" minOccurs="0" maxOccurs="*"/>
	<element type="index" minOccurs="0" maxOccurs="*"/>
	<!-- for the time being must use karne:index not @index -->
	<element type="abstract" minOccurs="0" maxOccurs="*"/>
	<element type="list" minOccurs="0" maxOccurs="*"/>
	<!-- normally authors - maybe keywords, kerphrases -->
	<element type="author" minOccurs="0" maxOccurs="*"/>
	<element type="publication" minOccurs="0" maxOccurs="*"/>
	<element type="volume" minOccurs="0" maxOccurs="*"/>
	<element type="number" minOccurs="0" maxOccurs="*"/>
	<element type="page" minOccurs="0" maxOccurs="*"/>
	<element type="date" minOccurs="0" maxOccurs="*"/>
	<element type="year" minOccurs="0" maxOccurs="*"/>
	<element type="ISnumber" minOccurs="0" maxOccurs="*"/>
	<element type="institution" minOccurs="0" maxOccurs="*"/>
	<element type="comment" minOccurs="0" maxOccurs="*"/>
</ElementType>
<!-- may include xhtml -->

<ElementType name="label" content="mixed" model="open">
	<attribute type="id"/>
	<attribute type="type"/>
	<attribute type="index"/>
</ElementType>
<!-- label types are figure, scheme and table -->
<!-- may include xhtml -->

<ElementType name="metadata" content="eltOnly" model="closed">
	<attribute type="id"/>
	<element type="date" minOccurs="0" maxOccurs="*"/>
	<element type="list" minOccurs="0" maxOccurs="*"/>
</ElementType>

<ElementType name="subsection" content="mixed" model="open">
	<attribute type="id"/>
	<attribute type="title"/>
	<attribute type="index"/>
	<element type="label" minOccurs="0" maxOccurs="*"/>
	<element type="box" minOccurs="0" maxOccurs="*"/>
</ElementType>
<!-- will contain xhtml -->

<ElementType name="chapter" content="mixed" model="open">
	<attribute type="id"/>
	<attribute type="title"/>
	<attribute type="index"/>
	<element type="subsection" minOccurs="0" maxOccurs="*"/>
	<element type="label" minOccurs="0" maxOccurs="*"/>
	<element type="box" minOccurs="0" maxOccurs="*"/>
</ElementType>
<!-- will contain xhtml -->

<ElementType name="appendix" content="mixed" model="open">
	<attribute type="id"/>
	<attribute type="title"/>
	<attribute type="index"/>
	<element type="label" minOccurs="0" maxOccurs="*"/>
	<element type="box" minOccurs="0" maxOccurs="*"/>
</ElementType>
<!-- will contain xhtml -->

<ElementType name="bibliography" content="mixed" model="open">
	<attribute type="id"/>
	<attribute type="title"/>
	<element type="ref" minOccurs="0" maxOccurs="*"/>
</ElementType>
<!-- may contain xhtml -->

<ElementType name="code" content="mixed" model="open">
	<attribute type="id"/>
	<attribute type="title"/>
	<attribute type="display"/>
</ElementType>
<!-- allows escaping of code blocks - will contain xhtml -->
<!-- use @display="hide" to prevent code,cml,svg from being shown directly -->

<ElementType name="box" content="eltOnly" model="open">
	<attribute type="id"/>
	<attribute type="type"/>
	<attribute type="rows"/>
	<attribute type="cols"/>
	<element type="label" minOccurs="0" maxOccurs="*"/>
	<element type="link" minOccurs="0" maxOccurs="*"/>
	<element type="code" minOccurs="0" maxOccurs="*"/>
<!-- simple holder for figures etc. - presently type="coloured/white" and rows="1/2/3" cols="1/2"-->
</ElementType>

<!-- ** root ** -->
<ElementType name="document" content="eltOnly" model="open" order="many">
	<attribute type="id"/>
	<attribute type="title" default="document"/>
	<element type="metadata" minOccurs="0" maxOccurs="*"/>
	<element type="abstract" minOccurs="0" maxOccurs="*"/>
	<element type="chapter" minOccurs="0" maxOccurs="*"/>
	<element type="appendix" minOccurs="0" maxOccurs="*"/>
	<element type="bibliography" minOccurs="0" maxOccurs="*"/>
	<element type="code" minOccurs="0" maxOccurs="*"/>
</ElementType>
<!-- will contain xhtml, cml, svg etc. etc. -->

</Schema>

