<schema
xmlns='http://www.w3.org/1999/XMLSchema'
targetNamespace='http://www.w3.org/namespace/'
xmlns:datr='http://www.w3.org/namespace/'>
<description>
XML Schema for DATR XML: VERSION 0.2
Copyright (C) Lee Goddard, 1/6/00 and after. All Rights Reserved.
This Schema is supplied under the GNU PUBLIC LICENSE (www.gnu.org).
There are three levels of inheritence, defined in reverse
in accoradance with MSXML3pr docs.
See the DATR dtd for details: http://www.leegoddard.com/DATR/DTD/
</description>
<element name='DATR'>
<complexType content='elementOnly'>
<element ref='datr:HEADER' minOccurs='0' maxOccurs='1'/>
<element ref='datr:OPENING' minOccurs='0' maxOccurs='1'/>
<element ref='datr:EQUATION' minOccurs='0' maxOccurs='unbounded'/>
<element ref='datr:CLOSING' minOccurs='0' maxOccurs='1'/>
</complexType>
</element>
<element name='COMMENT'>
<complexType content='elementOnly'>
<element ref='datr:NMTOKENS'/>
</complexType>
</element>
<element name='HEADER'>
<complexType content='elementOnly'>
<element ref='datr:META' maxOccurs='unbounded'/>
</complexType>
</element>
<element name='META'>
<complexType content='empty'>
<attribute name='name' type='string' use='required'/>
<attribute name='content' type='string' use='required'/>
</complexType>
</element>
<element name='OPENING'>
<complexType content='elementOnly'>
<choice minOccurs='0' maxOccurs='unbounded'>
<element ref='datr:LOAD'/>
<element ref='datr:VARS'/>
<element ref='datr:RESET'/>
<element ref='datr:ATOM'/>
<element ref='datr:NODE'/>
<element ref='datr:SHOW'/>
<element ref='datr:COMMENT'/>
<element ref='datr:DELETE'/>
</choice>
</complexType>
</element>
<element name='CLOSING'>
<complexType content='elementOnly'>
<choice minOccurs='0' maxOccurs='unbounded'>
<element ref='datr:LOAD'/>
<element ref='datr:VARS'/>
<element ref='datr:RESET'/>
<element ref='datr:ATOM'/>
<element ref='datr:NODE'/>
<element ref='datr:SHOW'/>
<element ref='datr:COMMENT'/>
<element ref='datr:DELETE'/>
</choice>
</complexType>
</element>
<element name='NODE'>
<complexType content='empty'>
<attribute name='value' type='string' use='required'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='LOAD'>
<complexType content='empty'>
<attribute name='filename' type='string' use='required'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='VARS'>
<complexType content='empty'>
<attribute name='name' type='string' use='required'/>
<attribute name='range' type='NMTOKENS' use='required'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='RESET'>
<complexType content='empty'>
<attribute name='value' type='string' use='optional'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='DELETE'>
<complexType content='empty'>
<attribute name='value' type='string' use='optional'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='SHOW'>
<complexType content='empty'>
<attribute name='value' type='string' use='required'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='EQUATION'>
<complexType content='elementOnly'>
<choice minOccurs='0' maxOccurs='unbounded'>
<element ref='datr:ATOM'/>
<element ref='datr:QUOTEDATOM'/>
<element ref='datr:PATH'/>
<element ref='datr:QUOTEDPATH'/>
<element ref='datr:NODEPATH'/>
<element ref='datr:QUOTEDNODEPATH'/>
<element ref='datr:COMMENT'/>
<element ref='datr:QUERY'/>
</choice>
<attribute name='name' type='string' use='required'/>
<attribute name='path' type='string' use='default' value=''/>
<attribute name='type' use='default' value='DEFINE'>
<simpleType base='string'>
<enumeration value='DEFINE'/>
<enumeration value='EXTEND'/>
</simpleType>
</attribute>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='QUERY'>
<complexType content='empty'/>
</element>
<element name='ATOM'>
<complexType content='empty'>
<attribute name='value' type='string' use='required'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='QUOTEDATOM'>
<complexType content='empty'>
<attribute name='value' type='string' use='required'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='PATH'>
<complexType content='elementOnly'>
<choice minOccurs='0' maxOccurs='unbounded'>
<element ref='datr:ATOM'/>
<element ref='datr:QUOTEDATOM'/>
<element ref='datr:PATH'/>
<element ref='datr:QUOTEDPATH'/>
<element ref='datr:NODEPATH'/>
<element ref='datr:QUOTEDNODEPATH'/>
</choice>
<attribute name='value' type='string' use='required'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='QUOTEDPATH'>
<complexType content='elementOnly'>
<choice minOccurs='0' maxOccurs='unbounded'>
<element ref='datr:ATOM'/>
<element ref='datr:QUOTEDATOM'/>
<element ref='datr:PATH'/>
<element ref='datr:QUOTEDPATH'/>
<element ref='datr:NODEPATH'/>
<element ref='datr:QUOTEDNODEPATH'/>
</choice>
<attribute name='value' type='string' use='required'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='NODEPATH'>
<complexType content='elementOnly'>
<choice minOccurs='0' maxOccurs='unbounded'>
<element ref='datr:ATOM'/>
<element ref='datr:QUOTEDATOM'/>
<element ref='datr:PATH'/>
<element ref='datr:QUOTEDPATH'/>
<element ref='datr:NODEPATH'/>
<element ref='datr:QUOTEDNODEPATH'/>
</choice>
<attribute name='value' type='string' use='required'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
<element name='QUOTEDNODEPATH'>
<complexType content='elementOnly'>
<choice minOccurs='0' maxOccurs='unbounded'>
<element ref='datr:ATOM'/>
<element ref='datr:QUOTEDATOM'/>
<element ref='datr:PATH'/>
<element ref='datr:QUOTEDPATH'/>
<element ref='datr:NODEPATH'/>
<element ref='datr:QUOTEDNODEPATH'/>
</choice>
<attribute name='value' type='string' use='required'/>
<attribute name='comment' type='string' use='optional'/>
</complexType>
</element>
</schema>