<?xml version="1.0"?>
<rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<!--Schema generated 2006-01-30T20:23:55Z
Copyright 2005 TEI Consortium.
This is free software; you can redistribute it and/or
	    modify it under the terms of the GNU General Public
	    License as published by the Free Software Foundation;
	    either version 2 of the License, or (at your option) any
	    later version.
This material is distributed in the hope that it will be
	    useful, but WITHOUT ANY WARRANTY; without even the implied
	    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
	    PURPOSE. See the GNU General Public License for more
	    details.
You should have received a copy of the GNU General Public
	    License along with this file; if not, write to the Free
	    Software Foundation, Inc., 59 Temple Place, Suite 330,
	    Boston, MA 02111-1307, USA.
To contact the TEI Consortium use the following addresses.
	    For general (non-technical) enquiries: 
		  target="mailto:info@tei-c.org"/>info@tei-c.orgFor membership enquiries: membership@tei-c.orgFor technical enquiries, particularly about the
		Guidelines, DTDs, schemas, or software available from
		the TEI-C: editors@tei-c.orgFor up to date information, consult the TEI web site at http://www.tei-c.org/P5-->
<!--Definitions from module gaiji-->
<!--Set predeclared macros-->
<!--0. predeclared macros-->
<!--1. classes-->
<!--2. elements-->
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="char">
    <element name="char">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character) provides descriptive information about a character. </a:documentation>
      <ref name="char.content"/>
      <ref name="char.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="char.content">
    <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:ref name="charName"/>
      <rng:optional>
        <rng:ref name="gloss"/>
      </rng:optional>
      <rng:zeroOrMore>
        <rng:ref name="charProp"/>
      </rng:zeroOrMore>
      <rng:optional>
        <rng:ref name="desc"/>
      </rng:optional>
      <rng:zeroOrMore>
        <rng:ref name="mapping"/>
      </rng:zeroOrMore>
      <rng:zeroOrMore>
        <rng:ref name="graphic"/>
      </rng:zeroOrMore>
      <rng:optional>
        <rng:ref name="model.noteLike"/>
      </rng:optional>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="char.attributes">
    <ref name="att.global.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charDesc">
    <element name="charDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character description) provides descriptive information about characters or
glyphs. </a:documentation>
      <ref name="charDesc.content"/>
      <ref name="charDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charDesc.content">
    <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:optional>
        <rng:ref name="desc"/>
      </rng:optional>
      <rng:oneOrMore>
        <rng:choice>
          <rng:ref name="char"/>
          <rng:ref name="glyph"/>
        </rng:choice>
      </rng:oneOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charDesc.attributes">
    <ref name="att.global.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.encodingPart" combine="choice">
    <ref name="charDesc"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charName">
    <element name="charName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character name) contains the name of a character, expressed following Unicode conventions. </a:documentation>
      <ref name="charName.content"/>
      <ref name="charName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charName.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charName.attributes">
    <ref name="att.global.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charProp">
    <element name="charProp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character property) provides a name and value for some property of the parent
character or glyph. </a:documentation>
      <ref name="charProp.content"/>
      <ref name="charProp.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charProp.content">
    <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:choice>
        <rng:ref name="unicodeName"/>
        <rng:ref name="localName"/>
      </rng:choice>
      <rng:ref name="value"/>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charProp.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.typed.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="g">
    <element name="g">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character or glyph) represents a non-standard character or glyph.</a:documentation>
      <ref name="g.content"/>
      <ref name="g.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="g.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="g.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.typed.attributes"/>
    <optional>
      <attribute name="ref">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to a description of the  character or glyph intended.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.gLike" combine="choice">
    <ref name="g"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="glyph">
    <element name="glyph">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character glyph) provides descriptive information about a character glyph. </a:documentation>
      <ref name="glyph.content"/>
      <ref name="glyph.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="glyph.content">
    <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:ref name="glyphName"/>
      <rng:optional>
        <rng:ref name="gloss"/>
      </rng:optional>
      <rng:zeroOrMore>
        <rng:ref name="charProp"/>
      </rng:zeroOrMore>
      <rng:optional>
        <rng:ref name="desc"/>
      </rng:optional>
      <rng:zeroOrMore>
        <rng:ref name="mapping"/>
      </rng:zeroOrMore>
      <rng:zeroOrMore>
        <rng:ref name="graphic"/>
      </rng:zeroOrMore>
      <rng:optional>
        <rng:ref name="model.noteLike"/>
      </rng:optional>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="glyph.attributes">
    <ref name="att.global.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="glyphName">
    <element name="glyphName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character glyph name) contains the name of a glyph, expressed following Unicode
conventions for character names. </a:documentation>
      <ref name="glyphName.content"/>
      <ref name="glyphName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="glyphName.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="glyphName.attributes">
    <ref name="att.global.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="localName">
    <element name="localName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Locally-defined Property Name) contains a locally defined name for some property. </a:documentation>
      <ref name="localName.content"/>
      <ref name="localName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="localName.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="localName.attributes">
    <ref name="att.global.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mapping">
    <element name="mapping">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character mapping) contains one or more
	 characters which are related to the parent character or glyph
	 in some respect, as specified by the type
	 attribute.
</a:documentation>
      <ref name="mapping.content"/>
      <ref name="mapping.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mapping.content">
    <group xmlns:rng="http://relaxng.org/ns/structure/1.0">
      <rng:zeroOrMore>
        <rng:choice>
          <rng:text/>
          <rng:ref name="g"/>
        </rng:choice>
      </rng:zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mapping.attributes">
    <ref name="att.global.attributes"/>
    <ref name="att.typed.attributes"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="unicodeName">
    <element name="unicodeName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Unicode Property Name) contains the name of a registered Unicode normative or
informative property. </a:documentation>
      <ref name="unicodeName.content"/>
      <ref name="unicodeName.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="unicodeName.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="unicodeName.attributes">
    <ref name="att.global.attributes"/>
    <optional>
      <attribute name="version">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the version number of the Unicode Standard in
        which this property name is defined.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="value">
    <element name="value">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value) contains a single value for some property, attribute, or other
  analysis.</a:documentation>
      <ref name="value.content"/>
      <ref name="value.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="value.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.xtext"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="value.attributes">
    <ref name="att.global.attributes"/>
    <empty/>
  </define>
<!--3. macros-->
</rng:grammar>
