<?xml version="1.0"?>
<rng:grammar xmlns:teix="http://www.tei-c.org/ns/Examples" xmlns:rng="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://www.tei-c.org/ns/1.0">
<!--Schema generated 2006-01-30T20:27:23Z
-->
<!--
This template file is freely available and you are
          hereby authorised to copy, modify, and redistribute it in
          any way without further reference or permissions.
When making such modifications, you are strongly
          recommended to change the present text to include an
          accurate statement of the licencing conditions applicable
          to your modified text.-->
<!--Set predeclared macros-->
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mix.dictionaries">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="model.entryLike"/>
  </define>
  <rng:div ns="http://www.w3.org/1998/Math/MathML" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
    <include xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" href="mathml2-qname-1.mod.rng"/>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="MATHML.NamespaceDecl.attrib">
      <ref name="MATHML.xmlns.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="MATHML.Common.attrib">
      <ref name="MATHML.NamespaceDecl.attrib"/>
      <optional>
        <attribute name="xlink:href"/>
      </optional>
      <optional>
        <attribute name="xlink:type"/>
      </optional>
      <optional>
        <attribute name="class"/>
      </optional>
      <optional>
        <attribute name="style"/>
      </optional>
      <optional>
        <attribute name="id">
          <data type="ID"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xref">
          <data type="IDREF"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="other"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-fontsize">
      <optional>
        <attribute name="fontsize"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-fontweight">
      <optional>
        <attribute name="fontweight">
          <choice>
            <value>normal</value>
            <value>bold</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-fontstyle">
      <optional>
        <attribute name="fontstyle">
          <choice>
            <value>normal</value>
            <value>italic</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-fontfamily">
      <optional>
        <attribute name="fontfamily"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-color">
      <optional>
        <attribute name="color"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-mathvariant">
      <optional>
        <attribute name="mathvariant"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-mathsize">
      <optional>
        <attribute name="mathsize"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-mathcolor">
      <optional>
        <attribute name="mathcolor"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-mathbackground">
      <optional>
        <attribute name="mathbackground"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-fontinfo">
      <ref name="mathml.att-fontsize"/>
      <ref name="mathml.att-fontweight"/>
      <ref name="mathml.att-fontstyle"/>
      <ref name="mathml.att-fontfamily"/>
      <ref name="mathml.att-color"/>
      <ref name="mathml.att-mathvariant"/>
      <ref name="mathml.att-mathsize"/>
      <ref name="mathml.att-mathcolor"/>
      <ref name="mathml.att-mathbackground"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-form">
      <optional>
        <attribute name="form">
          <choice>
            <value>prefix</value>
            <value>infix</value>
            <value>postfix</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-fence">
      <optional>
        <attribute name="fence">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-separator">
      <optional>
        <attribute name="separator">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-lspace">
      <optional>
        <attribute name="lspace"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-rspace">
      <optional>
        <attribute name="rspace"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-stretchy">
      <optional>
        <attribute name="stretchy">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-symmetric">
      <optional>
        <attribute name="symmetric">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-maxsize">
      <optional>
        <attribute name="maxsize"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-minsize">
      <optional>
        <attribute name="minsize"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-largeop">
      <optional>
        <attribute name="largeop">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-movablelimits">
      <optional>
        <attribute name="movablelimits">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-accent">
      <optional>
        <attribute name="accent">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-opinfo">
      <ref name="mathml.att-form"/>
      <ref name="mathml.att-fence"/>
      <ref name="mathml.att-separator"/>
      <ref name="mathml.att-lspace"/>
      <ref name="mathml.att-rspace"/>
      <ref name="mathml.att-stretchy"/>
      <ref name="mathml.att-symmetric"/>
      <ref name="mathml.att-maxsize"/>
      <ref name="mathml.att-minsize"/>
      <ref name="mathml.att-largeop"/>
      <ref name="mathml.att-movablelimits"/>
      <ref name="mathml.att-accent"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-width">
      <optional>
        <attribute name="width"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-height">
      <optional>
        <attribute name="height"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-depth">
      <optional>
        <attribute name="depth"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-linebreak">
      <optional>
        <attribute name="linebreak"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-sizeinfo">
      <ref name="mathml.att-width"/>
      <ref name="mathml.att-height"/>
      <ref name="mathml.att-depth"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-lquote">
      <optional>
        <attribute name="lquote"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-rquote">
      <optional>
        <attribute name="rquote"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-linethickness">
      <optional>
        <attribute name="linethickness"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-scriptlevel">
      <optional>
        <attribute name="scriptlevel"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-displaystyle">
      <optional>
        <attribute name="displaystyle">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-scriptsizemultiplier">
      <optional>
        <attribute name="scriptsizemultiplier"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-scriptminsize">
      <optional>
        <attribute name="scriptminsize"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-background">
      <optional>
        <attribute name="background"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-veryverythinmathspace">
      <optional>
        <attribute name="veryverythinmathspace"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-verythinmathspace">
      <optional>
        <attribute name="verythinmathspace"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-thinmathspace">
      <optional>
        <attribute name="thinmathspace"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-mediummathspace">
      <optional>
        <attribute name="mediummathspace"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-thickmathspace">
      <optional>
        <attribute name="thickmathspace"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-verythickmathspace">
      <optional>
        <attribute name="verythickmathspace"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-veryverythickmathspace">
      <optional>
        <attribute name="veryverythickmathspace"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-open">
      <optional>
        <attribute name="open"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-close">
      <optional>
        <attribute name="close"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-separators">
      <optional>
        <attribute name="separators"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-subscriptshift">
      <optional>
        <attribute name="subscriptshift"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-superscriptshift">
      <optional>
        <attribute name="superscriptshift"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-accentunder">
      <optional>
        <attribute name="accentunder">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-align">
      <optional>
        <attribute name="align"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-numalign">
      <optional>
        <attribute name="numalign"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-denomalign">
      <optional>
        <attribute name="denomalign"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-rowalign">
      <optional>
        <attribute name="rowalign"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-columnalign">
      <optional>
        <attribute name="columnalign"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-columnwidth">
      <optional>
        <attribute name="columnwidth"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-groupalign">
      <optional>
        <attribute name="groupalign"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-alignmentscope">
      <optional>
        <attribute name="alignmentscope"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-rowspacing">
      <optional>
        <attribute name="rowspacing"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-columnspacing">
      <optional>
        <attribute name="columnspacing"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-rowlines">
      <optional>
        <attribute name="rowlines"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-columnlines">
      <optional>
        <attribute name="columnlines"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-frame">
      <optional>
        <attribute name="frame">
          <choice>
            <value>none</value>
            <value>solid</value>
            <value>dashed</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-side">
      <optional>
        <attribute name="side">
          <choice>
            <value>left</value>
            <value>right</value>
            <value>leftoverlap</value>
            <value>rightoverlap</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-framespacing">
      <optional>
        <attribute name="framespacing"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-equalrows">
      <optional>
        <attribute name="equalrows"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-equalcolumns">
      <optional>
        <attribute name="equalcolumns"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-tableinfo">
      <ref name="mathml.att-align"/>
      <ref name="mathml.att-rowalign"/>
      <ref name="mathml.att-columnalign"/>
      <ref name="mathml.att-columnwidth"/>
      <ref name="mathml.att-groupalign"/>
      <ref name="mathml.att-alignmentscope"/>
      <ref name="mathml.att-side"/>
      <ref name="mathml.att-rowspacing"/>
      <ref name="mathml.att-columnspacing"/>
      <ref name="mathml.att-rowlines"/>
      <ref name="mathml.att-columnlines"/>
      <ref name="mathml.att-width"/>
      <ref name="mathml.att-frame"/>
      <ref name="mathml.att-framespacing"/>
      <ref name="mathml.att-equalrows"/>
      <ref name="mathml.att-equalcolumns"/>
      <ref name="mathml.att-displaystyle"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-rowspan">
      <optional>
        <attribute name="rowspan"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-columnspan">
      <optional>
        <attribute name="columnspan"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-edge">
      <optional>
        <attribute name="edge">
          <choice>
            <value>left</value>
            <value>right</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-actiontype">
      <optional>
        <attribute name="actiontype"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-selection">
      <optional>
        <attribute name="selection"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-name">
      <optional>
        <attribute name="name"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-alt">
      <optional>
        <attribute name="alt"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-index">
      <optional>
        <attribute name="index"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-bevelled">
      <optional>
        <attribute name="bevelled"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ptoken">
      <choice>
        <ref name="mathml.mi"/>
        <ref name="mathml.mn"/>
        <ref name="mathml.mo"/>
        <ref name="mathml.mtext"/>
        <ref name="mathml.ms"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mi" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mn" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mo" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
      <ref name="mathml.att-opinfo"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mtext" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-ms" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
      <ref name="mathml.att-lquote"/>
      <ref name="mathml.att-rquote"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.petoken">
      <ref name="mathml.mspace"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mspace">
      <element name="mspace">
        <ref name="mathml.attlist-mspace"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mspace"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mspace" combine="interleave">
      <ref name="mathml.att-sizeinfo"/>
      <ref name="mathml.att-linebreak"/>
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.pgenschema">
      <choice>
        <ref name="mathml.mrow"/>
        <ref name="mathml.mfrac"/>
        <ref name="mathml.msqrt"/>
        <ref name="mathml.mroot"/>
        <ref name="mathml.menclose"/>
        <ref name="mathml.mstyle"/>
        <ref name="mathml.merror"/>
        <ref name="mathml.mpadded"/>
        <ref name="mathml.mphantom"/>
        <ref name="mathml.mfenced"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mrow" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mfrac" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-bevelled"/>
      <ref name="mathml.att-numalign"/>
      <ref name="mathml.att-denomalign"/>
      <ref name="mathml.att-linethickness"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-msqrt" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-menclose" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <optional>
        <attribute name="notation" a:defaultValue="longdiv"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mroot" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mstyle" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
      <ref name="mathml.att-opinfo"/>
      <ref name="mathml.att-lquote"/>
      <ref name="mathml.att-rquote"/>
      <ref name="mathml.att-linethickness"/>
      <ref name="mathml.att-scriptlevel"/>
      <ref name="mathml.att-scriptsizemultiplier"/>
      <ref name="mathml.att-scriptminsize"/>
      <ref name="mathml.att-background"/>
      <ref name="mathml.att-veryverythinmathspace"/>
      <ref name="mathml.att-verythinmathspace"/>
      <ref name="mathml.att-thinmathspace"/>
      <ref name="mathml.att-mediummathspace"/>
      <ref name="mathml.att-thickmathspace"/>
      <ref name="mathml.att-verythickmathspace"/>
      <ref name="mathml.att-veryverythickmathspace"/>
      <ref name="mathml.att-open"/>
      <ref name="mathml.att-close"/>
      <ref name="mathml.att-separators"/>
      <ref name="mathml.att-subscriptshift"/>
      <ref name="mathml.att-superscriptshift"/>
      <ref name="mathml.att-accentunder"/>
      <ref name="mathml.att-tableinfo"/>
      <ref name="mathml.att-rowspan"/>
      <ref name="mathml.att-columnspan"/>
      <ref name="mathml.att-edge"/>
      <ref name="mathml.att-actiontype"/>
      <ref name="mathml.att-selection"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-merror" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mpadded" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-sizeinfo"/>
      <ref name="mathml.att-lspace"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mphantom" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mfenced" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-open"/>
      <ref name="mathml.att-close"/>
      <ref name="mathml.att-separators"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.pscrschema">
      <choice>
        <ref name="mathml.msub"/>
        <ref name="mathml.msup"/>
        <ref name="mathml.msubsup"/>
        <ref name="mathml.munder"/>
        <ref name="mathml.mover"/>
        <ref name="mathml.munderover"/>
        <ref name="mathml.mmultiscripts"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-msub" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-subscriptshift"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-msup" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-superscriptshift"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-msubsup" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-subscriptshift"/>
      <ref name="mathml.att-superscriptshift"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-munder" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-accentunder"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mover" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-accent"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-munderover" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-accent"/>
      <ref name="mathml.att-accentunder"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mmultiscripts" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-subscriptshift"/>
      <ref name="mathml.att-superscriptshift"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.pscreschema">
      <choice>
        <ref name="mathml.mprescripts"/>
        <ref name="mathml.none"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mprescripts">
      <element name="mprescripts">
        <ref name="mathml.attlist-mprescripts"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mprescripts"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mprescripts" combine="interleave">
      <ref name="MATHML.xmlns.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.none">
      <element name="none">
        <ref name="mathml.attlist-none"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.none"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-none" combine="interleave">
      <ref name="MATHML.xmlns.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ptabschema">
      <choice>
        <ref name="mathml.mtable"/>
        <ref name="mathml.mtr"/>
        <ref name="mathml.mlabeledtr"/>
        <ref name="mathml.mtd"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mtable" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-tableinfo"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mtr" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-rowalign"/>
      <ref name="mathml.att-columnalign"/>
      <ref name="mathml.att-groupalign"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mlabeledtr" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-rowalign"/>
      <ref name="mathml.att-columnalign"/>
      <ref name="mathml.att-groupalign"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mtd" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-rowalign"/>
      <ref name="mathml.att-columnalign"/>
      <ref name="mathml.att-groupalign"/>
      <ref name="mathml.att-rowspan"/>
      <ref name="mathml.att-columnspan"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.plschema">
      <choice>
        <ref name="mathml.pgenschema"/>
        <ref name="mathml.pscrschema"/>
        <ref name="mathml.ptabschema"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.peschema">
      <choice>
        <ref name="mathml.maligngroup"/>
        <ref name="mathml.malignmark"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.malignmark">
      <element name="malignmark">
        <ref name="mathml.attlist-malignmark"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.malignmark"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-malignmark" combine="interleave">
      <ref name="mathml.att-edge"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.maligngroup">
      <element name="maligngroup">
        <ref name="mathml.attlist-maligngroup"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.maligngroup"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-maligngroup" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-groupalign"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mglyph">
      <element name="mglyph">
        <ref name="mathml.attlist-mglyph"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mglyph"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mglyph" combine="interleave">
      <ref name="mathml.att-alt"/>
      <ref name="mathml.att-fontfamily"/>
      <ref name="mathml.att-index"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.pactions">
      <ref name="mathml.maction"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-maction" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-actiontype"/>
      <ref name="mathml.att-selection"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.PresInCont">
      <choice>
        <ref name="mathml.ptoken"/>
        <ref name="mathml.petoken"/>
        <ref name="mathml.plschema"/>
        <ref name="mathml.peschema"/>
        <ref name="mathml.pactions"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.Presentation">
      <choice>
        <ref name="mathml.ptoken"/>
        <ref name="mathml.petoken"/>
        <ref name="mathml.pscreschema"/>
        <ref name="mathml.plschema"/>
        <ref name="mathml.peschema"/>
        <ref name="mathml.pactions"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-base">
      <optional>
        <attribute name="base" a:defaultValue="10"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-closure">
      <optional>
        <attribute name="closure" a:defaultValue="closed"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-definition">
      <optional>
        <attribute name="definitionURL" a:defaultValue=""/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-encoding">
      <optional>
        <attribute name="encoding" a:defaultValue=""/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-nargs">
      <optional>
        <attribute name="nargs" a:defaultValue="1"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-occurrence">
      <optional>
        <attribute name="occurrence" a:defaultValue="function-model"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-order">
      <optional>
        <attribute name="order" a:defaultValue="numeric"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-scope">
      <optional>
        <attribute name="scope" a:defaultValue="local"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-type">
      <optional>
        <attribute name="type"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ctoken">
      <choice>
        <ref name="mathml.csymbol"/>
        <ref name="mathml.ci"/>
        <ref name="mathml.cn"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-ci" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-type"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-csymbol" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-encoding"/>
      <ref name="mathml.att-type"/>
      <ref name="mathml.att-definition"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-cn" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-type"/>
      <ref name="mathml.att-base"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cspecial">
      <choice>
        <ref name="mathml.apply"/>
        <ref name="mathml.reln"/>
        <ref name="mathml.lambda"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-apply" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-reln" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-lambda" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cother">
      <choice>
        <ref name="mathml.condition"/>
        <ref name="mathml.declare"/>
        <ref name="mathml.sep"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-condition" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-declare" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-type"/>
      <ref name="mathml.att-scope"/>
      <ref name="mathml.att-nargs"/>
      <ref name="mathml.att-occurrence"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.sep">
      <element name="sep">
        <ref name="mathml.attlist-sep"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.sep"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-sep" combine="interleave">
      <ref name="MATHML.xmlns.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.csemantics">
      <choice>
        <ref name="mathml.semantics"/>
        <ref name="mathml.annotation"/>
        <ref name="mathml.annotation-xml"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-semantics" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-annotation" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-annotation-xml" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cconstructor">
      <choice>
        <ref name="mathml.interval"/>
        <ref name="mathml.list"/>
        <ref name="mathml.matrix"/>
        <ref name="mathml.matrixrow"/>
        <ref name="mathml.set"/>
        <ref name="mathml.vector"/>
        <ref name="mathml.piecewise"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-interval" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-closure"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-set" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-type"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-list" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-order"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-vector" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-matrix" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-matrixrow" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-piecewise" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-piece" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-otherwise" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.c0ary">
      <choice>
        <ref name="mathml.integers"/>
        <ref name="mathml.reals"/>
        <ref name="mathml.rationals"/>
        <ref name="mathml.naturalnumbers"/>
        <ref name="mathml.complexes"/>
        <ref name="mathml.primes"/>
        <ref name="mathml.exponentiale"/>
        <ref name="mathml.imaginaryi"/>
        <ref name="mathml.notanumber"/>
        <ref name="mathml.true"/>
        <ref name="mathml.false"/>
        <ref name="mathml.emptyset"/>
        <ref name="mathml.pi"/>
        <ref name="mathml.eulergamma"/>
        <ref name="mathml.infinity"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.integers">
      <element name="integers">
        <ref name="mathml.attlist-integers"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.integers"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-integers" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.reals">
      <element name="reals">
        <ref name="mathml.attlist-reals"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.reals"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-reals" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.rationals">
      <element name="rationals">
        <ref name="mathml.attlist-rationals"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.rationals"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-rationals" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.naturalnumbers">
      <element name="naturalnumbers">
        <ref name="mathml.attlist-naturalnumbers"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.naturalnumbers"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-naturalnumbers" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.complexes">
      <element name="complexes">
        <ref name="mathml.attlist-complexes"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.complexes"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-complexes" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.primes">
      <element name="primes">
        <ref name="mathml.attlist-primes"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.primes"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-primes" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.exponentiale">
      <element name="exponentiale">
        <ref name="mathml.attlist-exponentiale"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.exponentiale"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-exponentiale" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.imaginaryi">
      <element name="imaginaryi">
        <ref name="mathml.attlist-imaginaryi"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.imaginaryi"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-imaginaryi" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.notanumber">
      <element name="notanumber">
        <ref name="mathml.attlist-notanumber"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.notanumber"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-notanumber" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.true">
      <element name="true">
        <ref name="mathml.attlist-true"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.true"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-true" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.false">
      <element name="false">
        <ref name="mathml.attlist-false"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.false"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-false" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.emptyset">
      <element name="emptyset">
        <ref name="mathml.attlist-emptyset"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.emptyset"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-emptyset" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.pi">
      <element name="pi">
        <ref name="mathml.attlist-pi"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.pi"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-pi" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.eulergamma">
      <element name="eulergamma">
        <ref name="mathml.attlist-eulergamma"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.eulergamma"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-eulergamma" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.infinity">
      <element name="infinity">
        <ref name="mathml.attlist-infinity"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.infinity"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-infinity" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cfuncop1ary">
      <choice>
        <ref name="mathml.inverse"/>
        <ref name="mathml.ident"/>
        <ref name="mathml.domain"/>
        <ref name="mathml.codomain"/>
        <ref name="mathml.image"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.inverse">
      <element name="inverse">
        <ref name="mathml.attlist-inverse"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.inverse"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-inverse" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.domain">
      <element name="domain">
        <ref name="mathml.attlist-domain"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.domain"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-domain" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.codomain">
      <element name="codomain">
        <ref name="mathml.attlist-codomain"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.codomain"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-codomain" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.image">
      <element name="image">
        <ref name="mathml.attlist-image"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.image"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-image" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cfuncopnary">
      <choice>
        <ref name="mathml.fn"/>
        <ref name="mathml.compose"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-fn" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ident">
      <element name="ident">
        <ref name="mathml.attlist-ident"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.ident"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-ident" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.compose">
      <element name="compose">
        <ref name="mathml.attlist-compose"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.compose"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-compose" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.carithop1ary">
      <choice>
        <ref name="mathml.abs"/>
        <ref name="mathml.conjugate"/>
        <ref name="mathml.exp"/>
        <ref name="mathml.factorial"/>
        <ref name="mathml.arg"/>
        <ref name="mathml.real"/>
        <ref name="mathml.imaginary"/>
        <ref name="mathml.floor"/>
        <ref name="mathml.ceiling"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.exp">
      <element name="exp">
        <ref name="mathml.attlist-exp"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.exp"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-exp" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.abs">
      <element name="abs">
        <ref name="mathml.attlist-abs"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.abs"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-abs" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arg">
      <element name="arg">
        <ref name="mathml.attlist-arg"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arg"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arg" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.real">
      <element name="real">
        <ref name="mathml.attlist-real"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.real"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-real" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.imaginary">
      <element name="imaginary">
        <ref name="mathml.attlist-imaginary"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.imaginary"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-imaginary" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.conjugate">
      <element name="conjugate">
        <ref name="mathml.attlist-conjugate"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.conjugate"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-conjugate" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.factorial">
      <element name="factorial">
        <ref name="mathml.attlist-factorial"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.factorial"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-factorial" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.floor">
      <element name="floor">
        <ref name="mathml.attlist-floor"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.floor"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-floor" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ceiling">
      <element name="ceiling">
        <ref name="mathml.attlist-ceiling"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.ceiling"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-ceiling" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.carithop1or2ary">
      <ref name="mathml.minus"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.minus">
      <element name="minus">
        <ref name="mathml.attlist-minus"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.minus"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-minus" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.carithop2ary">
      <choice>
        <ref name="mathml.quotient"/>
        <ref name="mathml.divide"/>
        <ref name="mathml.power"/>
        <ref name="mathml.rem"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.quotient">
      <element name="quotient">
        <ref name="mathml.attlist-quotient"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.quotient"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-quotient" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.divide">
      <element name="divide">
        <ref name="mathml.attlist-divide"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.divide"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-divide" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.power">
      <element name="power">
        <ref name="mathml.attlist-power"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.power"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-power" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.rem">
      <element name="rem">
        <ref name="mathml.attlist-rem"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.rem"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-rem" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.carithopnary">
      <choice>
        <ref name="mathml.plus"/>
        <ref name="mathml.times"/>
        <ref name="mathml.max"/>
        <ref name="mathml.min"/>
        <ref name="mathml.gcd"/>
        <ref name="mathml.lcm"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.plus">
      <element name="plus">
        <ref name="mathml.attlist-plus"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.plus"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-plus" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.max">
      <element name="max">
        <ref name="mathml.attlist-max"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.max"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-max" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.min">
      <element name="min">
        <ref name="mathml.attlist-min"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.min"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-min" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.times">
      <element name="times">
        <ref name="mathml.attlist-times"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.times"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-times" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.gcd">
      <element name="gcd">
        <ref name="mathml.attlist-gcd"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.gcd"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-gcd" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.lcm">
      <element name="lcm">
        <ref name="mathml.attlist-lcm"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.lcm"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-lcm" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.carithoproot">
      <ref name="mathml.root"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.root">
      <element name="root">
        <ref name="mathml.attlist-root"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.root"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-root" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.clogicopquant">
      <choice>
        <ref name="mathml.exists"/>
        <ref name="mathml.forall"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.exists">
      <element name="exists">
        <ref name="mathml.attlist-exists"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.exists"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-exists" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.forall">
      <element name="forall">
        <ref name="mathml.attlist-forall"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.forall"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-forall" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.clogicopnary">
      <choice>
        <ref name="mathml.and"/>
        <ref name="mathml.or"/>
        <ref name="mathml.xor"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.and">
      <element name="and">
        <ref name="mathml.attlist-and"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.and"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-and" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.or">
      <element name="or">
        <ref name="mathml.attlist-or"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.or"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-or" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.xor">
      <element name="xor">
        <ref name="mathml.attlist-xor"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.xor"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-xor" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.clogicop1ary">
      <ref name="mathml.not"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.not">
      <element name="not">
        <ref name="mathml.attlist-not"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.not"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-not" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.clogicop2ary">
      <ref name="mathml.implies"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.implies">
      <element name="implies">
        <ref name="mathml.attlist-implies"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.implies"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-implies" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ccalcop">
      <choice>
        <ref name="mathml.log"/>
        <ref name="mathml.int"/>
        <ref name="mathml.diff"/>
        <ref name="mathml.partialdiff"/>
        <ref name="mathml.divergence"/>
        <ref name="mathml.grad"/>
        <ref name="mathml.curl"/>
        <ref name="mathml.laplacian"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.divergence">
      <element name="divergence">
        <ref name="mathml.attlist-divergence"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.divergence"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-divergence" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.grad">
      <element name="grad">
        <ref name="mathml.attlist-grad"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.grad"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-grad" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.curl">
      <element name="curl">
        <ref name="mathml.attlist-curl"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.curl"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-curl" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.laplacian">
      <element name="laplacian">
        <ref name="mathml.attlist-laplacian"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.laplacian"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-laplacian" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.log">
      <element name="log">
        <ref name="mathml.attlist-log"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.log"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-log" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.int">
      <element name="int">
        <ref name="mathml.attlist-int"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.int"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-int" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.diff">
      <element name="diff">
        <ref name="mathml.attlist-diff"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.diff"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-diff" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.partialdiff">
      <element name="partialdiff">
        <ref name="mathml.attlist-partialdiff"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.partialdiff"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-partialdiff" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ccalcop1ary">
      <ref name="mathml.ln"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ln">
      <element name="ln">
        <ref name="mathml.attlist-ln"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.ln"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-ln" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.csetop1ary">
      <ref name="mathml.card"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.card">
      <element name="card">
        <ref name="mathml.attlist-card"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.card"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-card" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.csetop2ary">
      <ref name="mathml.setdiff"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.setdiff">
      <element name="setdiff">
        <ref name="mathml.attlist-setdiff"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.setdiff"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-setdiff" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.csetopnary">
      <choice>
        <ref name="mathml.union"/>
        <ref name="mathml.intersect"/>
        <ref name="mathml.cartesianproduct"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.union">
      <element name="union">
        <ref name="mathml.attlist-union"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.union"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-union" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.intersect">
      <element name="intersect">
        <ref name="mathml.attlist-intersect"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.intersect"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-intersect" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cartesianproduct">
      <element name="cartesianproduct">
        <ref name="mathml.attlist-cartesianproduct"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.cartesianproduct"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-cartesianproduct" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cseqop">
      <choice>
        <ref name="mathml.sum"/>
        <ref name="mathml.product"/>
        <ref name="mathml.limit"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.sum">
      <element name="sum">
        <ref name="mathml.attlist-sum"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.sum"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-sum" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.product">
      <element name="product">
        <ref name="mathml.attlist-product"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.product"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-product" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.limit">
      <element name="limit">
        <ref name="mathml.attlist-limit"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.limit"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-limit" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ctrigop">
      <choice>
        <ref name="mathml.sin"/>
        <ref name="mathml.cos"/>
        <ref name="mathml.tan"/>
        <ref name="mathml.sec"/>
        <ref name="mathml.csc"/>
        <ref name="mathml.cot"/>
        <ref name="mathml.sinh"/>
        <ref name="mathml.cosh"/>
        <ref name="mathml.tanh"/>
        <ref name="mathml.sech"/>
        <ref name="mathml.csch"/>
        <ref name="mathml.coth"/>
        <ref name="mathml.arcsin"/>
        <ref name="mathml.arccos"/>
        <ref name="mathml.arctan"/>
        <ref name="mathml.arccosh"/>
        <ref name="mathml.arccot"/>
        <ref name="mathml.arccoth"/>
        <ref name="mathml.arccsc"/>
        <ref name="mathml.arccsch"/>
        <ref name="mathml.arcsec"/>
        <ref name="mathml.arcsech"/>
        <ref name="mathml.arcsinh"/>
        <ref name="mathml.arctanh"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.sin">
      <element name="sin">
        <ref name="mathml.attlist-sin"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.sin"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-sin" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cos">
      <element name="cos">
        <ref name="mathml.attlist-cos"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.cos"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-cos" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.tan">
      <element name="tan">
        <ref name="mathml.attlist-tan"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.tan"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-tan" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.sec">
      <element name="sec">
        <ref name="mathml.attlist-sec"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.sec"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-sec" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.csc">
      <element name="csc">
        <ref name="mathml.attlist-csc"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.csc"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-csc" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cot">
      <element name="cot">
        <ref name="mathml.attlist-cot"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.cot"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-cot" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.sinh">
      <element name="sinh">
        <ref name="mathml.attlist-sinh"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.sinh"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-sinh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cosh">
      <element name="cosh">
        <ref name="mathml.attlist-cosh"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.cosh"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-cosh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.tanh">
      <element name="tanh">
        <ref name="mathml.attlist-tanh"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.tanh"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-tanh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.sech">
      <element name="sech">
        <ref name="mathml.attlist-sech"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.sech"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-sech" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.csch">
      <element name="csch">
        <ref name="mathml.attlist-csch"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.csch"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-csch" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.coth">
      <element name="coth">
        <ref name="mathml.attlist-coth"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.coth"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-coth" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arcsin">
      <element name="arcsin">
        <ref name="mathml.attlist-arcsin"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arcsin"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arcsin" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arccos">
      <element name="arccos">
        <ref name="mathml.attlist-arccos"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arccos"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arccos" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arctan">
      <element name="arctan">
        <ref name="mathml.attlist-arctan"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arctan"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arctan" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arccosh">
      <element name="arccosh">
        <ref name="mathml.attlist-arccosh"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arccosh"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arccosh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arccot">
      <element name="arccot">
        <ref name="mathml.attlist-arccot"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arccot"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arccot" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arccoth">
      <element name="arccoth">
        <ref name="mathml.attlist-arccoth"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arccoth"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arccoth" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arccsc">
      <element name="arccsc">
        <ref name="mathml.attlist-arccsc"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arccsc"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arccsc" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arccsch">
      <element name="arccsch">
        <ref name="mathml.attlist-arccsch"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arccsch"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arccsch" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arcsec">
      <element name="arcsec">
        <ref name="mathml.attlist-arcsec"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arcsec"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arcsec" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arcsech">
      <element name="arcsech">
        <ref name="mathml.attlist-arcsech"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arcsech"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arcsech" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arcsinh">
      <element name="arcsinh">
        <ref name="mathml.attlist-arcsinh"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arcsinh"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arcsinh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.arctanh">
      <element name="arctanh">
        <ref name="mathml.attlist-arctanh"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.arctanh"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-arctanh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cstatopnary">
      <choice>
        <ref name="mathml.mean"/>
        <ref name="mathml.sdev"/>
        <ref name="mathml.variance"/>
        <ref name="mathml.median"/>
        <ref name="mathml.mode"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mean">
      <element name="mean">
        <ref name="mathml.attlist-mean"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mean"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mean" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.sdev">
      <element name="sdev">
        <ref name="mathml.attlist-sdev"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.sdev"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-sdev" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.variance">
      <element name="variance">
        <ref name="mathml.attlist-variance"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.variance"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-variance" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.median">
      <element name="median">
        <ref name="mathml.attlist-median"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.median"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-median" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mode">
      <element name="mode">
        <ref name="mathml.attlist-mode"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mode"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-mode" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cstatopmoment">
      <ref name="mathml.moment"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.moment">
      <element name="moment">
        <ref name="mathml.attlist-moment"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.moment"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-moment" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.clalgop1ary">
      <choice>
        <ref name="mathml.determinant"/>
        <ref name="mathml.transpose"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.determinant">
      <element name="determinant">
        <ref name="mathml.attlist-determinant"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.determinant"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-determinant" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.transpose">
      <element name="transpose">
        <ref name="mathml.attlist-transpose"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.transpose"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-transpose" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.clalgop2ary">
      <choice>
        <ref name="mathml.vectorproduct"/>
        <ref name="mathml.scalarproduct"/>
        <ref name="mathml.outerproduct"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.vectorproduct">
      <element name="vectorproduct">
        <ref name="mathml.attlist-vectorproduct"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.vectorproduct"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-vectorproduct" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.scalarproduct">
      <element name="scalarproduct">
        <ref name="mathml.attlist-scalarproduct"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.scalarproduct"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-scalarproduct" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.outerproduct">
      <element name="outerproduct">
        <ref name="mathml.attlist-outerproduct"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.outerproduct"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-outerproduct" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.clalgopnary">
      <ref name="mathml.selector"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.selector">
      <element name="selector">
        <ref name="mathml.attlist-selector"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.selector"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-selector" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cgenrel2ary">
      <choice>
        <ref name="mathml.neq"/>
        <ref name="mathml.factorof"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.neq">
      <element name="neq">
        <ref name="mathml.attlist-neq"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.neq"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-neq" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.factorof">
      <element name="factorof">
        <ref name="mathml.attlist-factorof"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.factorof"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-factorof" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cgenrelnary">
      <choice>
        <ref name="mathml.eq"/>
        <ref name="mathml.leq"/>
        <ref name="mathml.lt"/>
        <ref name="mathml.geq"/>
        <ref name="mathml.gt"/>
        <ref name="mathml.equivalent"/>
        <ref name="mathml.approx"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.eq">
      <element name="eq">
        <ref name="mathml.attlist-eq"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.eq"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-eq" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.equivalent">
      <element name="equivalent">
        <ref name="mathml.attlist-equivalent"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.equivalent"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-equivalent" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.approx">
      <element name="approx">
        <ref name="mathml.attlist-approx"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.approx"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-approx" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.gt">
      <element name="gt">
        <ref name="mathml.attlist-gt"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.gt"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-gt" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.lt">
      <element name="lt">
        <ref name="mathml.attlist-lt"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.lt"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-lt" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.geq">
      <element name="geq">
        <ref name="mathml.attlist-geq"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.geq"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-geq" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.leq">
      <element name="leq">
        <ref name="mathml.attlist-leq"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.leq"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-leq" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.csetrel2ary">
      <choice>
        <ref name="mathml.in"/>
        <ref name="mathml.notin"/>
        <ref name="mathml.notsubset"/>
        <ref name="mathml.notprsubset"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.in">
      <element name="in">
        <ref name="mathml.attlist-in"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.in"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-in" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.notin">
      <element name="notin">
        <ref name="mathml.attlist-notin"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.notin"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-notin" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.notsubset">
      <element name="notsubset">
        <ref name="mathml.attlist-notsubset"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.notsubset"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-notsubset" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.notprsubset">
      <element name="notprsubset">
        <ref name="mathml.attlist-notprsubset"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.notprsubset"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-notprsubset" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.csetrelnary">
      <choice>
        <ref name="mathml.subset"/>
        <ref name="mathml.prsubset"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.subset">
      <element name="subset">
        <ref name="mathml.attlist-subset"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.subset"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-subset" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.prsubset">
      <element name="prsubset">
        <ref name="mathml.attlist-prsubset"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.prsubset"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-prsubset" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cseqrel2ary">
      <ref name="mathml.tendsto"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.tendsto">
      <element name="tendsto">
        <ref name="mathml.attlist-tendsto"/>
        <empty/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.tendsto"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-tendsto" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
      <ref name="mathml.att-type"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cquantifier">
      <choice>
        <ref name="mathml.lowlimit"/>
        <ref name="mathml.uplimit"/>
        <ref name="mathml.bvar"/>
        <ref name="mathml.degree"/>
        <ref name="mathml.logbase"/>
        <ref name="mathml.momentabout"/>
        <ref name="mathml.domainofapplication"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-lowlimit" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-uplimit" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-bvar" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-degree" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-logbase" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-momentabout" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-domainofapplication" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cop1ary">
      <choice>
        <ref name="mathml.cfuncop1ary"/>
        <ref name="mathml.carithop1ary"/>
        <ref name="mathml.clogicop1ary"/>
        <ref name="mathml.ccalcop1ary"/>
        <ref name="mathml.ctrigop"/>
        <ref name="mathml.clalgop1ary"/>
        <ref name="mathml.csetop1ary"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cop2ary">
      <choice>
        <ref name="mathml.carithop2ary"/>
        <ref name="mathml.clogicop2ary"/>
        <ref name="mathml.clalgop2ary"/>
        <ref name="mathml.csetop2ary"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.copnary">
      <choice>
        <ref name="mathml.cfuncopnary"/>
        <ref name="mathml.carithopnary"/>
        <ref name="mathml.clogicopnary"/>
        <ref name="mathml.csetopnary"/>
        <ref name="mathml.cstatopnary"/>
        <ref name="mathml.clalgopnary"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.copmisc">
      <choice>
        <ref name="mathml.carithoproot"/>
        <ref name="mathml.carithop1or2ary"/>
        <ref name="mathml.ccalcop"/>
        <ref name="mathml.cseqop"/>
        <ref name="mathml.cstatopmoment"/>
        <ref name="mathml.clogicopquant"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.crel2ary">
      <choice>
        <ref name="mathml.cgenrel2ary"/>
        <ref name="mathml.csetrel2ary"/>
        <ref name="mathml.cseqrel2ary"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.crelnary">
      <choice>
        <ref name="mathml.cgenrelnary"/>
        <ref name="mathml.csetrelnary"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.Content">
      <choice>
        <ref name="mathml.ctoken"/>
        <ref name="mathml.cspecial"/>
        <ref name="mathml.cother"/>
        <ref name="mathml.csemantics"/>
        <ref name="mathml.c0ary"/>
        <ref name="mathml.cconstructor"/>
        <ref name="mathml.cquantifier"/>
        <ref name="mathml.cop1ary"/>
        <ref name="mathml.cop2ary"/>
        <ref name="mathml.copnary"/>
        <ref name="mathml.copmisc"/>
        <ref name="mathml.crel2ary"/>
        <ref name="mathml.crelnary"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ContInPres">
      <choice>
        <ref name="mathml.ci"/>
        <ref name="mathml.csymbol"/>
        <ref name="mathml.cn"/>
        <ref name="mathml.c0ary"/>
        <ref name="mathml.apply"/>
        <ref name="mathml.fn"/>
        <ref name="mathml.lambda"/>
        <ref name="mathml.reln"/>
        <ref name="mathml.cconstructor"/>
        <ref name="mathml.semantics"/>
        <ref name="mathml.declare"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ContentExpression">
      <zeroOrMore>
        <choice>
          <ref name="mathml.Content"/>
          <ref name="mathml.PresInCont"/>
        </choice>
      </zeroOrMore>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.PresExpression">
      <zeroOrMore>
        <choice>
          <ref name="mathml.Presentation"/>
          <ref name="mathml.ContInPres"/>
        </choice>
      </zeroOrMore>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.MathExpression">
      <zeroOrMore>
        <choice>
          <ref name="mathml.PresInCont"/>
          <ref name="mathml.ContInPres"/>
        </choice>
      </zeroOrMore>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.MathMLCharacters">
      <choice>
        <text/>
        <ref name="mathml.mglyph"/>
      </choice>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ci">
      <element name="ci">
        <ref name="mathml.attlist-ci"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.PresInCont"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.ci"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.csymbol">
      <element name="csymbol">
        <ref name="mathml.attlist-csymbol"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.PresInCont"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.csymbol"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.cn">
      <element name="cn">
        <ref name="mathml.attlist-cn"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.sep"/>
            <ref name="mathml.PresInCont"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.cn"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.apply">
      <element name="apply">
        <ref name="mathml.attlist-apply"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.apply"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.reln">
      <element name="reln">
        <ref name="mathml.attlist-reln"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.reln"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.lambda">
      <element name="lambda">
        <ref name="mathml.attlist-lambda"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.lambda"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.condition">
      <element name="condition">
        <ref name="mathml.attlist-condition"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.condition"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.declare">
      <element name="declare">
        <ref name="mathml.attlist-declare"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.declare"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.semantics">
      <element name="semantics">
        <ref name="mathml.attlist-semantics"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.semantics"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.Annotation.content">
      <text/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.annotation">
      <element name="annotation">
        <ref name="mathml.attlist-annotation"/>
        <ref name="mathml.Annotation.content"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.annotation"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.annotation-xml">
      <element name="annotation-xml">
        <ref name="mathml.attlist-annotation-xml"/>
        <ref name="mathml.any"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.annotation-xml"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.interval">
      <element name="interval">
        <ref name="mathml.attlist-interval"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.interval"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.set">
      <element name="set">
        <ref name="mathml.attlist-set"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.set"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.list">
      <element name="list">
        <ref name="mathml.attlist-list"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.list"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.vector">
      <element name="vector">
        <ref name="mathml.attlist-vector"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.vector"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.matrix">
      <element name="matrix">
        <ref name="mathml.attlist-matrix"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.matrix"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.matrixrow">
      <element name="matrixrow">
        <ref name="mathml.attlist-matrixrow"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.matrixrow"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.piecewise">
      <element name="piecewise">
        <ref name="mathml.attlist-piecewise"/>
        <zeroOrMore>
          <ref name="mathml.piece"/>
        </zeroOrMore>
        <optional>
          <ref name="mathml.otherwise"/>
        </optional>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.piecewise"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.piece">
      <element name="piece">
        <ref name="mathml.attlist-piece"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.piece"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.otherwise">
      <element name="otherwise">
        <ref name="mathml.attlist-otherwise"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.otherwise"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.fn">
      <element name="fn">
        <ref name="mathml.attlist-fn"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.fn"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.lowlimit">
      <element name="lowlimit">
        <ref name="mathml.attlist-lowlimit"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.lowlimit"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.uplimit">
      <element name="uplimit">
        <ref name="mathml.attlist-uplimit"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.uplimit"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.bvar">
      <element name="bvar">
        <ref name="mathml.attlist-bvar"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.bvar"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.degree">
      <element name="degree">
        <ref name="mathml.attlist-degree"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.degree"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.logbase">
      <element name="logbase">
        <ref name="mathml.attlist-logbase"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.logbase"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.momentabout">
      <element name="momentabout">
        <ref name="mathml.attlist-momentabout"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.momentabout"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.domainofapplication">
      <element name="domainofapplication">
        <ref name="mathml.attlist-domainofapplication"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.domainofapplication"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mstyle">
      <element name="mstyle">
        <ref name="mathml.attlist-mstyle"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mstyle"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.merror">
      <element name="merror">
        <ref name="mathml.attlist-merror"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.merror"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mphantom">
      <element name="mphantom">
        <ref name="mathml.attlist-mphantom"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mphantom"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mrow">
      <element name="mrow">
        <ref name="mathml.attlist-mrow"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mrow"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mfrac">
      <element name="mfrac">
        <ref name="mathml.attlist-mfrac"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mfrac"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.msqrt">
      <element name="msqrt">
        <ref name="mathml.attlist-msqrt"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.msqrt"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.menclose">
      <element name="menclose">
        <ref name="mathml.attlist-menclose"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.menclose"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mroot">
      <element name="mroot">
        <ref name="mathml.attlist-mroot"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mroot"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.msub">
      <element name="msub">
        <ref name="mathml.attlist-msub"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.msub"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.msup">
      <element name="msup">
        <ref name="mathml.attlist-msup"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.msup"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.msubsup">
      <element name="msubsup">
        <ref name="mathml.attlist-msubsup"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.msubsup"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mmultiscripts">
      <element name="mmultiscripts">
        <ref name="mathml.attlist-mmultiscripts"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mmultiscripts"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.munder">
      <element name="munder">
        <ref name="mathml.attlist-munder"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.munder"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mover">
      <element name="mover">
        <ref name="mathml.attlist-mover"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mover"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.munderover">
      <element name="munderover">
        <ref name="mathml.attlist-munderover"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.munderover"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mtable">
      <element name="mtable">
        <ref name="mathml.attlist-mtable"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mtable"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mtr">
      <element name="mtr">
        <ref name="mathml.attlist-mtr"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mtr"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mlabeledtr">
      <element name="mlabeledtr">
        <ref name="mathml.attlist-mlabeledtr"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mlabeledtr"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mtd">
      <element name="mtd">
        <ref name="mathml.attlist-mtd"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mtd"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.maction">
      <element name="maction">
        <ref name="mathml.attlist-maction"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.maction"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mfenced">
      <element name="mfenced">
        <ref name="mathml.attlist-mfenced"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mfenced"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mpadded">
      <element name="mpadded">
        <ref name="mathml.attlist-mpadded"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mpadded"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mi">
      <element name="mi">
        <ref name="mathml.attlist-mi"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.malignmark"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mi"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mn">
      <element name="mn">
        <ref name="mathml.attlist-mn"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.malignmark"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mn"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mo">
      <element name="mo">
        <ref name="mathml.attlist-mo"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.malignmark"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mo"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.mtext">
      <element name="mtext">
        <ref name="mathml.attlist-mtext"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.malignmark"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.mtext"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.ms">
      <element name="ms">
        <ref name="mathml.attlist-ms"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.malignmark"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.ms"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-macros">
      <optional>
        <attribute name="macros"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-mode">
      <optional>
        <attribute name="mode"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-display">
      <optional>
        <attribute name="display"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-topinfo">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-macros"/>
      <ref name="mathml.att-mode"/>
      <ref name="mathml.att-display"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-baseline">
      <optional>
        <attribute name="baseline"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-overflow">
      <optional>
        <attribute name="overflow" a:defaultValue="scroll">
          <choice>
            <value>scroll</value>
            <value>elide</value>
            <value>truncate</value>
            <value>scale</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-altimg">
      <optional>
        <attribute name="altimg"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-alttext">
      <optional>
        <attribute name="alttext"/>
      </optional>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.att-browif">
      <ref name="mathml.att-type"/>
      <ref name="mathml.att-name"/>
      <ref name="mathml.att-height"/>
      <ref name="mathml.att-width"/>
      <ref name="mathml.att-baseline"/>
      <ref name="mathml.att-overflow"/>
      <ref name="mathml.att-altimg"/>
      <ref name="mathml.att-alttext"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.math">
      <element name="math">
        <ref name="mathml.attlist-math"/>
        <ref name="mathml.MathExpression"/>
      </element>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <ref name="mathml.math"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.attlist-math" combine="interleave">
      <ref name="mathml.att-topinfo"/>
      <ref name="mathml.att-browif"/>
    </define>
    <define xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.any" combine="choice">
      <text/>
    </define>
  </rng:div>
  <rng:div ns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
    <define xmlns="http://relaxng.org/ns/structure/1.0" name="pattern">
      <choice>
        <element name="element">
          <attribute name="name">
            <data type="QName"/>
          </attribute>
          <oneOrMore>
            <ref name="pattern"/>
          </oneOrMore>
        </element>
        <element name="element">
          <ref name="nameClass"/>
          <oneOrMore>
            <ref name="pattern"/>
          </oneOrMore>
        </element>
        <element name="attribute">
          <attribute name="name">
            <data type="QName"/>
          </attribute>
          <optional>
            <ref name="pattern"/>
          </optional>
        </element>
        <element name="attribute">
          <ref name="nameClass"/>
          <optional>
            <ref name="pattern"/>
          </optional>
        </element>
        <element name="group">
          <oneOrMore>
            <ref name="pattern"/>
          </oneOrMore>
        </element>
        <element name="interleave">
          <oneOrMore>
            <ref name="pattern"/>
          </oneOrMore>
        </element>
        <element name="choice">
          <oneOrMore>
            <ref name="pattern"/>
          </oneOrMore>
        </element>
        <element name="optional">
          <oneOrMore>
            <ref name="pattern"/>
          </oneOrMore>
        </element>
        <element name="zeroOrMore">
          <oneOrMore>
            <ref name="pattern"/>
          </oneOrMore>
        </element>
        <element name="oneOrMore">
          <oneOrMore>
            <ref name="pattern"/>
          </oneOrMore>
        </element>
        <element name="list">
          <oneOrMore>
            <ref name="pattern"/>
          </oneOrMore>
        </element>
        <element name="mixed">
          <oneOrMore>
            <ref name="pattern"/>
          </oneOrMore>
        </element>
        <element name="ref">
          <attribute name="name">
            <data type="NCName"/>
          </attribute>
        </element>
        <element name="parentRef">
          <attribute name="name">
            <data type="NCName"/>
          </attribute>
        </element>
        <element name="empty">
          <empty/>
        </element>
        <element name="text">
          <empty/>
        </element>
        <element name="value">
          <optional>
            <attribute name="type">
              <data type="NCName"/>
            </attribute>
          </optional>
          <data type="string"/>
        </element>
        <element name="data">
          <attribute name="type">
            <data type="NCName"/>
          </attribute>
          <zeroOrMore>
            <ref name="param"/>
          </zeroOrMore>
          <optional>
            <ref name="exceptPattern"/>
          </optional>
        </element>
        <element name="notAllowed">
          <empty/>
        </element>
        <element name="externalRef">
          <attribute name="href">
            <data type="anyURI"/>
          </attribute>
          <empty/>
        </element>
        <element name="grammar">
          <zeroOrMore>
            <ref name="grammarContent"/>
          </zeroOrMore>
        </element>
      </choice>
    </define>
    <define xmlns="http://relaxng.org/ns/structure/1.0" name="param">
      <element name="param">
        <attribute name="name">
          <data type="NCName"/>
        </attribute>
        <data type="string"/>
      </element>
    </define>
    <define xmlns="http://relaxng.org/ns/structure/1.0" name="exceptPattern">
      <element name="except">
        <oneOrMore>
          <ref name="pattern"/>
        </oneOrMore>
      </element>
    </define>
    <define xmlns="http://relaxng.org/ns/structure/1.0" name="grammarContent">
      <choice>
        <ref name="start"/>
        <ref name="define"/>
        <element name="div">
          <zeroOrMore>
            <ref name="grammarContent"/>
          </zeroOrMore>
        </element>
        <element name="include">
          <attribute name="href">
            <data type="anyURI"/>
          </attribute>
          <zeroOrMore>
            <ref name="includeContent"/>
          </zeroOrMore>
        </element>
      </choice>
    </define>
    <define xmlns="http://relaxng.org/ns/structure/1.0" name="includeContent">
      <choice>
        <ref name="start"/>
        <ref name="define"/>
        <element name="div">
          <zeroOrMore>
            <ref name="includeContent"/>
          </zeroOrMore>
        </element>
      </choice>
    </define>
    <define xmlns="http://relaxng.org/ns/structure/1.0" name="start">
      <element name="start">
        <optional>
          <attribute name="combine">
            <ref name="method"/>
          </attribute>
        </optional>
        <ref name="pattern"/>
      </element>
    </define>
    <define xmlns="http://relaxng.org/ns/structure/1.0" name="define">
      <element name="define">
        <attribute name="name">
          <data type="NCName"/>
        </attribute>
        <optional>
          <attribute name="combine">
            <ref name="method"/>
          </attribute>
        </optional>
        <oneOrMore>
          <ref name="pattern"/>
        </oneOrMore>
      </element>
    </define>
    <define xmlns="http://relaxng.org/ns/structure/1.0" name="method">
      <choice>
        <value>choice</value>
        <value>interleave</value>
      </choice>
    </define>
    <define xmlns="http://relaxng.org/ns/structure/1.0" name="nameClass">
      <choice>
        <element name="name">
          <data type="QName"/>
        </element>
        <element name="anyName">
          <optional>
            <ref name="exceptNameClass"/>
          </optional>
        </element>
        <element name="nsName">
          <optional>
            <ref name="exceptNameClass"/>
          </optional>
        </element>
        <element name="choice">
          <oneOrMore>
            <ref name="nameClass"/>
          </oneOrMore>
        </element>
      </choice>
    </define>
    <define xmlns="http://relaxng.org/ns/structure/1.0" name="exceptNameClass">
      <element name="except">
        <oneOrMore>
          <ref name="nameClass"/>
        </oneOrMore>
      </element>
    </define>
  </rng:div>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.certainty">
    <choice>
      <value>high</value>
      <value>medium</value>
      <value>low</value>
      <value>unknown</value>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.probability">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="double">
      <rng:param name="minInclusive">0</rng:param>
      <rng:param name="maxInclusive">1</rng:param>
    </data>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.numeric">
    <choice>
      <data type="double"/>
      <data type="decimal"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.count">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="nonNegativeInteger"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.temporal">
    <choice>
      <data type="date"/>
      <data type="gYear"/>
      <data type="gMonth"/>
      <data type="gDay"/>
      <data type="gYearMonth"/>
      <data type="gMonthDay"/>
      <data type="time"/>
      <data type="dateTime"/>
      <data type="token">
        <param name="pattern">(-?[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T)?([01][0-9]|2[0-3])(:[0-5][0-9])?(Z|[+\-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?</param>
      </data>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.duration">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="duration"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.truthValue">
    <choice>
      <data type="boolean"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.xTruthValue">
    <choice>
      <data type="boolean"/>
      <value>unknown</value>
      <value>inapplicable</value>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.language">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="language"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.sex">
    <choice>
      <value>0</value>
      <value>1</value>
      <value>2</value>
      <value>9</value>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.namespace">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="anyURI"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.outputMeasurement">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="token">
      <rng:param name="pattern">[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|gd|rem|vw|vh|vm)</rng:param>
    </data>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.pattern">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="token"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.pointer">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="anyURI"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.pointers">
    <list>
      <oneOrMore>
        <ref name="data.pointer"/>
      </oneOrMore>
    </list>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.code">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="anyURI"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.enumerated">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="token"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.key">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="string"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.word">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="token">
      <rng:param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</rng:param>
    </data>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.names">
    <list>
      <oneOrMore>
        <ref name="data.name"/>
      </oneOrMore>
    </list>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.words">
    <list>
      <oneOrMore>
        <ref name="data.word"/>
      </oneOrMore>
    </list>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="data.name">
    <data xmlns:rng="http://relaxng.org/ns/structure/1.0" type="Name"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.bodyPart.div">
    <group>
      <ref name="div"/>
      <zeroOrMore>
        <choice>
          <ref name="div"/>
          <ref name="divGen"/>
          <group>
            <ref name="model.global"/>
          </group>
        </choice>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.bodyPart.div0">
    <group>
      <ref name="div0"/>
      <zeroOrMore>
        <choice>
          <ref name="div0"/>
          <ref name="divGen"/>
          <group>
            <ref name="model.global"/>
          </group>
        </choice>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.bodyPart.div1">
    <group>
      <ref name="div1"/>
      <zeroOrMore>
        <choice>
          <ref name="div1"/>
          <ref name="divGen"/>
          <group>
            <ref name="model.global"/>
          </group>
        </choice>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.bodyPart.pre">
    <zeroOrMore>
      <ref name="divGen"/>
      <zeroOrMore>
        <ref name="model.global"/>
      </zeroOrMore>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.bodyPart.main">
    <group>
      <group>
        <ref name="macro.bodyPart.pre"/>
      </group>
      <choice>
        <group>
          <ref name="macro.bodyPart.div"/>
        </group>
        <group>
          <ref name="macro.bodyPart.div0"/>
        </group>
        <group>
          <ref name="macro.bodyPart.div1"/>
        </group>
      </choice>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mix.drama">
    <choice>
      <notAllowed/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mix.spoken">
    <choice>
      <notAllowed/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.component">
    <choice>
      <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="model.common"/>
      <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="mix.drama"/>
      <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="mix.spoken"/>
      <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="mix.dictionaries"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.componentSeq">
    <zeroOrMore>
      <choice>
        <group>
          <ref name="macro.component"/>
        </group>
        <group>
          <ref name="model.global"/>
        </group>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.paraContent">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="model.inter"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.specialPara">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="model.inter"/>
        <ref name="model.divPart"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.xtext">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.fileDescPart">
    <group>
      <ref name="titleStmt"/>
      <optional>
        <ref name="editionStmt"/>
      </optional>
      <optional>
        <ref name="extent"/>
      </optional>
      <ref name="publicationStmt"/>
      <optional>
        <ref name="seriesStmt"/>
      </optional>
      <optional>
        <ref name="notesStmt"/>
      </optional>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.glossSeq">
    <group>
      <optional>
        <ref name="altIdent"/>
      </optional>
      <zeroOrMore>
        <ref name="equiv"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="gloss"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="desc"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macro.schemapattern">
    <group>
      <choice>
        <text/>
        <oneOrMore>
          <ref name="pattern"/>
        </oneOrMore>
      </choice>
      <zeroOrMore>
        <ref name="anySchematron"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="anySchematron">
    <element>
      <nsName ns="http://www.ascc.net/xml/schematron"/>
      <zeroOrMore>
        <choice>
          <attribute>
            <anyName/>
          </attribute>
          <ref name="anySchematron"/>
          <text/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="anyTEI">
    <element>
      <choice>
        <name>teix:TEI</name>
        <name>teix:ab</name>
        <name>teix:abbr</name>
        <name>teix:accMat</name>
        <name>teix:acquisition</name>
        <name>teix:activity</name>
        <name>teix:actor</name>
        <name>teix:add</name>
        <name>teix:addName</name>
        <name>teix:addSpan</name>
        <name>teix:additional</name>
        <name>teix:additions</name>
        <name>teix:addrLine</name>
        <name>teix:address</name>
        <name>teix:adminInfo</name>
        <name>teix:affiliation</name>
        <name>teix:alt</name>
        <name>teix:altGrp</name>
        <name>teix:altIdent</name>
        <name>teix:altIdentifier</name>
        <name>teix:msName</name>
        <name>teix:analytic</name>
        <name>teix:anchor</name>
        <name>teix:app</name>
        <name>teix:arc</name>
        <name>teix:argument</name>
        <name>teix:att</name>
        <name>teix:attDef</name>
        <name>teix:attList</name>
        <name>teix:attRef</name>
        <name>teix:author</name>
        <name>teix:authority</name>
        <name>teix:availability</name>
        <name>teix:back</name>
        <name>teix:bibl</name>
        <name>teix:biblFull</name>
        <name>teix:biblItem</name>
        <name>teix:biblScope</name>
        <name>teix:biblStruct</name>
        <name>teix:bicond</name>
        <name>teix:binary</name>
        <name>teix:binding</name>
        <name>teix:bindingDesc</name>
        <name>teix:birth</name>
        <name>teix:bloc</name>
        <name>teix:binaryObject</name>
        <name>teix:body</name>
        <name>teix:broadcast</name>
        <name>teix:byline</name>
        <name>teix:c</name>
        <name>teix:caesura</name>
        <name>teix:camera</name>
        <name>teix:caption</name>
        <name>teix:case</name>
        <name>teix:castGroup</name>
        <name>teix:castItem</name>
        <name>teix:castList</name>
        <name>teix:catDesc</name>
        <name>teix:catRef</name>
        <name>teix:catchwords</name>
        <name>teix:category</name>
        <name>teix:cb</name>
        <name>teix:cell</name>
        <name>teix:certainty</name>
        <name>teix:change</name>
        <name>teix:channel</name>
        <name>teix:char</name>
        <name>teix:charDesc</name>
        <name>teix:charName</name>
        <name>teix:charProp</name>
        <name>teix:choice</name>
        <name>teix:cit</name>
        <name>teix:cl</name>
        <name>teix:classCode</name>
        <name>teix:classDecl</name>
        <name>teix:classSpec</name>
        <name>teix:classes</name>
        <name>teix:closer</name>
        <name>teix:code</name>
        <name>teix:collation</name>
        <name>teix:collection</name>
        <name>teix:colloc</name>
        <name>teix:colophon</name>
        <name>teix:cond</name>
        <name>teix:condition</name>
        <name>teix:constitution</name>
        <name>teix:content</name>
        <name>teix:corr</name>
        <name>teix:correction</name>
        <name>teix:country</name>
        <name>teix:cRefPattern</name>
        <name>teix:creation</name>
        <name>teix:custEvent</name>
        <name>teix:custodialHist</name>
        <name>teix:damage</name>
        <name>teix:datatype</name>
        <name>teix:date</name>
        <name>teix:dateRange</name>
        <name>teix:dateStruct</name>
        <name>teix:dateline</name>
        <name>teix:day</name>
        <name>teix:death</name>
        <name>teix:decoDesc</name>
        <name>teix:decoNote</name>
        <name>teix:def</name>
        <name>teix:default</name>
        <name>teix:defaultVal</name>
        <name>teix:del</name>
        <name>teix:delSpan</name>
        <name>teix:depth</name>
        <name>teix:derivation</name>
        <name>teix:desc</name>
        <name>teix:dictScrap</name>
        <name>teix:dicteg</name>
        <name>teix:dimensions</name>
        <name>teix:distance</name>
        <name>teix:distinct</name>
        <name>teix:distributor</name>
        <name>teix:district</name>
        <name>teix:div0</name>
        <name>teix:div1</name>
        <name>teix:div2</name>
        <name>teix:div3</name>
        <name>teix:div4</name>
        <name>teix:div5</name>
        <name>teix:div6</name>
        <name>teix:div7</name>
        <name>teix:div</name>
        <name>teix:divGen</name>
        <name>teix:docAuthor</name>
        <name>teix:docDate</name>
        <name>teix:docEdition</name>
        <name>teix:docImprint</name>
        <name>teix:docTitle</name>
        <name>teix:domain</name>
        <name>teix:eLeaf</name>
        <name>teix:eTree</name>
        <name>teix:edition</name>
        <name>teix:editionStmt</name>
        <name>teix:editor</name>
        <name>teix:editorialDecl</name>
        <name>teix:education</name>
        <name>teix:eg</name>
        <name>teix:egXML</name>
        <name>teix:elementSpec</name>
        <name>teix:emph</name>
        <name>teix:encodingDesc</name>
        <name>teix:entry</name>
        <name>teix:entryFree</name>
        <name>teix:epigraph</name>
        <name>teix:epilogue</name>
        <name>teix:equipment</name>
        <name>teix:equiv</name>
        <name>teix:etym</name>
        <name>teix:event</name>
        <name>teix:exemplum</name>
        <name>teix:expan</name>
        <name>teix:explicit</name>
        <name>teix:extent</name>
        <name>teix:f</name>
        <name>teix:fDecl</name>
        <name>teix:fDescr</name>
        <name>teix:finalRubric</name>
        <name>teix:fLib</name>
        <name>teix:factuality</name>
        <name>teix:figDesc</name>
        <name>teix:figure</name>
        <name>teix:fileDesc</name>
        <name>teix:filiation</name>
        <name>teix:firstLang</name>
        <name>teix:foliation</name>
        <name>teix:forename</name>
        <name>teix:foreign</name>
        <name>teix:forest</name>
        <name>teix:forestGrp</name>
        <name>teix:form</name>
        <name>teix:formula</name>
        <name>teix:front</name>
        <name>teix:fs</name>
        <name>teix:fsConstraints</name>
        <name>teix:fsDecl</name>
        <name>teix:fsDescr</name>
        <name>teix:fsdDecl</name>
        <name>teix:funder</name>
        <name>teix:fvLib</name>
        <name>teix:fw</name>
        <name>teix:g</name>
        <name>teix:gap</name>
        <name>teix:gen</name>
        <name>teix:genName</name>
        <name>teix:geog</name>
        <name>teix:geogName</name>
        <name>teix:gi</name>
        <name>teix:gloss</name>
        <name>teix:glyph</name>
        <name>teix:glyphName</name>
        <name>teix:gram</name>
        <name>teix:gramGrp</name>
        <name>teix:graph</name>
        <name>teix:graphic</name>
        <name>teix:group</name>
        <name>teix:hand</name>
        <name>teix:handDesc</name>
        <name>teix:handList</name>
        <name>teix:handNote</name>
        <name>teix:handShift</name>
        <name>teix:head</name>
        <name>teix:headItem</name>
        <name>teix:headLabel</name>
        <name>teix:height</name>
        <name>teix:heraldry</name>
        <name>teix:hi</name>
        <name>teix:history</name>
        <name>teix:hom</name>
        <name>teix:hour</name>
        <name>teix:hyph</name>
        <name>teix:hyphenation</name>
        <name>teix:iNode</name>
        <name>teix:ident</name>
        <name>teix:idno</name>
        <name>teix:if</name>
        <name>teix:iff</name>
        <name>teix:imprimatur</name>
        <name>teix:imprint</name>
        <name>teix:incipit</name>
        <name>teix:index</name>
        <name>teix:institution</name>
        <name>teix:interaction</name>
        <name>teix:interp</name>
        <name>teix:interpGrp</name>
        <name>teix:interpretation</name>
        <name>teix:item</name>
        <name>teix:iType</name>
        <name>teix:join</name>
        <name>teix:joinGrp</name>
        <name>teix:keywords</name>
        <name>teix:kinesic</name>
        <name>teix:l</name>
        <name>teix:label</name>
        <name>teix:lacunaEnd</name>
        <name>teix:lacunaStart</name>
        <name>teix:lang</name>
        <name>teix:langKnown</name>
        <name>teix:langUsage</name>
        <name>teix:language</name>
        <name>teix:layout</name>
        <name>teix:layoutDesc</name>
        <name>teix:lb</name>
        <name>teix:lbl</name>
        <name>teix:leaf</name>
        <name>teix:lem</name>
        <name>teix:lg</name>
        <name>teix:link</name>
        <name>teix:linkGrp</name>
        <name>teix:list</name>
        <name>teix:listBibl</name>
        <name>teix:listPerson</name>
        <name>teix:listRef</name>
        <name>teix:localName</name>
        <name>teix:locale</name>
        <name>teix:locus</name>
        <name>teix:m</name>
        <name>teix:macroSpec</name>
        <name>teix:mapping</name>
        <name>teix:material</name>
        <name>teix:measure</name>
        <name>teix:meeting</name>
        <name>teix:memberOf</name>
        <name>teix:mentioned</name>
        <name>teix:metDecl</name>
        <name>teix:metSym</name>
        <name>teix:milestone</name>
        <name>teix:minute</name>
        <name>teix:moduleRef</name>
        <name>teix:moduleSpec</name>
        <name>teix:monogr</name>
        <name>teix:month</name>
        <name>teix:mood</name>
        <name>teix:move</name>
        <name>teix:msContents</name>
        <name>teix:msDescription</name>
        <name>teix:msIdentifier</name>
        <name>teix:msItem</name>
        <name>teix:msName</name>
        <name>teix:msItemStruct</name>
        <name>teix:msPart</name>
        <name>teix:musicNotation</name>
        <name>teix:name</name>
        <name>teix:nameLink</name>
        <name>teix:nationality</name>
        <name>teix:node</name>
        <name>teix:normalization</name>
        <name>teix:note</name>
        <name>teix:notesStmt</name>
        <name>teix:num</name>
        <name>teix:number</name>
        <name>teix:numeric</name>
        <name>teix:oRef</name>
        <name>teix:oVar</name>
        <name>teix:objectDesc</name>
        <name>teix:occasion</name>
        <name>teix:occupation</name>
        <name>teix:offset</name>
        <name>teix:opener</name>
        <name>teix:orgDivn</name>
        <name>teix:orgName</name>
        <name>teix:orgTitle</name>
        <name>teix:orgType</name>
        <name>teix:orig</name>
        <name>teix:origDate</name>
        <name>teix:origPlace</name>
        <name>teix:origin</name>
        <name>teix:orth</name>
        <name>teix:p</name>
        <name>teix:pRef</name>
        <name>teix:pVar</name>
        <name>teix:particDesc</name>
        <name>teix:particLinks</name>
        <name>teix:pause</name>
        <name>teix:pb</name>
        <name>teix:per</name>
        <name>teix:performance</name>
        <name>teix:persName</name>
        <name>teix:person</name>
        <name>teix:personGrp</name>
        <name>teix:phr</name>
        <name>teix:physDesc</name>
        <name>teix:placeName</name>
        <name>teix:pos</name>
        <name>teix:postBox</name>
        <name>teix:postCode</name>
        <name>teix:preparedness</name>
        <name>teix:principal</name>
        <name>teix:profileDesc</name>
        <name>teix:projectDesc</name>
        <name>teix:prologue</name>
        <name>teix:pron</name>
        <name>teix:provenance</name>
        <name>teix:ptr</name>
        <name>teix:pubPlace</name>
        <name>teix:publicationStmt</name>
        <name>teix:publisher</name>
        <name>teix:purpose</name>
        <name>teix:q</name>
        <name>teix:quotation</name>
        <name>teix:quote</name>
        <name>teix:rdg</name>
        <name>teix:rdgGrp</name>
        <name>teix:re</name>
        <name>teix:recordHist</name>
        <name>teix:recording</name>
        <name>teix:recordingStmt</name>
        <name>teix:ref</name>
        <name>teix:refsDecl</name>
        <name>teix:reg</name>
        <name>teix:region</name>
        <name>teix:relation</name>
        <name>teix:remarks</name>
        <name>teix:rendition</name>
        <name>teix:repository</name>
        <name>teix:residence</name>
        <name>teix:resp</name>
        <name>teix:respStmt</name>
        <name>teix:respons</name>
        <name>teix:restore</name>
        <name>teix:revisionDesc</name>
        <name>teix:role</name>
        <name>teix:rhyme</name>
        <name>teix:roleDesc</name>
        <name>teix:roleName</name>
        <name>teix:root</name>
        <name>teix:row</name>
        <name>teix:rs</name>
        <name>teix:rubric</name>
        <name>teix:s</name>
        <name>teix:salute</name>
        <name>teix:samplingDecl</name>
        <name>teix:schemaSpec</name>
        <name>teix:scriptStmt</name>
        <name>teix:seal</name>
        <name>teix:sealDesc</name>
        <name>teix:secFol</name>
        <name>teix:second</name>
        <name>teix:seg</name>
        <name>teix:segmentation</name>
        <name>teix:sense</name>
        <name>teix:series</name>
        <name>teix:seriesStmt</name>
        <name>teix:set</name>
        <name>teix:setting</name>
        <name>teix:settingDesc</name>
        <name>teix:settlement</name>
        <name>teix:shift</name>
        <name>teix:sic</name>
        <name>teix:signatures</name>
        <name>teix:signed</name>
        <name>teix:soCalled</name>
        <name>teix:socecStatus</name>
        <name>teix:sound</name>
        <name>teix:source</name>
        <name>teix:sourceDesc</name>
        <name>teix:sp</name>
        <name>teix:space</name>
        <name>teix:span</name>
        <name>teix:spanGrp</name>
        <name>teix:speaker</name>
        <name>teix:specDesc</name>
        <name>teix:specGrp</name>
        <name>teix:specGrpRef</name>
        <name>teix:specList</name>
        <name>teix:sponsor</name>
        <name>teix:stage</name>
        <name>teix:state</name>
        <name>teix:stdVals</name>
        <name>teix:street</name>
        <name>teix:stress</name>
        <name>teix:string</name>
        <name>teix:stringVal</name>
        <name>teix:subc</name>
        <name>teix:summary</name>
        <name>teix:superEntry</name>
        <name>teix:supplied</name>
        <name>teix:support</name>
        <name>teix:supportDesc</name>
        <name>teix:surname</name>
        <name>teix:surrogates</name>
        <name>teix:syll</name>
        <name>teix:symbol</name>
        <name>teix:table</name>
        <name>teix:tag</name>
        <name>teix:tagUsage</name>
        <name>teix:tagsDecl</name>
        <name>teix:taxonomy</name>
        <name>teix:tech</name>
        <name>teix:teiCorpus</name>
        <name>teix:teiHeader</name>
        <name>teix:teifsd</name>
        <name>teix:term</name>
        <name>teix:text</name>
        <name>teix:textClass</name>
        <name>teix:textDesc</name>
        <name>teix:textLang</name>
        <name>teix:then</name>
        <name>teix:time</name>
        <name>teix:timeRange</name>
        <name>teix:timeStruct</name>
        <name>teix:timeline</name>
        <name>teix:title</name>
        <name>teix:titlePage</name>
        <name>teix:titlePart</name>
        <name>teix:titleStmt</name>
        <name>teix:tns</name>
        <name>teix:tr</name>
        <name>teix:trailer</name>
        <name>teix:trans</name>
        <name>teix:tree</name>
        <name>teix:triangle</name>
        <name>teix:u</name>
        <name>teix:unclear</name>
        <name>teix:unicodeName</name>
        <name>teix:usg</name>
        <name>teix:vAlt</name>
        <name>teix:vDefault</name>
        <name>teix:vLabel</name>
        <name>teix:vMerge</name>
        <name>teix:vNot</name>
        <name>teix:vRange</name>
        <name>teix:val</name>
        <name>teix:valDesc</name>
        <name>teix:valItem</name>
        <name>teix:valList</name>
        <name>teix:value</name>
        <name>teix:variantEncoding</name>
        <name>teix:vColl</name>
        <name>teix:view</name>
        <name>teix:vocal</name>
        <name>teix:w</name>
        <name>teix:watermark</name>
        <name>teix:week</name>
        <name>teix:when</name>
        <name>teix:width</name>
        <name>teix:wit</name>
        <name>teix:witDetail</name>
        <name>teix:witEnd</name>
        <name>teix:witList</name>
        <name>teix:witStart</name>
        <name>teix:witness</name>
        <name>teix:writing</name>
        <name>teix:xr</name>
        <name>teix:year</name>
        <name>teix:year</name>
      </choice>
      <ref name="att.global.attribute.xmlid"/>
      <ref name="att.global.attribute.xmllang"/>
      <zeroOrMore>
        <attribute>
          <anyName>
            <except>
              <name>xml:id</name>
              <name>xml:lang</name>
            </except>
          </anyName>
        </attribute>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="anyTEI"/>
          <ref name="macro.schemapattern"/>
          <ref name="mathml.math"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.ascribed.attributes">
    <ref name="att.ascribed.attribute.who"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.ascribed.attribute.who">
    <optional>
      <attribute name="who">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the person, or group of
	people, to whom the element content is ascribed.</a:documentation>
        <ref name="data.pointers"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.datable.attributes">
    <ref name="att.datable.attribute.notBefore"/>
    <ref name="att.datable.attribute.notAfter"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.datable.attribute.notBefore">
    <optional>
      <attribute name="notBefore">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the earliest possible date for the event in
	standard form, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="data.temporal"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.datable.attribute.notAfter">
    <optional>
      <attribute name="notAfter">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the latest possible date for the event in
	standard form, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="data.temporal"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.declarable.attributes">
    <ref name="att.declarable.attribute.default"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.declarable.attribute.default">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="default" a:defaultValue="false">
        <a:documentation>indicates whether or not this element is selected by default when
its parent is selected.</a:documentation>
        <choice>
          <value>true</value>
          <a:documentation>(This element is selected if its parent is selected) </a:documentation>
          <value>false</value>
          <a:documentation>(This element can only be selected explicitly, unless it is the
only one of its kind, in which case it is selected if its parent is selected.) </a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.declaring.attributes">
    <ref name="att.declaring.attribute.decls"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.declaring.attribute.decls">
    <optional>
      <attribute name="decls">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies one or more declarable elements within the
header, which are understood to apply to the element bearing this
attribute and its content.</a:documentation>
        <ref name="data.pointers"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.divLike.attributes">
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.divLike.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a name conventionally used for this level of
		subdivision, e.g. act, volume, book,
		section, canto, etc.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.divLike.attribute.org">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="org" a:defaultValue="uniform">
        <a:documentation>specifies how the content of the division is organized.</a:documentation>
        <choice>
          <value>composite</value>
          <a:documentation>(composite content: i.e. no claim is made about the
		  sequence in which the immediate contents of this division
		  are to be processed, or their inter-relationships.) </a:documentation>
          <value>uniform</value>
          <a:documentation>(uniform content: i.e. the immediate contents of this
		  element are regarded as forming a logical unit, to be
		  processed in sequence.) </a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.divLike.attribute.sample">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="sample" a:defaultValue="complete">
        <a:documentation>indicates whether this division is a sample of the
		original source and if so, from which part.</a:documentation>
        <choice>
          <value>initial</value>
          <a:documentation>(division lacks material present at end in source.) </a:documentation>
          <value>medial</value>
          <a:documentation>(division lacks material at start and end.) </a:documentation>
          <value>final</value>
          <a:documentation>(division lacks material at start.) </a:documentation>
          <value>unknown</value>
          <a:documentation>(position of sampled material within original unknown.) </a:documentation>
          <value>complete</value>
          <a:documentation>(division is not a sample.) </a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.divLike.attribute.part">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="part" a:defaultValue="N">
        <a:documentation>specifies whether or not the division is fragmented by
		some other structural element, for example a speech which is
		divided between two or more verse stanzas.</a:documentation>
        <choice>
          <value>Y</value>
          <a:documentation>(the division is incomplete in some respect) </a:documentation>
          <value>N</value>
          <a:documentation>(either the division is complete, or no claim is made as to its completeness.) </a:documentation>
          <value>I</value>
          <a:documentation>(the initial part of an incomplete division) </a:documentation>
          <value>M</value>
          <a:documentation>(a medial part of an incomplete division) </a:documentation>
          <value>F</value>
          <a:documentation>(the final part of an incomplete division) </a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.interpLike.attributes">
    <ref name="att.interpLike.attribute.resp"/>
    <ref name="att.interpLike.attribute.type"/>
    <ref name="att.interpLike.attribute.inst"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.interpLike.attribute.resp">
    <optional>
      <attribute name="resp">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates who is responsible for the interpretation.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.interpLike.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates what kind of phenomenon is being noted in the passage.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.interpLike.attribute.inst">
    <optional>
      <attribute name="inst">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to instances of the analysis or interpretation represented
by the current element.</a:documentation>
        <ref name="data.pointers"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.editLike.attributes">
    <ref name="att.editLike.attribute.cert"/>
    <ref name="att.editLike.attribute.resp"/>
    <ref name="att.editLike.attribute.evidence"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.editLike.attribute.cert">
    <optional>
      <attribute name="cert">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the degree of certainty associated with the
	intervention or interpretation.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.editLike.attribute.resp">
    <optional>
      <attribute name="resp">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the agency responsible for the
	intervention or interpretation, for example an editor or transcriber.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.editLike.attribute.evidence">
    <optional>
      <attribute name="evidence">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the nature of the evidence supporting the reliability or
  accuracy of the intervention or interpretation.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.attribute.xmlid">
    <optional>
      <attribute name="xml:id">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a unique identifier for the element bearing the
      attribute.</a:documentation>
        <data type="ID"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.attribute.n">
    <optional>
      <attribute name="n">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a number (or other label) for an element, which is
      not necessarily unique within the document.</a:documentation>
        <ref name="data.words"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.attribute.xmllang">
    <optional>
      <attribute name="xml:lang">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the language of the element content using the
      codes from RFC
      3066</a:documentation>
        <ref name="data.language"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.attribute.rend">
    <optional>
      <attribute name="rend">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates how the element in question was rendered or
	presented in the source text.</a:documentation>
        <ref name="data.words"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.attribute.xmlbase">
    <optional>
      <attribute name="xml:base">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a base URI reference with which applications can
      resolve relative URI references into absolute URI
      references.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.measured.attributes">
    <ref name="att.measured.attribute.unit"/>
    <ref name="att.measured.attribute.scope"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.measured.attribute.unit">
    <optional>
      <attribute name="unit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">names the units used for the measurement.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.measured.attribute.scope">
    <optional>
      <attribute name="scope">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the applicability of this measurement, where
   more than one object is being measured.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.measurement.attributes">
    <ref name="att.measurement.attribute.unit"/>
    <ref name="att.measurement.attribute.quantity"/>
    <ref name="att.measurement.attribute.commodity"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.measurement.attribute.unit">
    <optional>
      <attribute name="unit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the units used for the measurement, usually
      using the standard symbol for the desired units.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.measurement.attribute.quantity">
    <optional>
      <attribute name="quantity">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of the specified units that
      comprise the measurement</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.measurement.attribute.commodity">
    <optional>
      <attribute name="commodity">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the substance that is being measured</a:documentation>
        <ref name="data.words"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.naming.attributes">
    <ref name="att.naming.attribute.key"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.naming.attribute.key">
    <optional>
      <attribute name="key">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a means of locating a full definition for the entity being named
such as a database record key or URI.</a:documentation>
        <ref name="data.key"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.segLike.attributes">
    <ref name="att.segLike.attribute.type"/>
    <ref name="att.segLike.attribute.function"/>
    <ref name="att.segLike.attribute.part"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.segLike.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the type of segment.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.segLike.attribute.function">
    <optional>
      <attribute name="function">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the function of the segment.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.segLike.attribute.part">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="part" a:defaultValue="N">
        <a:documentation>specifies whether or not the segment is fragmented by some other
structural element, for example a clause which is divided between two
or more sentences.</a:documentation>
        <choice>
          <value>Y</value>
          <a:documentation>(the segment is incomplete in some respect) </a:documentation>
          <value>N</value>
          <a:documentation>(either the segment is complete, or no claim is made as to
its completeness) </a:documentation>
          <value>I</value>
          <a:documentation>(the initial part of an incomplete segment) </a:documentation>
          <value>M</value>
          <a:documentation>(a medial part of an incomplete segment) </a:documentation>
          <value>F</value>
          <a:documentation>(the final part of an incomplete segment) </a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.spanning.attributes">
    <ref name="att.spanning.attribute.spanTo"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.spanning.attribute.spanTo">
    <optional>
      <attribute name="spanTo">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the end of a span initiated by the element
	bearing this attribute.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.timed.attributes">
    <ref name="att.timed.attribute.start"/>
    <ref name="att.timed.attribute.end"/>
    <ref name="att.timed.attribute.dur"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.timed.attribute.start">
    <optional>
      <attribute name="start">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location within a temporal alignment
      at which this element begins.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.timed.attribute.end">
    <optional>
      <attribute name="end">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location within a temporal alignment at which
   this element ends.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.timed.attribute.dur">
    <optional>
      <attribute name="dur">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the length of this element in time, using either
         specific units or the units specified on the associated temporal
         alignment.
   </a:documentation>
        <data type="duration"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.typed.attributes">
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.typed.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the element in some sense, using any convenient
 classification scheme or typology.</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.typed.attribute.subtype">
    <optional>
      <attribute name="subtype">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a sub-categorization of the element, if needed</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.nameLike.agent">
    <choice>
      <ref name="name"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.segLike">
    <choice>
      <ref name="seg"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.hiLike">
    <choice>
      <ref name="foreign"/>
      <ref name="emph"/>
      <ref name="hi"/>
      <ref name="distinct"/>
      <ref name="mentioned"/>
      <ref name="soCalled"/>
      <ref name="gloss"/>
      <ref name="term"/>
      <ref name="title"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.dateLike">
    <choice>
      <ref name="date"/>
      <ref name="dateRange"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.timeLike">
    <choice>
      <ref name="time"/>
      <ref name="timeRange"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.measureLike">
    <choice>
      <ref name="num"/>
      <ref name="measure"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.graphicLike">
    <choice>
      <ref name="graphic"/>
      <ref name="binaryObject"/>
      <ref name="eg"/>
      <ref name="egXML"/>
      <ref name="formula"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.pPart.msdesc">
    <choice>
      <notAllowed/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.pPart.edit">
    <choice>
      <ref name="sic"/>
      <ref name="corr"/>
      <ref name="choice"/>
      <ref name="reg"/>
      <ref name="orig"/>
      <ref name="add"/>
      <ref name="del"/>
      <ref name="unclear"/>
      <ref name="abbr"/>
      <ref name="expan"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.ptrLike">
    <choice>
      <ref name="ptr"/>
      <ref name="ref"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.lPart">
    <choice>
      <notAllowed/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.global.meta">
    <choice>
      <ref name="index"/>
      <ref name="link"/>
      <ref name="linkGrp"/>
      <ref name="timeline"/>
      <ref name="join"/>
      <ref name="joinGrp"/>
      <ref name="alt"/>
      <ref name="altGrp"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.milestoneLike">
    <choice>
      <ref name="milestone"/>
      <ref name="pb"/>
      <ref name="lb"/>
      <ref name="cb"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.gLike">
    <choice>
      <ref name="g"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.oddDecl">
    <choice>
      <ref name="moduleSpec"/>
      <ref name="specGrp"/>
      <ref name="elementSpec"/>
      <ref name="classSpec"/>
      <ref name="macroSpec"/>
      <ref name="listRef"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.oddRef">
    <choice>
      <ref name="moduleRef"/>
      <ref name="specGrpRef"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.oddPhr">
    <choice>
      <ref name="att"/>
      <ref name="code"/>
      <ref name="gi"/>
      <ref name="ident"/>
      <ref name="tag"/>
      <ref name="val"/>
      <ref name="specList"/>
      <ref name="specDesc"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.qLike">
    <choice>
      <ref name="q"/>
      <ref name="quote"/>
      <ref name="cit"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.biblLike">
    <choice>
      <ref name="bibl"/>
      <ref name="biblItem"/>
      <ref name="biblStruct"/>
      <ref name="biblFull"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.listLike">
    <choice>
      <ref name="list"/>
      <ref name="listBibl"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.noteLike">
    <choice>
      <ref name="note"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.stageLike">
    <choice>
      <ref name="stage"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.complexVal">
    <choice>
      <notAllowed/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.singleVal">
    <choice>
      <notAllowed/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.entryParts.top">
    <choice>
      <ref name="note"/>
      <ref name="dictScrap"/>
      <ref name="form"/>
      <ref name="gramGrp"/>
      <ref name="def"/>
      <ref name="trans"/>
      <ref name="etym"/>
      <ref name="dicteg"/>
      <ref name="usg"/>
      <ref name="xr"/>
      <ref name="re"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.global.edit">
    <choice>
      <ref name="gap"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.divPart">
    <choice>
      <ref name="p"/>
      <ref name="l"/>
      <ref name="lg"/>
      <ref name="sp"/>
      <ref name="schemaSpec"/>
      <ref name="ab"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.blockLike">
    <choice>
      <ref name="seg"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.pLike">
    <choice>
      <ref name="p"/>
      <ref name="ab"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.publicationStmtPart">
    <choice>
      <ref name="address"/>
      <ref name="date"/>
      <ref name="publisher"/>
      <ref name="pubPlace"/>
      <ref name="distributor"/>
      <ref name="authority"/>
      <ref name="idno"/>
      <ref name="availability"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.glossLike">
    <choice>
      <ref name="altIdent"/>
      <ref name="desc"/>
      <ref name="equiv"/>
      <ref name="gloss"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.quoteLike">
    <choice>
      <ref name="quote"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.respLike">
    <choice>
      <ref name="author"/>
      <ref name="editor"/>
      <ref name="respStmt"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.personPart">
    <choice>
      <ref name="note"/>
      <ref name="bibl"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.divWrapper.bottom">
    <choice>
      <ref name="trailer"/>
      <ref name="closer"/>
      <ref name="signed"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.divWrapper">
    <choice>
      <ref name="head"/>
      <ref name="byline"/>
      <ref name="dateline"/>
      <ref name="argument"/>
      <ref name="epigraph"/>
      <ref name="opener"/>
      <ref name="salute"/>
      <ref name="docAuthor"/>
      <ref name="docDate"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.frontPart.drama">
    <choice>
      <notAllowed/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.pLike.front">
    <choice>
      <ref name="head"/>
      <ref name="byline"/>
      <ref name="argument"/>
      <ref name="epigraph"/>
      <ref name="docTitle"/>
      <ref name="titlePart"/>
      <ref name="docAuthor"/>
      <ref name="docEdition"/>
      <ref name="docImprint"/>
      <ref name="docDate"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.titlepagePart">
    <choice>
      <ref name="graphic"/>
      <ref name="binaryObject"/>
      <ref name="byline"/>
      <ref name="epigraph"/>
      <ref name="docTitle"/>
      <ref name="titlePart"/>
      <ref name="docAuthor"/>
      <ref name="imprimatur"/>
      <ref name="docEdition"/>
      <ref name="docImprint"/>
      <ref name="docDate"/>
      <ref name="figure"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.msItemPart">
    <choice>
      <ref name="model.respLike"/>
      <ref name="q"/>
      <ref name="note"/>
      <ref name="bibl"/>
      <ref name="listBibl"/>
      <ref name="title"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.choicePart">
    <choice>
      <ref name="sic"/>
      <ref name="corr"/>
      <ref name="reg"/>
      <ref name="orig"/>
      <ref name="unclear"/>
      <ref name="abbr"/>
      <ref name="expan"/>
      <ref name="seg"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.lLike">
    <choice>
      <ref name="l"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.recordingPart">
    <choice>
      <ref name="model.dateLike"/>
      <ref name="respStmt"/>
      <ref name="equipment"/>
      <ref name="broadcast"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.imprintPart">
    <choice>
      <ref name="publisher"/>
      <ref name="biblScope"/>
      <ref name="pubPlace"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.catDescPart">
    <choice>
      <notAllowed/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.nameLike">
    <choice>
      <ref name="model.nameLike.agent"/>
      <ref name="rs"/>
      <ref name="lang"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.global">
    <choice>
      <ref name="model.global.meta"/>
      <ref name="model.milestoneLike"/>
      <ref name="model.global.edit"/>
      <ref name="anchor"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.featureVal">
    <choice>
      <ref name="model.complexVal"/>
      <ref name="model.singleVal"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.common">
    <choice>
      <ref name="model.oddDecl"/>
      <ref name="model.oddRef"/>
      <ref name="model.qLike"/>
      <ref name="model.biblLike"/>
      <ref name="model.listLike"/>
      <ref name="model.noteLike"/>
      <ref name="model.divPart"/>
      <ref name="label"/>
      <ref name="eg"/>
      <ref name="egXML"/>
      <ref name="table"/>
      <ref name="figure"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.biblPart">
    <choice>
      <ref name="model.respLike"/>
      <ref name="model.imprintPart"/>
      <ref name="note"/>
      <ref name="series"/>
      <ref name="edition"/>
      <ref name="extent"/>
      <ref name="distributor"/>
      <ref name="idno"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.frontPart">
    <choice>
      <ref name="model.frontPart.drama"/>
      <ref name="divGen"/>
      <ref name="titlePage"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.addrPart">
    <choice>
      <ref name="model.nameLike"/>
      <ref name="addrLine"/>
      <ref name="street"/>
      <ref name="postCode"/>
      <ref name="postBox"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.pPart.data">
    <choice>
      <ref name="model.dateLike"/>
      <ref name="model.timeLike"/>
      <ref name="model.measureLike"/>
      <ref name="model.nameLike"/>
      <ref name="address"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.inter">
    <choice>
      <ref name="model.oddDecl"/>
      <ref name="model.oddRef"/>
      <ref name="model.qLike"/>
      <ref name="model.biblLike"/>
      <ref name="model.listLike"/>
      <ref name="model.noteLike"/>
      <ref name="model.stageLike"/>
      <ref name="label"/>
      <ref name="text"/>
      <ref name="table"/>
      <ref name="figure"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.phrase">
    <choice>
      <ref name="model.segLike"/>
      <ref name="model.hiLike"/>
      <ref name="model.graphicLike"/>
      <ref name="model.pPart.msdesc"/>
      <ref name="model.pPart.edit"/>
      <ref name="model.ptrLike"/>
      <ref name="model.lPart"/>
      <ref name="model.oddPhr"/>
      <ref name="model.pPart.data"/>
      <ref name="model.ptrLike.form"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="p">
    <element name="p">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(paragraph) marks paragraphs in prose.</a:documentation>
      <ref name="p.content"/>
      <ref name="p.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="p.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="p.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="foreign">
    <element name="foreign">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(foreign) identifies a word or phrase as belonging to some language other
than that of the surrounding text. </a:documentation>
      <ref name="foreign.content"/>
      <ref name="foreign.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="foreign.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="foreign.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="emph">
    <element name="emph">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(emphasized) marks words or phrases which are stressed or emphasized for
linguistic or rhetorical effect.</a:documentation>
      <ref name="emph.content"/>
      <ref name="emph.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="emph.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="emph.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hi">
    <element name="hi">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(highlighted) marks a word or phrase as graphically distinct from the
surrounding text, for reasons concerning which no claim is
made. </a:documentation>
      <ref name="hi.content"/>
      <ref name="hi.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hi.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hi.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="distinct">
    <element name="distinct">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(distinct) identifies any word or phrase which is regarded as linguistically
distinct, for example as archaic, technical, dialectal, non-preferred,
etc., or as forming part of a sublanguage. </a:documentation>
      <ref name="distinct.content"/>
      <ref name="distinct.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="distinct.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="distinct.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sublanguage or register to which the word or phrase
is being assigned</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="time">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies how the phrase is distinct diachronically</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="space">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies how the phrase is distinct diatopically</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="social">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies how the phrase is distinct diastatically</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="q">
    <element name="q">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(quoted speech, thought, or writing) contains material which is
marked as (ostensibly) quoted from elsewhere; in narrative, this element is used to mark direct or
indirect speech; in dictionaries, it ay be used to mark
real or contrived examples of usage; in manuscript descriptions or
other metadata, to mark extracts quoted from the source being documented.</a:documentation>
      <ref name="q.content"/>
      <ref name="q.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="q.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.specialPara"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="q.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.ascribed.attribute.who"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">may be used to indicate whether the quoted matter is spoken
or thought, or to characterize it more finely.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="direct" a:defaultValue="unknown">
        <a:documentation>may be used to indicate whether the quoted matter is regarded
as direct or indirect speech.</a:documentation>
        <choice>
          <value>true</value>
          <a:documentation>(speech or thought is represented directly.) </a:documentation>
          <value>false</value>
          <a:documentation>(speech or thought is represented indirectly,
e.g. by use of a marked verbal aspect.) </a:documentation>
          <value>unknown</value>
          <a:documentation>(no claim is made.) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="quote">
    <element name="quote">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(quotation) contains a phrase or passage attributed by the narrator or
author to some agency external to the text. </a:documentation>
      <ref name="quote.content"/>
      <ref name="quote.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="quote.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.specialPara"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="quote.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cit">
    <element name="cit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A quotation from some other document, together with a
  bibliographic reference to its source.</a:documentation>
      <ref name="cit.content"/>
      <ref name="cit.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cit.content">
    <oneOrMore>
      <choice>
        <ref name="model.quoteLike"/>
        <ref name="model.biblLike"/>
        <ref name="model.ptrLike"/>
        <ref name="model.global"/>
      </choice>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cit.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mentioned">
    <element name="mentioned">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks words or phrases mentioned, not used.</a:documentation>
      <ref name="mentioned.content"/>
      <ref name="mentioned.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mentioned.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mentioned.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="soCalled">
    <element name="soCalled">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(so called) contains a word or phrase for which the author or narrator
indicates a disclaiming of responsibility, for example by the use
of scare quotes or italics.</a:documentation>
      <ref name="soCalled.content"/>
      <ref name="soCalled.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="soCalled.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="soCalled.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="altIdent">
    <element name="altIdent">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the recommended XML name for an element, class,
  attribute, etc. in some language.</a:documentation>
      <ref name="altIdent.content"/>
      <ref name="altIdent.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="altIdent.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="altIdent.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="desc">
    <element name="desc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(description) contains a brief description of the purpose and application for
an element, attribute, or attribute value.</a:documentation>
      <ref name="desc.content"/>
      <ref name="desc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="desc.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="desc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="equiv">
    <element name="equiv">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a component which is considered equivalent to the
  parent element, either by co-reference, or by external link.</a:documentation>
      <ref name="equiv.content"/>
      <ref name="equiv.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="equiv.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="equiv.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="name">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">names the underlying concept of which the parent is a
  representation</a:documentation>
        <ref name="data.name"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="uri">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">references the underlying concept of which the parent is a
  representation by means of some external identifier</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="filter">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">references an external script which contains a method to
transform instances of this element to canonical TEI
	</a:documentation>
        <data type="anyURI"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="mimeType">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIME type of external filter script</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gloss">
    <element name="gloss">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies a phrase or word used to provide a gloss or
  definition for some other word or phrase.</a:documentation>
      <ref name="gloss.content"/>
      <ref name="gloss.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gloss.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gloss.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declaring.attribute.decls"/>
    <optional>
      <choice>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the associated term element by an
      absolute or relative URI reference</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
        <attribute name="cRef">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the associated term element using a canonical
      reference from a scheme defined in a refsDecl element
      in the TEI header</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </choice>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="term">
    <element name="term">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a single-word, multi-word, or symbolic designation
  which is regarded as a technical term.</a:documentation>
      <ref name="term.content"/>
      <ref name="term.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="term.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="term.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declaring.attribute.decls"/>
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
    <optional>
      <attribute name="sortKey">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the sort key for this term in an index.</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
    <optional>
      <choice>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the associated gloss element by an
	absolute or relative URI reference</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
        <attribute name="cRef">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the associated gloss element using a
	canonical reference from a scheme defined in a
	refsDecl element in the TEI header</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </choice>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sic">
    <element name="sic">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains text reproduced although apparently incorrect or inaccurate.</a:documentation>
      <ref name="sic.content"/>
      <ref name="sic.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sic.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sic.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="corr">
    <element name="corr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(correction) contains the correct form of a passage apparently erroneous in the copy text.</a:documentation>
      <ref name="corr.content"/>
      <ref name="corr.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="corr.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="corr.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.editLike.attribute.cert"/>
    <ref name="att.editLike.attribute.resp"/>
    <ref name="att.editLike.attribute.evidence"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="choice">
    <element name="choice">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups a number of alternative encodings for the same point in
  a text.</a:documentation>
      <ref name="choice.content"/>
      <ref name="choice.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="choice.content">
    <zeroOrMore>
      <choice>
        <ref name="model.choicePart"/>
        <ref name="choice"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="choice.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="reg">
    <element name="reg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(regularization) contains a reading which has been regularized or normalized
in some sense.</a:documentation>
      <ref name="reg.content"/>
      <ref name="reg.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="reg.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="reg.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.editLike.attribute.cert"/>
    <ref name="att.editLike.attribute.resp"/>
    <ref name="att.editLike.attribute.evidence"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orig">
    <element name="orig">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(original form) contains  a reading which is marked as following  the original,
rather than being normalized or corrected.</a:documentation>
      <ref name="orig.content"/>
      <ref name="orig.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orig.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orig.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gap">
    <element name="gap">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(omitted material) indicates a point where material has been omitted in a
transcription, whether for editorial reasons described in the TEI
header, as part of sampling practice, or because the material is
illegible or inaudible.</a:documentation>
      <ref name="gap.content"/>
      <ref name="gap.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gap.content">
    <optional>
      <ref name="macro.glossSeq"/>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gap.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.editLike.attribute.cert"/>
    <ref name="att.editLike.attribute.resp"/>
    <ref name="att.editLike.attribute.evidence"/>
    <optional>
      <attribute name="reason">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the reason for omission.  Sample values include
sampling, illegible, inaudible,
irrelevant, cancelled, cancelled and illegible.</a:documentation>
        <ref name="data.words"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="hand">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the case of text omitted from the transcription because of
deliberate deletion by an identifiable hand, signifies the hand which
made the deletion.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="agent">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">In the case of text omitted because of damage, categorizes the cause of the damage, if it can be identified.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="extent">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates approximately how much text has been omitted from the
transcription, in letters, minims, inches, or any appropriate unit,
either because of editorial policy or because a deletion, damage, or
other cause has rendered transcription impossible.</a:documentation>
        <ref name="data.words"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="add">
    <element name="add">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(addition) contains letters, words, or phrases inserted in the text by an
author, scribe, annotator, or corrector.</a:documentation>
      <ref name="add.content"/>
      <ref name="add.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="add.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="add.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.editLike.attribute.cert"/>
    <ref name="att.editLike.attribute.resp"/>
    <ref name="att.editLike.attribute.evidence"/>
    <optional>
      <attribute name="place">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">if the the addition is written into the copy text, indicates
where the additional text is written.</a:documentation>
        <ref name="data.words"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="hand">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the hand of the agent which made the addition.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="del">
    <element name="del">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(deletion) contains a letter, word or passage deleted, marked as deleted,
or otherwise indicated as superfluous or spurious in the copy text by an
author, scribe, annotator, or corrector.</a:documentation>
      <ref name="del.content"/>
      <ref name="del.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="del.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="del.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.editLike.attribute.cert"/>
    <ref name="att.editLike.attribute.resp"/>
    <ref name="att.editLike.attribute.evidence"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the type of deletion using any convenient typology.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="status" a:defaultValue="unremarkable">
        <a:documentation>may be used to indicate faulty deletions, e.g.
strikeouts which include too much or too little text.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="hand">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the hand of the agent which made the deletion.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="unclear">
    <element name="unclear">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word, phrase, or passage which cannot be transcribed
with certainty because it is illegible or inaudible in the source.</a:documentation>
      <ref name="unclear.content"/>
      <ref name="unclear.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="unclear.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="unclear.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.editLike.attribute.cert"/>
    <ref name="att.editLike.attribute.resp"/>
    <ref name="att.editLike.attribute.evidence"/>
    <optional>
      <attribute name="reason">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates why the material is hard to transcribe.</a:documentation>
        <ref name="data.words"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="hand">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the difficulty in transcription arises from action
(partial deletion, etc.) assignable to an identifiable hand, signifies
the hand responsible for the action.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="agent">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the difficulty in transcription arises from
 damage, categorizes the cause of the damage, if it can be identified.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="name">
    <element name="name">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(name, proper noun) contains a proper noun or noun phrase.</a:documentation>
      <ref name="name.content"/>
      <ref name="name.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="name.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="name.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.naming.attribute.key"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the type of the object which is being named by the
      phrase.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="rs">
    <element name="rs">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(referencing string) contains a general purpose name or referring string.</a:documentation>
      <ref name="rs.content"/>
      <ref name="rs.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="rs.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="rs.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.naming.attribute.key"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates more specifically the object referred to by the
      referencing string. Values might include person,
      place, ship, element etc.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="address">
    <element name="address">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a postal or other address, for example of a
publisher, an organization, or an individual.</a:documentation>
      <ref name="address.content"/>
      <ref name="address.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="address.content">
    <group>
      <zeroOrMore>
        <ref name="model.global"/>
      </zeroOrMore>
      <oneOrMore>
        <group>
          <ref name="model.addrPart"/>
        </group>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </oneOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="address.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="addrLine">
    <element name="addrLine">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one line of a postal or other address.</a:documentation>
      <ref name="addrLine.content"/>
      <ref name="addrLine.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="addrLine.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="addrLine.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="street">
    <element name="street">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(street) a full street address including any name or number identifying a
building as well as the name of the street or route on which it is
located.</a:documentation>
      <ref name="street.content"/>
      <ref name="street.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="street.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="street.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="postCode">
    <element name="postCode">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(postCode) contains a numerical or alphanumeric code used as part of a
postal address to simplify sorting or delivery of mail. </a:documentation>
      <ref name="postCode.content"/>
      <ref name="postCode.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="postCode.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="postCode.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="postBox">
    <element name="postBox">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(postBox) contains a number or other identifier for some postal delivery
point other than a street address. </a:documentation>
      <ref name="postBox.content"/>
      <ref name="postBox.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="postBox.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="postBox.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="num">
    <element name="num">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) contains a number, written in any form.</a:documentation>
      <ref name="num.content"/>
      <ref name="num.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="num.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="num.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the type of numeric value.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the value of the number in standard form.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="measure">
    <element name="measure">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase referring to some quantity of
an object or commodity, usually comprising a number, a unit, and a
commodity name.</a:documentation>
      <ref name="measure.content"/>
      <ref name="measure.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="measure.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="measure.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.measurement.attribute.unit"/>
    <ref name="att.measurement.attribute.quantity"/>
    <ref name="att.measurement.attribute.commodity"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the type of measurement in any convenient typology.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="date">
    <element name="date">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a date in any format.</a:documentation>
      <ref name="date.content"/>
      <ref name="date.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="date.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="date.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.editLike.attribute.cert"/>
    <ref name="att.editLike.attribute.resp"/>
    <ref name="att.editLike.attribute.evidence"/>
    <optional>
      <attribute name="calendar">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the system or calendar to which the date belongs.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the value of the date in standard form, i.e. yyyy-mm-dd.</a:documentation>
        <ref name="data.temporal"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="precision">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the degree of precision associated with the date.</a:documentation>
        <ref name="data.certainty"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dateRange">
    <element name="dateRange">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(date range) contains two dates or another phrase delimiting a time period.</a:documentation>
      <ref name="dateRange.content"/>
      <ref name="dateRange.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dateRange.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dateRange.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="calendar">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the system or calendar to which the date belongs.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="from">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the starting point of the period in standard form.</a:documentation>
        <choice>
          <data type="date"/>
          <data type="gYear"/>
          <data type="gMonth"/>
          <data type="gDay"/>
          <data type="gYearMonth"/>
          <data type="gMonthDay"/>
          <data type="time"/>
          <data type="dateTime"/>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute name="to">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the ending point of the period in standard form.</a:documentation>
        <choice>
          <data type="date"/>
          <data type="gYear"/>
          <data type="gMonth"/>
          <data type="gDay"/>
          <data type="gYearMonth"/>
          <data type="gMonthDay"/>
          <data type="time"/>
          <data type="dateTime"/>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute name="exact">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the precision to be attached to either or both dates
specified.</a:documentation>
        <choice>
          <value>to</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(the to date is exact) </a:documentation>
          <value>from</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(the from date is exact) </a:documentation>
          <value>both</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(both dates are exact) </a:documentation>
          <value>none</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(both dates are approximate or unspecified) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="time">
    <element name="time">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a phrase defining a time of day in any format.</a:documentation>
      <ref name="time.content"/>
      <ref name="time.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="time.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="time.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the value of the time in standard form, e.g. as hh:mm.</a:documentation>
        <ref name="data.temporal"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="timeRange">
    <element name="timeRange">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(time range) contains two times or another phrase indicating a time period.</a:documentation>
      <ref name="timeRange.content"/>
      <ref name="timeRange.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="timeRange.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="timeRange.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="from">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the starting point of the time period in a standard form, usually hh:mm.</a:documentation>
        <ref name="data.temporal"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="to">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the ending point of the time period in standard form, usually hh:mm.</a:documentation>
        <ref name="data.temporal"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="exact">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the precision to be attached to either or both times
		specified.</a:documentation>
        <choice>
          <value>to</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(the to time is exact) </a:documentation>
          <value>from</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(the from time is exact) </a:documentation>
          <value>both</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(both times are exact) </a:documentation>
          <value>none</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(both times are approximate or unspecified) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="abbr">
    <element name="abbr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(abbreviation) contains an abbreviation of any sort.</a:documentation>
      <ref name="abbr.content"/>
      <ref name="abbr.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="abbr.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="abbr.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">allows the encoder to classify the abbreviation according to
some convenient typology.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="expan">
    <element name="expan">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(expansion) contains the expansion of an abbreviation.</a:documentation>
      <ref name="expan.content"/>
      <ref name="expan.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="expan.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="expan.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.editLike.attribute.cert"/>
    <ref name="att.editLike.attribute.resp"/>
    <ref name="att.editLike.attribute.evidence"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ptr">
    <element name="ptr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines a pointer to another location.</a:documentation>
      <ref name="ptr.content"/>
      <ref name="ptr.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ptr.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ptr.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.pointing.attribute.type"/>
    <ref name="att.pointing.attribute.evaluate"/>
    <ref name="att.declaring.attribute.decls"/>
    <optional>
      <choice>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the destination of the pointer by supplying one or
      more URI References</a:documentation>
          <ref name="data.pointers"/>
        </attribute>
        <attribute name="cRef">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the destination of the pointer by supplying a
      canonical reference from a scheme defined in a refsDecl
      element in the TEI header</a:documentation>
          <ref name="data.pointers"/>
        </attribute>
      </choice>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ref">
    <element name="ref">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines a reference to another location, possibly
  modified by additional text or comment.</a:documentation>
      <ref name="ref.content"/>
      <ref name="ref.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ref.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ref.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.pointing.attribute.type"/>
    <ref name="att.pointing.attribute.evaluate"/>
    <ref name="att.declaring.attribute.decls"/>
    <optional>
      <choice>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the destination of the reference by supplying one
    or more URI References</a:documentation>
          <ref name="data.pointers"/>
        </attribute>
        <attribute name="cRef">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the destination of the reference by supplying a
      canonical reference from a scheme defined in a refsDecl
      element in the TEI header</a:documentation>
          <ref name="data.pointers"/>
        </attribute>
      </choice>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="list">
    <element name="list">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any sequence of items organized as a list.</a:documentation>
      <ref name="list.content"/>
      <ref name="list.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="list.content">
    <group>
      <zeroOrMore>
        <choice>
          <group>
            <ref name="model.divWrapper"/>
          </group>
          <group>
            <ref name="model.global"/>
          </group>
        </choice>
      </zeroOrMore>
      <choice>
        <oneOrMore>
          <ref name="item"/>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <group>
          <optional>
            <ref name="headLabel"/>
          </optional>
          <optional>
            <ref name="headItem"/>
          </optional>
          <oneOrMore>
            <ref name="label"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
            <ref name="item"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
        </group>
      </choice>
      <zeroOrMore>
        <group>
          <group>
            <ref name="model.divWrapper.bottom"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </group>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="list.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="type" a:defaultValue="simple">
        <a:documentation>describes the form of the list.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="item">
    <element name="item">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one
component of a list.</a:documentation>
      <ref name="item.content"/>
      <ref name="item.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="item.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.specialPara"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="item.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="label">
    <element name="label">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the label associated with an item in a list; in
glossaries, marks the term being defined.</a:documentation>
      <ref name="label.content"/>
      <ref name="label.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="label.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="label.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="head">
    <element name="head">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(heading) contains any type of heading, for example the title of a section,
or the heading of a list, glossary, manuscript description, etc.</a:documentation>
      <ref name="head.content"/>
      <ref name="head.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="head.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="head.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the heading in any way meaningful 
         to the encoder. </a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="headLabel">
    <element name="headLabel">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(heading for list labels) contains the heading for the label or term column in a
glossary list or similar structured list.</a:documentation>
      <ref name="headLabel.content"/>
      <ref name="headLabel.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="headLabel.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="headLabel.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="headItem">
    <element name="headItem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(heading for list items) contains the heading for the item or gloss column in a
glossary list or similar structured list.</a:documentation>
      <ref name="headItem.content"/>
      <ref name="headItem.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="headItem.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="headItem.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="note">
    <element name="note">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a note or
annotation.</a:documentation>
      <ref name="note.content"/>
      <ref name="note.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="note.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.specialPara"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="note.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the type of note.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="resp">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates who is responsible for the annotation: author,
	editor, translator, etc.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="place" a:defaultValue="unspecified">
        <a:documentation>indicates where the note appears in the source text.</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="anchored" a:defaultValue="true">
        <a:documentation>indicates whether the copy text shows the exact place of reference
for the note.</a:documentation>
        <choice>
          <value>true</value>
          <a:documentation>(copy text indicates the place of attachment for the note.
    ) </a:documentation>
          <value>false</value>
          <a:documentation>(copy text indicates no place of attachment for the note.) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute name="target">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the point (or points) of attachment for a note, or the beginning of
the span to which the note is attached.</a:documentation>
        <ref name="data.pointers"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="targetEnd">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to the end of the span to which the note is attached, if
the note is not embedded in the text at that point.</a:documentation>
        <ref name="data.pointers"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="index">
    <element name="index">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(index entry) marks a location to be indexed for whatever purpose.</a:documentation>
      <ref name="index.content"/>
      <ref name="index.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="index.content">
    <zeroOrMore>
      <group>
        <ref name="term"/>
        <optional>
          <ref name="index"/>
        </optional>
      </group>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="index.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.spanning.attribute.spanTo"/>
    <optional>
      <attribute name="indexName">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a name to specify which index (of several) the index entry belongs to.</a:documentation>
        <ref name="data.name"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="divGen">
    <element name="divGen">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(automatically generated text division) indicates the location at which a textual division generated
automatically by a text-processing application is to appear.</a:documentation>
      <ref name="divGen.content"/>
      <ref name="divGen.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="divGen.content">
    <zeroOrMore>
      <ref name="model.divWrapper"/>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="divGen.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies what type of generated text division (e.g. index,
table of contents, etc.) is to appear.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="graphic">
    <element name="graphic">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location of an inline graphic, illustration, or figure.</a:documentation>
      <ref name="graphic.content"/>
      <ref name="graphic.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="graphic.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="graphic.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="width">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The display width of the image</a:documentation>
        <ref name="data.outputMeasurement"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="height">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The display height of the image</a:documentation>
        <ref name="data.outputMeasurement"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="scale">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A scale factor to be applied to the image to make it the desired display size</a:documentation>
        <ref name="data.probability"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="url">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The target URL</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="mimeType">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The MIME type</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="binaryObject">
    <element name="binaryObject">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides encoded binary data representing an inline graphic or other object.</a:documentation>
      <ref name="binaryObject.content"/>
      <ref name="binaryObject.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="binaryObject.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="binaryObject.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="width">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The display width of the object</a:documentation>
        <ref name="data.outputMeasurement"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="height">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The display height of the object</a:documentation>
        <ref name="data.outputMeasurement"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="scale">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A scale factor to be applied to the object to make it the desired display size</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="mimeType">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The MIME type</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="encoding">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The encoding used to encode the binary data. If not
      specified, this is assumed to be Base64</a:documentation>
        <ref name="data.words"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="milestone">
    <element name="milestone">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks a boundary point separating  any kind of section of a text, as indicated by
changes in a standard reference system, where the section is not
represented by a structural element.</a:documentation>
      <ref name="milestone.content"/>
      <ref name="milestone.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="milestone.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="milestone.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="ed">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the edition or version to which the milestone applies.</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <attribute name="unit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a conventional name for the kind of section changing at this milestone.</a:documentation>
      <ref name="data.enumerated"/>
    </attribute>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pb">
    <element name="pb">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page break) marks the boundary between one page of a text and the next
in a standard reference system.</a:documentation>
      <ref name="pb.content"/>
      <ref name="pb.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pb.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pb.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="ed">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the edition or version in which the page break is located
at this point</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lb">
    <element name="lb">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(line break) marks the start of a new (typographic) line in some
edition or version of a text.</a:documentation>
      <ref name="lb.content"/>
      <ref name="lb.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lb.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lb.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="ed">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the edition or version in which the line break is located
at this point</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cb">
    <element name="cb">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(column break) marks the boundary between one column of a text and the next
in a standard reference system.</a:documentation>
      <ref name="cb.content"/>
      <ref name="cb.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cb.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cb.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="ed">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the edition or version in which the column break is located
at this point</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="bibl">
    <element name="bibl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(bibliographic citation) contains a loosely-structured bibliographic citation of which
the sub-components may or may not be explicitly tagged. </a:documentation>
      <ref name="bibl.content"/>
      <ref name="bibl.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="bibl.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.hiLike"/>
        <ref name="model.pPart.data"/>
        <ref name="model.pPart.edit"/>
        <ref name="model.segLike"/>
        <ref name="model.ptrLike"/>
        <ref name="model.biblPart"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="bibl.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblItem">
    <element name="biblItem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(bibliographic citation) contains a bibliographic citation in which only bibliographic
  subelements appear.</a:documentation>
      <ref name="biblItem.content"/>
      <ref name="biblItem.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblItem.content">
    <oneOrMore>
      <choice>
        <ref name="title"/>
        <ref name="biblItem"/>
        <ref name="imprint"/>
        <ref name="model.nameLike"/>
        <ref name="model.biblPart"/>
        <ref name="model.dateLike"/>
      </choice>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblItem.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
    <optional>
      <attribute name="form">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the physical form of the object of this bibliographic entry.</a:documentation>
        <data type="token"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="status">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the publication status of the object of this bibliographic entry.</a:documentation>
        <text/>
      </attribute>
    </optional>
    <optional>
      <attribute name="role">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the relationship of this bibliographic entry to
      that of its parent bibl or biblItem.</a:documentation>
        <text/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblStruct">
    <element name="biblStruct">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(structured bibliographic citation) contains a structured bibliographic citation, in which only
bibliographic subelements appear and in a specified order. </a:documentation>
      <ref name="biblStruct.content"/>
      <ref name="biblStruct.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblStruct.content">
    <group>
      <zeroOrMore>
        <ref name="analytic"/>
      </zeroOrMore>
      <oneOrMore>
        <ref name="monogr"/>
        <zeroOrMore>
          <ref name="series"/>
        </zeroOrMore>
      </oneOrMore>
      <zeroOrMore>
        <choice>
          <ref name="model.noteLike"/>
          <ref name="idno"/>
        </choice>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblStruct.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblFull">
    <element name="biblFull">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a fully-structured bibliographic citation, in which all
components of the TEI file description
are present.</a:documentation>
      <ref name="biblFull.content"/>
      <ref name="biblFull.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblFull.content">
    <group>
      <ref name="macro.fileDescPart"/>
      <zeroOrMore>
        <ref name="sourceDesc"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblFull.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="listBibl">
    <element name="listBibl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(citation list) contains a list of bibliographic citations of any kind. </a:documentation>
      <ref name="listBibl.content"/>
      <ref name="listBibl.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="listBibl.content">
    <group>
      <zeroOrMore>
        <choice>
          <group>
            <ref name="model.divWrapper"/>
          </group>
          <group>
            <ref name="model.global"/>
          </group>
        </choice>
      </zeroOrMore>
      <oneOrMore>
        <group>
          <ref name="model.biblLike"/>
        </group>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </oneOrMore>
      <zeroOrMore>
        <group>
          <ref name="model.divWrapper.bottom"/>
        </group>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="listBibl.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="analytic">
    <element name="analytic">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(analytic level) contains bibliographic elements describing an item (e.g. an
article or poem) published within a monograph or journal and not as an
independent publication.</a:documentation>
      <ref name="analytic.content"/>
      <ref name="analytic.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="analytic.content">
    <zeroOrMore>
      <choice>
        <ref name="author"/>
        <ref name="editor"/>
        <ref name="respStmt"/>
        <ref name="title"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="analytic.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="monogr">
    <element name="monogr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(monographic level) contains bibliographic elements describing an item (e.g. a book
or journal) published as an independent item (i.e. as a separate
physical object).</a:documentation>
      <ref name="monogr.content"/>
      <ref name="monogr.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="monogr.content">
    <group>
      <optional>
        <choice>
          <group>
            <choice>
              <ref name="author"/>
              <ref name="editor"/>
              <ref name="respStmt"/>
            </choice>
            <zeroOrMore>
              <choice>
                <ref name="author"/>
                <ref name="editor"/>
                <ref name="respStmt"/>
              </choice>
            </zeroOrMore>
            <oneOrMore>
              <ref name="title"/>
            </oneOrMore>
            <zeroOrMore>
              <choice>
                <ref name="editor"/>
                <ref name="respStmt"/>
              </choice>
            </zeroOrMore>
          </group>
          <group>
            <oneOrMore>
              <ref name="title"/>
            </oneOrMore>
            <zeroOrMore>
              <choice>
                <ref name="author"/>
                <ref name="editor"/>
                <ref name="respStmt"/>
              </choice>
            </zeroOrMore>
          </group>
        </choice>
      </optional>
      <zeroOrMore>
        <choice>
          <ref name="model.noteLike"/>
          <ref name="meeting"/>
        </choice>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="edition"/>
        <zeroOrMore>
          <choice>
            <ref name="editor"/>
            <ref name="respStmt"/>
          </choice>
        </zeroOrMore>
      </zeroOrMore>
      <ref name="imprint"/>
      <zeroOrMore>
        <choice>
          <ref name="imprint"/>
          <ref name="extent"/>
          <ref name="biblScope"/>
        </choice>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="monogr.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="series">
    <element name="series">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series information) contains information about the series in which a book or other
bibliographic item has appeared.</a:documentation>
      <ref name="series.content"/>
      <ref name="series.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="series.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="title"/>
        <ref name="editor"/>
        <ref name="respStmt"/>
        <ref name="biblScope"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="series.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="author">
    <element name="author">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in a bibliographic reference, contains the name of the author(s),
personal or corporate,
of a work; the primary statement of responsibility for any
bibliographic item. </a:documentation>
      <ref name="author.content"/>
      <ref name="author.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="author.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="author.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="editor">
    <element name="editor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(editor) secondary statement of responsibility for a
bibliographic item, for example the name of an individual, institution
or organization, (or of several such) acting as editor, compiler,
translator, etc. </a:documentation>
      <ref name="editor.content"/>
      <ref name="editor.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="editor.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="editor.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="role" a:defaultValue="editor">
        <a:documentation>specifies the nature of the intellectual responsibility</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="respStmt">
    <element name="respStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(statement of responsibility) supplies a statement of responsibility for someone responsible
  for the intellectual content of a text, edition, recording, or
  series, where the specialized elements for authors, editors, etc. do
  not suffice or do not apply.</a:documentation>
      <ref name="respStmt.content"/>
      <ref name="respStmt.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="respStmt.content">
    <choice>
      <group>
        <ref name="resp"/>
        <zeroOrMore>
          <ref name="resp"/>
        </zeroOrMore>
        <oneOrMore>
          <ref name="model.nameLike.agent"/>
        </oneOrMore>
      </group>
      <group>
        <group>
          <ref name="model.nameLike.agent"/>
        </group>
        <zeroOrMore>
          <ref name="model.nameLike.agent"/>
        </zeroOrMore>
        <oneOrMore>
          <ref name="resp"/>
        </oneOrMore>
      </group>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="respStmt.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="resp">
    <element name="resp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a phrase describing the nature of a person's
  intellectual responsibility.</a:documentation>
      <ref name="resp.content"/>
      <ref name="resp.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="resp.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="resp.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="title">
    <element name="title">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the full title of a work of any kind.</a:documentation>
      <ref name="title.content"/>
      <ref name="title.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="title.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="title.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="level">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the bibliographic level for a title, that is,
	whether it identifies  an article, book, journal,
series, or unpublished material.</a:documentation>
        <choice>
          <value>a</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(analytic title (article, poem, or other item published as
          part of a larger item)
    ) </a:documentation>
          <value>m</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(monographic title (book, collection, or other item published
          as a distinct item, including single volumes of multi-volume
          works)
    ) </a:documentation>
          <value>j</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(journal title
    ) </a:documentation>
          <value>s</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series title
    ) </a:documentation>
          <value>u</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title of unpublished material (including theses and
          dissertations unless published by a commercial press)) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the title according to some convenient typology.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="meeting">
    <element name="meeting">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in bibliographic references,
contains a description of the meeting or conference from which
the bibliographic item derives.</a:documentation>
      <ref name="meeting.content"/>
      <ref name="meeting.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="meeting.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="meeting.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="imprint">
    <element name="imprint">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups information relating to the publication or distribution
  of a bibliographic item.</a:documentation>
      <ref name="imprint.content"/>
      <ref name="imprint.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="imprint.content">
    <oneOrMore>
      <choice>
        <group>
          <ref name="model.imprintPart"/>
        </group>
        <group>
          <ref name="model.dateLike"/>
        </group>
      </choice>
      <zeroOrMore>
        <ref name="model.global"/>
      </zeroOrMore>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="imprint.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="publisher">
    <element name="publisher">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the name of the organization responsible for
the publication or distribution of a bibliographic item.</a:documentation>
      <ref name="publisher.content"/>
      <ref name="publisher.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="publisher.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="publisher.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblScope">
    <element name="biblScope">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(scope of citation) defines the scope of a bibliographic reference, for example as a
list of pagenumbers, or a named subdivision of a larger work.</a:documentation>
      <ref name="biblScope.content"/>
      <ref name="biblScope.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblScope.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="biblScope.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the type of information conveyed by the element, e.g.
pages, volume.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pubPlace">
    <element name="pubPlace">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of the place where a bibliographic item was
published.</a:documentation>
      <ref name="pubPlace.content"/>
      <ref name="pubPlace.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pubPlace.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pubPlace.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.naming.attribute.key"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="l">
    <element name="l">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(verse line) contains a single, possibly incomplete, line of verse.</a:documentation>
      <ref name="l.content"/>
      <ref name="l.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="l.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="l.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="part" a:defaultValue="N">
        <a:documentation>specifies whether or not the line is metrically complete. </a:documentation>
        <choice>
          <value>Y</value>
          <a:documentation>(the line is metrically incomplete) </a:documentation>
          <value>N</value>
          <a:documentation>(either the line is complete, or no claim is made as to its
completeness) </a:documentation>
          <value>I</value>
          <a:documentation>(the initial part of an incomplete line) </a:documentation>
          <value>M</value>
          <a:documentation>(a medial part of an incomplete line) </a:documentation>
          <value>F</value>
          <a:documentation>(the final part of an incomplete line) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lg">
    <element name="lg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(line group) contains a group of verse lines functioning as a formal unit,
e.g. a stanza, refrain, verse paragraph, etc.</a:documentation>
      <ref name="lg.content"/>
      <ref name="lg.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lg.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <choice>
        <ref name="model.lLike"/>
        <ref name="lg"/>
      </choice>
      <zeroOrMore>
        <choice>
          <ref name="model.lLike"/>
          <ref name="lg"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <zeroOrMore>
        <group>
          <ref name="model.divWrapper.bottom"/>
        </group>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lg.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sp">
    <element name="sp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(speech) An individual speech in a performance text, or a passage
	  presented as such in a prose or verse text.</a:documentation>
      <ref name="sp.content"/>
      <ref name="sp.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sp.content">
    <group>
      <zeroOrMore>
        <ref name="model.global"/>
      </zeroOrMore>
      <optional>
        <ref name="speaker"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </optional>
      <oneOrMore>
        <choice>
          <ref name="model.lLike"/>
          <ref name="lg"/>
          <ref name="model.pLike"/>
          <ref name="model.blockLike"/>
          <ref name="model.stageLike"/>
        </choice>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </oneOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sp.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.ascribed.attribute.who"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="speaker">
    <element name="speaker">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A specialized form of heading or label, giving the name of
one or more speakers in a dramatic text or fragment.</a:documentation>
      <ref name="speaker.content"/>
      <ref name="speaker.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="speaker.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="speaker.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stage">
    <element name="stage">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(stage direction) contains any kind of stage direction within a dramatic text or
fragment.</a:documentation>
      <ref name="stage.content"/>
      <ref name="stage.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stage.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.specialPara"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stage.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the kind of stage direction.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="teiCorpus">
    <element name="teiCorpus">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI corpus) contains the whole of a TEI encoded corpus, comprising a
single corpus header and one or more TEI elements, each containing
a single text header and a text.</a:documentation>
      <ref name="teiCorpus.content"/>
      <ref name="teiCorpus.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="teiCorpus.content">
    <group>
      <ref name="teiHeader"/>
      <oneOrMore>
        <choice>
          <ref name="TEI"/>
          <ref name="teiCorpus"/>
        </choice>
      </oneOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="teiCorpus.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="version" a:defaultValue="5.0">
        <a:documentation>The version of the TEI scheme</a:documentation>
        <data type="decimal"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="teiHeader">
    <element name="teiHeader">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI Header) supplies the descriptive and declarative information making
	up an electronic title page prefixed to every TEI-conformant
	text.</a:documentation>
      <ref name="teiHeader.content"/>
      <ref name="teiHeader.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="teiHeader.content">
    <group>
      <ref name="fileDesc"/>
      <zeroOrMore>
        <ref name="model.headerPart"/>
      </zeroOrMore>
      <optional>
        <ref name="revisionDesc"/>
      </optional>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="teiHeader.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="type" a:defaultValue="text">
        <a:documentation>specifies the kind of document to which the header is attached.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="fileDesc">
    <element name="fileDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(File Description) contains a full bibliographic description of an electronic
file.</a:documentation>
      <ref name="fileDesc.content"/>
      <ref name="fileDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="fileDesc.content">
    <group>
      <ref name="macro.fileDescPart"/>
      <oneOrMore>
        <ref name="sourceDesc"/>
      </oneOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="fileDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="titleStmt">
    <element name="titleStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title statement) groups information about the title of a work and those
responsible for its intellectual content.</a:documentation>
      <ref name="titleStmt.content"/>
      <ref name="titleStmt.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="titleStmt.content">
    <group>
      <oneOrMore>
        <ref name="title"/>
      </oneOrMore>
      <zeroOrMore>
        <choice>
          <ref name="author"/>
          <ref name="editor"/>
          <ref name="sponsor"/>
          <ref name="funder"/>
          <ref name="principal"/>
          <ref name="respStmt"/>
        </choice>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="titleStmt.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sponsor">
    <element name="sponsor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the name of a sponsoring organization or
institution.</a:documentation>
      <ref name="sponsor.content"/>
      <ref name="sponsor.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sponsor.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sponsor.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="funder">
    <element name="funder">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Funding body) specifies the name of an individual, institution, or organization
responsible for the funding of a project or text.</a:documentation>
      <ref name="funder.content"/>
      <ref name="funder.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="funder.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="funder.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="principal">
    <element name="principal">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(principal researcher) supplies the name of the principal researcher responsible for the
creation of an electronic text.</a:documentation>
      <ref name="principal.content"/>
      <ref name="principal.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="principal.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="principal.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="editionStmt">
    <element name="editionStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(edition statement) groups information relating to one edition of a text.</a:documentation>
      <ref name="editionStmt.content"/>
      <ref name="editionStmt.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="editionStmt.content">
    <choice>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <group>
        <ref name="edition"/>
        <zeroOrMore>
          <ref name="respStmt"/>
        </zeroOrMore>
      </group>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="editionStmt.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="edition">
    <element name="edition">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Edition) describes the particularities of one edition of a text.</a:documentation>
      <ref name="edition.content"/>
      <ref name="edition.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="edition.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="edition.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="extent">
    <element name="extent">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the approximate size of the electronic text as stored on
some carrier medium, specified in any convenient units.</a:documentation>
      <ref name="extent.content"/>
      <ref name="extent.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="extent.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="extent.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="publicationStmt">
    <element name="publicationStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publication statement) groups information concerning the publication or distribution
of an electronic or other text. </a:documentation>
      <ref name="publicationStmt.content"/>
      <ref name="publicationStmt.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="publicationStmt.content">
    <choice>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <oneOrMore>
        <choice>
          <ref name="publisher"/>
          <ref name="distributor"/>
          <ref name="authority"/>
          <ref name="pubPlace"/>
          <ref name="address"/>
          <ref name="idno"/>
          <ref name="availability"/>
          <ref name="date"/>
        </choice>
      </oneOrMore>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="publicationStmt.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="distributor">
    <element name="distributor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the name of a person or other agency responsible for the
distribution of a text.</a:documentation>
      <ref name="distributor.content"/>
      <ref name="distributor.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="distributor.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="distributor.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="authority">
    <element name="authority">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(release authority) supplies the name of a person or other agency responsible for
  making an electronic file available, other than a publisher or
  distributor.</a:documentation>
      <ref name="authority.content"/>
      <ref name="authority.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="authority.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="authority.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="idno">
    <element name="idno">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifying number) supplies any standard or non-standard number used to identify a
bibliographic item.</a:documentation>
      <ref name="idno.content"/>
      <ref name="idno.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="idno.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="idno.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the number, for example as an ISBN or other
         standard series.
   </a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="availability">
    <element name="availability">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies information about the availability of a text, for
  example any restrictions on its use or distribution, its copyright
  status, etc.</a:documentation>
      <ref name="availability.content"/>
      <ref name="availability.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="availability.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="availability.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="status" a:defaultValue="unknown">
        <a:documentation>supplies a code identifying the current availability of the
text.
   </a:documentation>
        <choice>
          <value>free</value>
          <a:documentation>(the text is freely available.
    ) </a:documentation>
          <value>unknown</value>
          <a:documentation>(the status of the text is unknown.
    ) </a:documentation>
          <value>restricted</value>
          <a:documentation>(the text is not freely available.
   ) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="seriesStmt">
    <element name="seriesStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series statement) groups information about the series, if any, to which
a publication belongs.</a:documentation>
      <ref name="seriesStmt.content"/>
      <ref name="seriesStmt.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="seriesStmt.content">
    <choice>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <group>
        <oneOrMore>
          <ref name="title"/>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="idno"/>
            <ref name="respStmt"/>
          </choice>
        </zeroOrMore>
      </group>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="seriesStmt.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="notesStmt">
    <element name="notesStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Notes statement) collects together any notes providing information about a text
additional to that recorded in other parts of the bibliographic
description.</a:documentation>
      <ref name="notesStmt.content"/>
      <ref name="notesStmt.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="notesStmt.content">
    <oneOrMore>
      <ref name="model.noteLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="notesStmt.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sourceDesc">
    <element name="sourceDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a description of the source text(s) from
which an electronic text was derived or generated.</a:documentation>
      <ref name="sourceDesc.content"/>
      <ref name="sourceDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sourceDesc.content">
    <choice>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <group>
        <ref name="listBibl"/>
      </group>
      <oneOrMore>
        <choice>
          <ref name="model.biblLike"/>
          <ref name="model.sourceDescPart"/>
        </choice>
      </oneOrMore>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sourceDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="scriptStmt">
    <element name="scriptStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(script statement) contains a citation giving details of the script used for
a spoken text.</a:documentation>
      <ref name="scriptStmt.content"/>
      <ref name="scriptStmt.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="scriptStmt.content">
    <choice>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <ref name="model.biblLike"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="scriptStmt.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="recordingStmt">
    <element name="recordingStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(recording statement) describes a set of recordings used in transcription of a
spoken text.</a:documentation>
      <ref name="recordingStmt.content"/>
      <ref name="recordingStmt.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="recordingStmt.content">
    <choice>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <oneOrMore>
        <ref name="recording"/>
      </oneOrMore>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="recordingStmt.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="recording">
    <element name="recording">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(recording event) details of an audio or video recording event
used as the source of a spoken text, either directly or from
a public broadcast. </a:documentation>
      <ref name="recording.content"/>
      <ref name="recording.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="recording.content">
    <choice>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <zeroOrMore>
        <ref name="model.recordingPart"/>
      </zeroOrMore>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="recording.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="type" a:defaultValue="audio">
        <a:documentation>the kind of recording.</a:documentation>
        <choice>
          <value>audio</value>
          <a:documentation>(audio recording) </a:documentation>
          <value>video</value>
          <a:documentation>(audio and video recording) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute name="dur">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the original duration of the recording. </a:documentation>
        <ref name="data.duration"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="equipment">
    <element name="equipment">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(equipment) provides technical details of the equipment and media used for
an audio or video recording used as the source for a spoken text.</a:documentation>
      <ref name="equipment.content"/>
      <ref name="equipment.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="equipment.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="equipment.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="broadcast">
    <element name="broadcast">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(broadcast) describes a broadcast used as the source of a spoken text.</a:documentation>
      <ref name="broadcast.content"/>
      <ref name="broadcast.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="broadcast.content">
    <choice>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <ref name="model.biblLike"/>
      <ref name="recording"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="broadcast.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="encodingDesc">
    <element name="encodingDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Encoding description) documents the relationship between an electronic text and the
source or sources from which it was derived.</a:documentation>
      <ref name="encodingDesc.content"/>
      <ref name="encodingDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="encodingDesc.content">
    <group>
      <oneOrMore>
        <choice>
          <ref name="model.encodingPart"/>
          <ref name="model.pLike"/>
        </choice>
      </oneOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="encodingDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="projectDesc">
    <element name="projectDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(project description) describes in detail the aim or purpose for which an electronic
file was encoded, together with any other relevant information
concerning the process by which it was assembled or collected.</a:documentation>
      <ref name="projectDesc.content"/>
      <ref name="projectDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="projectDesc.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="projectDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="samplingDecl">
    <element name="samplingDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(sampling declaration) contains a prose description of the rationale and methods used
in sampling texts in the creation of a corpus or collection.</a:documentation>
      <ref name="samplingDecl.content"/>
      <ref name="samplingDecl.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="samplingDecl.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="samplingDecl.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="editorialDecl">
    <element name="editorialDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(editorial practice declaration) provides details of editorial principles and practices applied
during the encoding of a text.</a:documentation>
      <ref name="editorialDecl.content"/>
      <ref name="editorialDecl.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="editorialDecl.content">
    <choice>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <oneOrMore>
        <ref name="model.editorialDeclPart"/>
      </oneOrMore>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="editorialDecl.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="correction">
    <element name="correction">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(correction principles) states how and under what circumstances corrections have been
made in the text.</a:documentation>
      <ref name="correction.content"/>
      <ref name="correction.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="correction.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="correction.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="status" a:defaultValue="unknown">
        <a:documentation>indicates the degree of correction applied to the text.
   </a:documentation>
        <choice>
          <value>high</value>
          <a:documentation>(the text has been thoroughly checked and
                       proofread.
    ) </a:documentation>
          <value>medium</value>
          <a:documentation>(the text has been checked at least once.
    ) </a:documentation>
          <value>low</value>
          <a:documentation>(the text has not been checked.
    ) </a:documentation>
          <value>unknown</value>
          <a:documentation>(the correction status of the text is unknown.
   ) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="method" a:defaultValue="silent">
        <a:documentation>indicates the method adopted to indicate corrections within the
         text.
   </a:documentation>
        <choice>
          <value>silent</value>
          <a:documentation>(corrections have been made silently
    ) </a:documentation>
          <value>tags</value>
          <a:documentation>(corrections have been represented using editorial tags
   ) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="normalization">
    <element name="normalization">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the extent of normalization or regularization of the
original source carried out in converting it to electronic form.</a:documentation>
      <ref name="normalization.content"/>
      <ref name="normalization.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="normalization.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="normalization.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <optional>
      <attribute name="source">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the authority for any normalization carried out.
    </a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="method" a:defaultValue="silent">
        <a:documentation>indicates the method adopted to indicate normalizations within
         the text.
   </a:documentation>
        <choice>
          <value>silent</value>
          <a:documentation>(normalization made silently
  ) </a:documentation>
          <value>tags</value>
          <a:documentation>(normalization represented using editorial tags
   ) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="quotation">
    <element name="quotation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies editorial practice adopted with respect to quotation
  marks in the original. </a:documentation>
      <ref name="quotation.content"/>
      <ref name="quotation.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="quotation.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="quotation.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="marks" a:defaultValue="all">
        <a:documentation>indicates whether or not quotation marks have been retained as
      content within the text. </a:documentation>
        <choice>
          <value>none</value>
          <a:documentation>(no quotation marks have been retained ) </a:documentation>
          <value>some</value>
          <a:documentation>(some quotation marks have been retained ) </a:documentation>
          <value>all</value>
          <a:documentation>(all quotation marks have been retained ) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="form" a:defaultValue="unknown">
        <a:documentation>specifies how quotation marks are indicated within the
      text.</a:documentation>
        <choice>
          <value>data</value>
          <a:documentation>(quotation marks are retained as data.) </a:documentation>
          <value>rend</value>
          <a:documentation>(the rendition attribute is consistently used to
          indicate the form of quotation marks.) </a:documentation>
          <value>std</value>
          <a:documentation>(use of quotation marks has been standardized.) </a:documentation>
          <value>nonstd</value>
          <a:documentation>(quotation marks are represented inconsistently.) </a:documentation>
          <value>unknown</value>
          <a:documentation>(use of quotation marks is unknown.) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hyphenation">
    <element name="hyphenation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Hyphenation) summarizes the way in which hyphenation in a source text has been
treated in an encoded version of it.</a:documentation>
      <ref name="hyphenation.content"/>
      <ref name="hyphenation.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hyphenation.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hyphenation.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="eol" a:defaultValue="some">
        <a:documentation>indicates whether or not end-of-line hyphenation has been
	retained in a text.</a:documentation>
        <choice>
          <value>all</value>
          <a:documentation>(all end-of-line hyphenation has been retained,
                   even though the lineation of the original
                   may not have been.
   ) </a:documentation>
          <value>some</value>
          <a:documentation>(end-of-line hyphenation has been retained in some
                   cases.
   ) </a:documentation>
          <value>hard</value>
          <a:documentation>(all soft end-of-line hyphenation has been removed:
                   any remaining end-od-line hyphenation should be retained.
  ) </a:documentation>
          <value>none</value>
          <a:documentation>(all end-of-line hyphenation has been removed:
                  any remaining hyphenation occurred within the line.
   ) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="segmentation">
    <element name="segmentation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the principles according to which the text has been
segmented, for example into sentences, tone-units, graphemic strata,
etc.</a:documentation>
      <ref name="segmentation.content"/>
      <ref name="segmentation.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="segmentation.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="segmentation.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stdVals">
    <element name="stdVals">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Standard values) specifies the format used when standardized date or number
values are supplied.</a:documentation>
      <ref name="stdVals.content"/>
      <ref name="stdVals.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stdVals.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stdVals.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="interpretation">
    <element name="interpretation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the scope of any analytic or interpretive information
added to the text in addition to the transcription. </a:documentation>
      <ref name="interpretation.content"/>
      <ref name="interpretation.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="interpretation.content">
    <oneOrMore>
      <ref name="model.pLike"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="interpretation.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tagsDecl">
    <element name="tagsDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tagging declaration) provides detailed information about the tagging applied to an SGML or XML document.</a:documentation>
      <ref name="tagsDecl.content"/>
      <ref name="tagsDecl.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tagsDecl.content">
    <group>
      <zeroOrMore>
        <ref name="rendition"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="tagUsage"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tagsDecl.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tagUsage">
    <element name="tagUsage">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tagUsage) supplies information about the usage of a specific element
within a text. </a:documentation>
      <ref name="tagUsage.content"/>
      <ref name="tagUsage.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tagUsage.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tagUsage.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="gi">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the name (generic identifier)
of the element indicated by the tag.</a:documentation>
      <ref name="data.name"/>
    </attribute>
    <optional>
      <attribute name="occurs">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of occurrences of this element within the text.
 </a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="withId">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of occurrences of this element within the text
which bear a distinct value for the global xml:id attribute. </a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="render">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the identifier of a rendition element which
defines how this element is to be rendered.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="rendition">
    <element name="rendition">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rendition) supplies information about the intended rendition of one or more
elements.</a:documentation>
      <ref name="rendition.content"/>
      <ref name="rendition.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="rendition.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="rendition.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="refsDecl">
    <element name="refsDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(references declaration) specifies how canonical references are constructed for this
  text.</a:documentation>
      <ref name="refsDecl.content"/>
      <ref name="refsDecl.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="refsDecl.content">
    <choice>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <oneOrMore>
        <ref name="cRefPattern"/>
      </oneOrMore>
      <oneOrMore>
        <ref name="state"/>
      </oneOrMore>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="refsDecl.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="doctype" a:defaultValue="TEI">
        <a:documentation>identifies the document type within which
      this reference declaration is used.</a:documentation>
        <ref name="data.name"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cRefPattern">
    <element name="cRefPattern">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(defines how to convert a canonical reference into a URI) specifies an expression and replacement pattern for
  tranforming a canonical reference into a URI</a:documentation>
      <ref name="cRefPattern.content"/>
      <ref name="cRefPattern.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cRefPattern.content">
    <zeroOrMore>
      <ref name="model.pLike"/>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cRefPattern.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="matchPattern">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a regular expression against which the values of
      cRef attributes can be matched.</a:documentation>
      <ref name="data.pattern"/>
    </attribute>
    <attribute name="replacementPattern">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a replacement pattern
      which, once subpattern substitution has been performed, provides
      a URI.</a:documentation>
      <text/>
    </attribute>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="state">
    <element name="state">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies one component of a canonical reference defined by
the milestone method.</a:documentation>
      <ref name="state.content"/>
      <ref name="state.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="state.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="state.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="ed">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates which edition or version the milestone applies to.</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <attribute name="unit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates what kind of state is changing at this milestone.</a:documentation>
      <ref name="data.enumerated"/>
    </attribute>
    <optional>
      <attribute name="length">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the fixed length of the reference component.</a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="delim">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a delimiting string following the reference
          component.</a:documentation>
        <text/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classDecl">
    <element name="classDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(classification declarations) contains one or more taxonomies defining any classificatory
codes used elsewhere in the text.</a:documentation>
      <ref name="classDecl.content"/>
      <ref name="classDecl.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classDecl.content">
    <oneOrMore>
      <ref name="taxonomy"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classDecl.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="taxonomy">
    <element name="taxonomy">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(taxonomy) defines a typology used to classify texts either implicitly, by
means of a bibliographic citation, or explicitly by a structured
taxonomy.</a:documentation>
      <ref name="taxonomy.content"/>
      <ref name="taxonomy.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="taxonomy.content">
    <choice>
      <oneOrMore>
        <ref name="category"/>
      </oneOrMore>
      <group>
        <group>
          <ref name="model.biblLike"/>
        </group>
        <zeroOrMore>
          <ref name="category"/>
        </zeroOrMore>
      </group>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="taxonomy.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="category">
    <element name="category">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(category) contains an individual descriptive category, possibly nested
within a superordinate category, within a user-defined taxonomy.</a:documentation>
      <ref name="category.content"/>
      <ref name="category.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="category.content">
    <group>
      <ref name="catDesc"/>
      <zeroOrMore>
        <ref name="category"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="category.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="catDesc">
    <element name="catDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(category description) describes some category within a taxonomy
or text typology, either in the form of a brief prose description
or in terms of the situational parameters used by the TEI
formal textDesc.</a:documentation>
      <ref name="catDesc.content"/>
      <ref name="catDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="catDesc.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.phrase"/>
        <ref name="model.catDescPart"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="catDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="fsdDecl">
    <element name="fsdDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(FSD (feature-system declaration) declaration) identifies the feature system declaration which contains
definitions for a particular type of feature structure.</a:documentation>
      <ref name="fsdDecl.content"/>
      <ref name="fsdDecl.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="fsdDecl.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="fsdDecl.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="type">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the type of feature structure documented by the FSD;
this will be the value of the type attribute on at least one
feature structure.</a:documentation>
      <ref name="data.enumerated"/>
    </attribute>
    <attribute name="url">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a link to the entity containing the feature system
declaration. </a:documentation>
      <ref name="data.pointer"/>
    </attribute>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="metDecl">
    <element name="metDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents the notation employed to represent a metrical
  pattern when this is specified as the value of a met,
  real, or rhyme attribute on any structural
  element of a metrical text (e.g. lg, l, or
  seg).</a:documentation>
      <ref name="metDecl.content"/>
      <ref name="metDecl.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="metDecl.content">
    <choice>
      <ref name="macro.componentSeq"/>
      <oneOrMore>
        <ref name="metSym"/>
      </oneOrMore>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="metDecl.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="type" a:defaultValue="met real">
        <a:documentation>indicates whether the notation conveys the abstract
      metrical form, its actual prosodic realization, or the rhyme
      scheme, or some combination thereof.</a:documentation>
        <list>
          <oneOrMore>
            <choice>
              <value>met</value>
              <value>real</value>
              <value>rhyme</value>
            </choice>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
    <optional>
      <attribute name="pattern">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a regular expression defining any value that
	is legal for this notation.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="metSym">
    <element name="metSym">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents the intended significance of a particular character or
character sequence within a metrical notation, either explicitly or in
terms of other symbol elements in the same metDecl.</a:documentation>
      <ref name="metSym.content"/>
      <ref name="metSym.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="metSym.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="metSym.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="value">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the character or character sequence being documented.</a:documentation>
      <ref name="data.words"/>
    </attribute>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="terminal" a:defaultValue="true">
        <a:documentation>specifies whether the symbol is defined in terms of other
symbols (terminal is set to false) or in prose
(terminal is set to true).</a:documentation>
        <choice>
          <value>true</value>
          <a:documentation>(the element contains a prose definition of its meaning.) </a:documentation>
          <value>false</value>
          <a:documentation>(the element contains a definition of its meaning given using
symbols defined elsewhere in the same metDecl element.) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="variantEncoding">
    <element name="variantEncoding">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">declares the method used to encode text-critical variants.</a:documentation>
      <ref name="variantEncoding.content"/>
      <ref name="variantEncoding.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="variantEncoding.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="variantEncoding.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="method">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates which method is used to encode the apparatus of
variants.</a:documentation>
      <choice>
        <value>location-referenced</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(apparatus uses line numbers or other canonical reference scheme
referenced in a base text.) </a:documentation>
        <value>double-end-point</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(apparatus indicates the precise locations of the beginning and
ending of each lemma relative to a base text.) </a:documentation>
        <value>parallel-segmentation</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternate readings of a passage are given in parallel in the
text; no notion of a base text is necessary.) </a:documentation>
      </choice>
    </attribute>
    <attribute name="location">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether the apparatus appears within the running text
or external to it.</a:documentation>
      <choice>
        <value>internal</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(apparatus appears within the running text.) </a:documentation>
        <value>external</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(apparatus appears outside the base text.) </a:documentation>
      </choice>
    </attribute>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="profileDesc">
    <element name="profileDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text-profile description) provides a detailed description of non-bibliographic aspects of a
text, specifically the languages and sublanguages used, the situation in
which it was produced, the participants and their setting.</a:documentation>
      <ref name="profileDesc.content"/>
      <ref name="profileDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="profileDesc.content">
    <group>
      <optional>
        <ref name="creation"/>
      </optional>
      <zeroOrMore>
        <ref name="model.profileDescPart"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="profileDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="creation">
    <element name="creation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about the creation of a text.</a:documentation>
      <ref name="creation.content"/>
      <ref name="creation.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="creation.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="creation.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="langUsage">
    <element name="langUsage">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language usage) describes the languages, sublanguages, registers, dialects etc.
represented within a text.</a:documentation>
      <ref name="langUsage.content"/>
      <ref name="langUsage.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="langUsage.content">
    <oneOrMore>
      <choice>
        <ref name="language"/>
      </choice>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="langUsage.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="language">
    <element name="language">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes a single language or sublanguage used within a
  text.</a:documentation>
      <ref name="language.content"/>
      <ref name="language.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="language.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="language.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="ident">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Supplies a language code constructed as defined in RFC 3066 (or
      its successor) which is used to identify the language documented
      by this element, and which is referenced by the global xml:lang attribute.</a:documentation>
      <ref name="data.language"/>
    </attribute>
    <optional>
      <attribute name="usage">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the approximate percentage (by volume) of the
      text which uses this language.
      </a:documentation>
        <data type="nonNegativeInteger">
          <param name="maxInclusive">100</param>
        </data>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="textClass">
    <element name="textClass">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text classification) groups information which describes the nature or topic of a text
in terms of a standard classification scheme, thesaurus, etc.</a:documentation>
      <ref name="textClass.content"/>
      <ref name="textClass.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="textClass.content">
    <zeroOrMore>
      <choice>
        <ref name="classCode"/>
        <ref name="catRef"/>
        <ref name="keywords"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="textClass.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declarable.attribute.default"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="keywords">
    <element name="keywords">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Keywords) contains a list of keywords or phrases identifying the topic or
nature of a text.</a:documentation>
      <ref name="keywords.content"/>
      <ref name="keywords.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="keywords.content">
    <choice>
      <oneOrMore>
        <ref name="term"/>
      </oneOrMore>
      <ref name="list"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="keywords.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="scheme">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the controlled vocabulary within which the set of
  keywords concerned is defined.
   </a:documentation>
      <ref name="data.pointer"/>
    </attribute>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classCode">
    <element name="classCode">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(classCode) contains the classification code used for this text in some
standard classification system.</a:documentation>
      <ref name="classCode.content"/>
      <ref name="classCode.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classCode.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classCode.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="scheme">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the classification system or taxonomy in use.</a:documentation>
      <ref name="data.pointer"/>
    </attribute>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="catRef">
    <element name="catRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(category reference) specifies one or more defined categories
within some taxonomy or text typology.</a:documentation>
      <ref name="catRef.content"/>
      <ref name="catRef.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="catRef.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="catRef.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="target">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the categories concerned
   </a:documentation>
      <ref name="data.pointers"/>
    </attribute>
    <optional>
      <attribute name="scheme">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the classification scheme within which the set of
    categories concerned is defined
   </a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="revisionDesc">
    <element name="revisionDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(revision description) summarizes the revision history for a file.</a:documentation>
      <ref name="revisionDesc.content"/>
      <ref name="revisionDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="revisionDesc.content">
    <choice>
      <ref name="list"/>
      <oneOrMore>
        <ref name="change"/>
      </oneOrMore>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="revisionDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="change">
    <element name="change">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">summarizes a particular change or correction made
to a particular version of an electronic text which is
shared between several researchers.</a:documentation>
      <ref name="change.content"/>
      <ref name="change.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="change.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.specialPara"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="change.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.ascribed.attribute.who"/>
    <optional>
      <attribute name="date">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the date of the change in standard form,  i.e. yyyy-mm-dd.</a:documentation>
        <ref name="data.temporal"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.headerPart">
    <choice>
      <ref name="encodingDesc"/>
      <ref name="profileDesc"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.sourceDescPart">
    <choice>
      <ref name="scriptStmt"/>
      <ref name="recordingStmt"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.encodingPart">
    <choice>
      <ref name="projectDesc"/>
      <ref name="samplingDecl"/>
      <ref name="editorialDecl"/>
      <ref name="tagsDecl"/>
      <ref name="refsDecl"/>
      <ref name="classDecl"/>
      <ref name="fsdDecl"/>
      <ref name="metDecl"/>
      <ref name="variantEncoding"/>
      <ref name="charDesc"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.editorialDeclPart">
    <choice>
      <ref name="correction"/>
      <ref name="normalization"/>
      <ref name="quotation"/>
      <ref name="hyphenation"/>
      <ref name="segmentation"/>
      <ref name="stdVals"/>
      <ref name="interpretation"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.profileDescPart">
    <choice>
      <ref name="langUsage"/>
      <ref name="textClass"/>
    </choice>
  </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.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
    <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="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>
      <ref name="charName"/>
      <optional>
        <ref name="gloss"/>
      </optional>
      <zeroOrMore>
        <ref name="charProp"/>
      </zeroOrMore>
      <optional>
        <ref name="desc"/>
      </optional>
      <zeroOrMore>
        <ref name="mapping"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="graphic"/>
      </zeroOrMore>
      <optional>
        <ref name="model.noteLike"/>
      </optional>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="char.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </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.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <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>
      <choice>
        <ref name="unicodeName"/>
        <ref name="localName"/>
      </choice>
      <ref name="value"/>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charProp.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
    <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>
      <optional>
        <ref name="desc"/>
      </optional>
      <oneOrMore>
        <choice>
          <ref name="char"/>
          <ref name="glyph"/>
        </choice>
      </oneOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="charDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </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>
      <ref name="glyphName"/>
      <optional>
        <ref name="gloss"/>
      </optional>
      <zeroOrMore>
        <ref name="charProp"/>
      </zeroOrMore>
      <optional>
        <ref name="desc"/>
      </optional>
      <zeroOrMore>
        <ref name="mapping"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="graphic"/>
      </zeroOrMore>
      <optional>
        <ref name="model.noteLike"/>
      </optional>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="glyph.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <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.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <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.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <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>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="g"/>
        </choice>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mapping.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
    <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.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <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.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="TEI">
    <element name="TEI">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI document) contains a single TEI-conformant document,
comprising a TEI header and a text, either in isolation or as part of a
teiCorpus element.</a:documentation>
      <ref name="TEI.content"/>
      <ref name="TEI.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="TEI.content">
    <group>
      <ref name="teiHeader"/>
      <ref name="text"/>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="TEI.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="version" a:defaultValue="5.0">
        <a:documentation>The version of the TEI scheme</a:documentation>
        <data type="decimal"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="text">
    <element name="text">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a single text of any kind, whether unitary or
composite, for example a poem or drama, a collection of essays, a novel,
a dictionary, or a corpus sample.</a:documentation>
      <ref name="text.content"/>
      <ref name="text.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="text.content">
    <group>
      <zeroOrMore>
        <ref name="model.global"/>
      </zeroOrMore>
      <optional>
        <ref name="front"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </optional>
      <choice>
        <ref name="body"/>
        <ref name="group"/>
      </choice>
      <zeroOrMore>
        <ref name="model.global"/>
      </zeroOrMore>
      <optional>
        <ref name="back"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </optional>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="text.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="body">
    <element name="body">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text body) contains the whole body of a single unitary text, excluding any front or back matter.</a:documentation>
      <ref name="body.content"/>
      <ref name="body.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="body.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <choice>
        <group>
          <oneOrMore>
            <ref name="macro.component"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <group>
            <zeroOrMore>
              <ref name="divGen"/>
              <zeroOrMore>
                <ref name="model.global"/>
              </zeroOrMore>
            </zeroOrMore>
            <optional>
              <choice>
                <group>
                  <ref name="div"/>
                  <zeroOrMore>
                    <choice>
                      <ref name="div"/>
                      <ref name="divGen"/>
                      <ref name="model.global"/>
                    </choice>
                  </zeroOrMore>
                </group>
                <group>
                  <ref name="div0"/>
                  <zeroOrMore>
                    <choice>
                      <ref name="div0"/>
                      <ref name="divGen"/>
                      <ref name="model.global"/>
                    </choice>
                  </zeroOrMore>
                </group>
                <group>
                  <ref name="div1"/>
                  <zeroOrMore>
                    <choice>
                      <ref name="div1"/>
                      <ref name="divGen"/>
                      <ref name="model.global"/>
                    </choice>
                  </zeroOrMore>
                </group>
              </choice>
            </optional>
          </group>
        </group>
        <group>
          <zeroOrMore>
            <ref name="divGen"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </zeroOrMore>
          <choice>
            <group>
              <ref name="div"/>
              <zeroOrMore>
                <choice>
                  <ref name="div"/>
                  <ref name="divGen"/>
                  <ref name="model.global"/>
                </choice>
              </zeroOrMore>
            </group>
            <group>
              <ref name="div0"/>
              <zeroOrMore>
                <choice>
                  <ref name="div0"/>
                  <ref name="divGen"/>
                  <ref name="model.global"/>
                </choice>
              </zeroOrMore>
            </group>
            <group>
              <ref name="div1"/>
              <zeroOrMore>
                <choice>
                  <ref name="div1"/>
                  <ref name="divGen"/>
                  <ref name="model.global"/>
                </choice>
              </zeroOrMore>
            </group>
          </choice>
        </group>
      </choice>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="body.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="group">
    <element name="group">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the body of a composite text, grouping together a
sequence of distinct texts (or groups of such texts) which are regarded
as a unit for some purpose, for example the collected works of an
author, a sequence of prose essays, etc.</a:documentation>
      <ref name="group.content"/>
      <ref name="group.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="group.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <group>
        <choice>
          <ref name="text"/>
          <ref name="group"/>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="text"/>
            <ref name="group"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
      </group>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="group.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div">
    <element name="div">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text division) contains a subdivision of the front, body, or back of a
text.</a:documentation>
      <ref name="div.content"/>
      <ref name="div.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <choice>
        <group>
          <oneOrMore>
            <choice>
              <ref name="div"/>
              <ref name="divGen"/>
            </choice>
          </oneOrMore>
        </group>
        <group>
          <oneOrMore>
            <ref name="macro.component"/>
            <optional>
              <ref name="model.global"/>
            </optional>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="div"/>
              <ref name="divGen"/>
            </choice>
          </zeroOrMore>
        </group>
      </choice>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.divWrapper.bottom"/>
        </choice>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div0">
    <element name="div0">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-0 text division) contains the largest possible subdivision of the body
of a text.</a:documentation>
      <ref name="div0.content"/>
      <ref name="div0.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div0.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="div1"/>
            <ref name="divGen"/>
          </choice>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <group>
          <oneOrMore>
            <ref name="macro.component"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="div1"/>
              <ref name="divGen"/>
            </choice>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </group>
      </choice>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div0.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div1">
    <element name="div1">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-1 text division) contains a first-level subdivision of the front, body, or back
of a text (the largest, if
div0 is not used, the second largest if it is).</a:documentation>
      <ref name="div1.content"/>
      <ref name="div1.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div1.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="div2"/>
            <ref name="divGen"/>
          </choice>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <group>
          <oneOrMore>
            <ref name="macro.component"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="div2"/>
              <ref name="divGen"/>
            </choice>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </group>
      </choice>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div1.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div2">
    <element name="div2">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-2 text division) contains a second-level subdivision of the front, body, or back of a
 text.</a:documentation>
      <ref name="div2.content"/>
      <ref name="div2.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div2.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="div3"/>
            <ref name="divGen"/>
          </choice>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <group>
          <oneOrMore>
            <ref name="macro.component"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="div3"/>
              <ref name="divGen"/>
            </choice>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </group>
      </choice>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div2.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div3">
    <element name="div3">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-3 text division) contains a third-level subdivision of the front, body, or back of a
 text.</a:documentation>
      <ref name="div3.content"/>
      <ref name="div3.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div3.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="div4"/>
            <ref name="divGen"/>
          </choice>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <group>
          <oneOrMore>
            <ref name="macro.component"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="div4"/>
              <ref name="divGen"/>
            </choice>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </group>
      </choice>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div3.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div4">
    <element name="div4">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-4 text division) contains a fourth-level subdivision of the front, body, or back of a
 text.</a:documentation>
      <ref name="div4.content"/>
      <ref name="div4.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div4.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="div5"/>
            <ref name="divGen"/>
          </choice>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <group>
          <oneOrMore>
            <ref name="macro.component"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="div5"/>
              <ref name="divGen"/>
            </choice>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </group>
      </choice>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div4.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div5">
    <element name="div5">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-5 text division) contains a fifth-level subdivision of the front, body, or back of a
 text.</a:documentation>
      <ref name="div5.content"/>
      <ref name="div5.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div5.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="div6"/>
            <ref name="divGen"/>
          </choice>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <group>
          <oneOrMore>
            <ref name="macro.component"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="div6"/>
              <ref name="divGen"/>
            </choice>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </group>
      </choice>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div5.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div6">
    <element name="div6">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-6 text division) contains a sixth-level subdivision of the front, body, or back of a
 text.</a:documentation>
      <ref name="div6.content"/>
      <ref name="div6.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div6.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="div7"/>
            <ref name="divGen"/>
          </choice>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <group>
          <oneOrMore>
            <ref name="macro.component"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="div7"/>
              <ref name="divGen"/>
            </choice>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </group>
      </choice>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div6.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div7">
    <element name="div7">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-7 text division) contains the smallest possible subdivision of the front, body or
back of a text, larger than a paragraph.</a:documentation>
      <ref name="div7.content"/>
      <ref name="div7.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div7.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.divWrapper"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <oneOrMore>
        <ref name="macro.component"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </oneOrMore>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="div7.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.divLike.attribute.type"/>
    <ref name="att.divLike.attribute.org"/>
    <ref name="att.divLike.attribute.sample"/>
    <ref name="att.divLike.attribute.part"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="trailer">
    <element name="trailer">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(trailer) contains a closing title or footer appearing at the end of
a division of a text. </a:documentation>
      <ref name="trailer.content"/>
      <ref name="trailer.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="trailer.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="trailer.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="byline">
    <element name="byline">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the primary statement of responsibility given for a work
on its title page or at the head or end of the work.</a:documentation>
      <ref name="byline.content"/>
      <ref name="byline.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="byline.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="docAuthor"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="byline.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dateline">
    <element name="dateline">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a brief description of the place, date, time, etc. of
	production of a letter, newspaper story, or other work, prefixed or
	suffixed to it as a kind of heading or trailer. </a:documentation>
      <ref name="dateline.content"/>
      <ref name="dateline.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dateline.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dateline.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="argument">
    <element name="argument">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A formal list or prose description of the topics addressed by
	a subdivision of a text.</a:documentation>
      <ref name="argument.content"/>
      <ref name="argument.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="argument.content">
    <group>
      <optional>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
        <ref name="head"/>
      </optional>
      <zeroOrMore>
        <group>
          <ref name="macro.component"/>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </group>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="argument.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="epigraph">
    <element name="epigraph">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(epigraph) contains a quotation, anonymous or attributed, appearing at
the start of a section or chapter, or on a title page. </a:documentation>
      <ref name="epigraph.content"/>
      <ref name="epigraph.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="epigraph.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.componentSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="epigraph.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="opener">
    <element name="opener">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups together dateline, byline, salutation, and similar
phrases appearing as a preliminary group at the start of a
division, especially of a letter.</a:documentation>
      <ref name="opener.content"/>
      <ref name="opener.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="opener.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="argument"/>
        <ref name="byline"/>
        <ref name="dateline"/>
        <ref name="epigraph"/>
        <ref name="salute"/>
        <ref name="signed"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="opener.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="closer">
    <element name="closer">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups together dateline, byline, salutation, and similar
phrases appearing as a final group at the end of a
division, especially of a letter.</a:documentation>
      <ref name="closer.content"/>
      <ref name="closer.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="closer.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="signed"/>
        <ref name="dateline"/>
        <ref name="salute"/>
        <ref name="model.phrase"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="closer.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="salute">
    <element name="salute">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(salutation) contains a salutation or greeting prefixed to a foreword,
dedicatory epistle, or other division of a text, or the
salutation in the closing of a letter, preface, etc.</a:documentation>
      <ref name="salute.content"/>
      <ref name="salute.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="salute.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="salute.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="signed">
    <element name="signed">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(signature) contains the closing salutation, etc., appended to a foreword,
dedicatory epistle, or other division of a text. </a:documentation>
      <ref name="signed.content"/>
      <ref name="signed.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="signed.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="signed.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="titlePage">
    <element name="titlePage">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title page) contains the title page of a text, appearing within the front
or back matter. </a:documentation>
      <ref name="titlePage.content"/>
      <ref name="titlePage.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="titlePage.content">
    <group>
      <zeroOrMore>
        <ref name="model.global"/>
      </zeroOrMore>
      <group>
        <ref name="model.titlepagePart"/>
      </group>
      <zeroOrMore>
        <choice>
          <ref name="model.titlepagePart"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="titlePage.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the title page according to any convenient typology.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docTitle">
    <element name="docTitle">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document title) contains the title of a document, including all its
constituents, as given on a title page.</a:documentation>
      <ref name="docTitle.content"/>
      <ref name="docTitle.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docTitle.content">
    <group>
      <zeroOrMore>
        <ref name="model.global"/>
      </zeroOrMore>
      <oneOrMore>
        <ref name="titlePart"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </oneOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docTitle.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="titlePart">
    <element name="titlePart">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title part) contains a subsection or division of the title of a work, as
indicated on a title page.</a:documentation>
      <ref name="titlePart.content"/>
      <ref name="titlePart.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="titlePart.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="titlePart.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="type" a:defaultValue="main">
        <a:documentation>specifies the role of this subdivision of the title.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docAuthor">
    <element name="docAuthor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document author) contains the name of the author of the document, as given on the
title page (often but not always contained in a byline).</a:documentation>
      <ref name="docAuthor.content"/>
      <ref name="docAuthor.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docAuthor.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docAuthor.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="imprimatur">
    <element name="imprimatur">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a formal statement authorizing the publication of
a work, sometimes required to appear on a title page or its verso.</a:documentation>
      <ref name="imprimatur.content"/>
      <ref name="imprimatur.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="imprimatur.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="imprimatur.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docEdition">
    <element name="docEdition">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document edition) contains an edition statement as presented on a title page of a
document.</a:documentation>
      <ref name="docEdition.content"/>
      <ref name="docEdition.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docEdition.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docEdition.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docImprint">
    <element name="docImprint">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document imprint) contains the imprint statement (place and date of publication,
publisher name), as given
(usually) at the foot of a title page.</a:documentation>
      <ref name="docImprint.content"/>
      <ref name="docImprint.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docImprint.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="pubPlace"/>
        <ref name="docDate"/>
        <ref name="publisher"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docImprint.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docDate">
    <element name="docDate">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document date) contains the date of a document, as given
(usually) on a title page.</a:documentation>
      <ref name="docDate.content"/>
      <ref name="docDate.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docDate.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="docDate.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the value of the date in a standard form.</a:documentation>
        <ref name="data.temporal"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="front">
    <element name="front">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(front matter) contains any prefatory matter (headers,
title page, prefaces, dedications, etc.)
found  at the start of a document, before the main body.</a:documentation>
      <ref name="front.content"/>
      <ref name="front.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="front.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.frontPart"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <optional>
        <choice>
          <group>
            <ref name="model.pLike.front"/>
            <zeroOrMore>
              <choice>
                <ref name="model.pLike.front"/>
                <ref name="titlePage"/>
                <ref name="model.global"/>
              </choice>
            </zeroOrMore>
          </group>
          <group>
            <ref name="div"/>
            <zeroOrMore>
              <choice>
                <ref name="div"/>
                <ref name="model.frontPart"/>
                <ref name="model.global"/>
              </choice>
            </zeroOrMore>
          </group>
          <group>
            <ref name="div1"/>
            <zeroOrMore>
              <choice>
                <ref name="div1"/>
                <ref name="model.frontPart"/>
                <ref name="model.global"/>
              </choice>
            </zeroOrMore>
          </group>
        </choice>
      </optional>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="front.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="back">
    <element name="back">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(back matter) contains any appendixes, etc. following the main part of a
text.</a:documentation>
      <ref name="back.content"/>
      <ref name="back.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="back.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="model.frontPart"/>
          <ref name="model.global"/>
          <ref name="model.divWrapper"/>
        </choice>
      </zeroOrMore>
      <optional>
        <choice>
          <group>
            <ref name="div"/>
            <zeroOrMore>
              <choice>
                <ref name="div"/>
                <ref name="model.frontPart"/>
                <ref name="model.global"/>
              </choice>
            </zeroOrMore>
          </group>
          <group>
            <ref name="div1"/>
            <zeroOrMore>
              <choice>
                <ref name="div1"/>
                <ref name="model.frontPart"/>
                <ref name="model.global"/>
              </choice>
            </zeroOrMore>
          </group>
        </choice>
      </optional>
      <zeroOrMore>
        <ref name="model.divWrapper.bottom"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="back.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.declaring.attribute.decls"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att">
    <element name="att">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(attribute) contains the name of an attribute appearing within running text.</a:documentation>
      <ref name="att.content"/>
      <ref name="att.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="scheme" a:defaultValue="TEI">
        <a:documentation>supplies an identifier for  the scheme in which this name is defined.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="code">
    <element name="code">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains literal code from some formal language such as a
programming language</a:documentation>
      <ref name="code.content"/>
      <ref name="code.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="code.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="code.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="lang">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a name identifying the language of the code</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="eg">
    <element name="eg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any kind of illustrative example. </a:documentation>
      <ref name="eg.content"/>
      <ref name="eg.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="eg.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="eg.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="egXML">
    <element name="egXML" ns="http://www.tei-c.org/ns/Examples">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a single well-formed XML example demonstrating the use of some XML element or
  attribute. </a:documentation>
      <ref name="egXML.content"/>
      <ref name="egXML.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="egXML.content">
    <oneOrMore>
      <choice>
        <text/>
        <ref name="anyTEI"/>
        <ref name="mathml.math"/>
      </choice>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="egXML.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gi">
    <element name="gi">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(generic identifier) contains the name (generic identifier) of an element.</a:documentation>
      <ref name="gi.content"/>
      <ref name="gi.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gi.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gi.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="scheme" a:defaultValue="TEI">
        <a:documentation>supplies the name of the scheme in which this name is defined.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ident">
    <element name="ident">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies or names any kind of object</a:documentation>
      <ref name="ident.content"/>
      <ref name="ident.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ident.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ident.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tag">
    <element name="tag">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains text of a complete start- or end-tag, possibly
including attribute specifications, but excluding the opening and
closing markup delimiter characters.</a:documentation>
      <ref name="tag.content"/>
      <ref name="tag.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tag.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tag.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="scheme" a:defaultValue="TEI">
        <a:documentation>supplies the name of the scheme in which this name is defined.</a:documentation>
        <choice>
          <value>TEI</value>
          <a:documentation>(this tag is part of the TEI scheme.) </a:documentation>
          <value>DBK</value>
          <a:documentation>(this element is  part of the Docbook scheme.) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="val">
    <element name="val">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value) contains a single attribute value.</a:documentation>
      <ref name="val.content"/>
      <ref name="val.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="val.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="val.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specList">
    <element name="specList">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks where a list of descriptions is to be inserted into the prose documentation.</a:documentation>
      <ref name="specList.content"/>
      <ref name="specList.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specList.content">
    <oneOrMore>
      <ref name="specDesc"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specList.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specDesc">
    <element name="specDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Element or class description) indicates that a description of the specified element or class should
          be included at this point within a document.</a:documentation>
      <ref name="specDesc.content"/>
      <ref name="specDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specDesc.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="key">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) supplies the identifier of the documentary element or class for
          which a description is to be obtained.
    </a:documentation>
        <ref name="data.name"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="atts">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(attributes) supplies attribute names for which descriptions should additionally
          be obtained.</a:documentation>
        <list>
          <zeroOrMore>
            <ref name="data.name"/>
          </zeroOrMore>
        </list>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="moduleRef">
    <element name="moduleRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">references a module which is to be incorporated into a schema.</a:documentation>
      <ref name="moduleRef.content"/>
      <ref name="moduleRef.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="moduleRef.content">
    <optional>
      <ref name="content"/>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="moduleRef.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <choice>
        <attribute name="key">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the name of a TEI module</a:documentation>
          <data type="NCName"/>
        </attribute>
        <attribute name="url">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">refers to a non-TEI module by external location </a:documentation>
          <data type="anyURI"/>
        </attribute>
      </choice>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="moduleSpec">
    <element name="moduleSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents the structure, content, and purpose of a single
module, i.e. a named and externally visible group of declarations.</a:documentation>
      <ref name="moduleSpec.content"/>
      <ref name="moduleSpec.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="moduleSpec.content">
    <group>
      <ref name="macro.glossSeq"/>
      <zeroOrMore>
        <ref name="exemplum"/>
      </zeroOrMore>
      <optional>
        <ref name="remarks"/>
      </optional>
      <zeroOrMore>
        <ref name="listRef"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="moduleSpec.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.identified.attribute.ident"/>
    <ref name="att.identified.attribute.depend"/>
    <ref name="att.identified.attribute.predeclare"/>
    <ref name="att.identified.attribute.module"/>
    <ref name="att.identified.attribute.mode"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">type of module to be generated</a:documentation>
        <text/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="schemaSpec">
    <element name="schemaSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">generates a TEI-conformant schema and documentation for it.</a:documentation>
      <ref name="schemaSpec.content"/>
      <ref name="schemaSpec.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="schemaSpec.content">
    <group>
      <ref name="macro.glossSeq"/>
      <zeroOrMore>
        <choice>
          <ref name="moduleRef"/>
          <ref name="specGrpRef"/>
          <ref name="model.oddDecl"/>
        </choice>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="schemaSpec.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.identified.attribute.ident"/>
    <ref name="att.identified.attribute.depend"/>
    <ref name="att.identified.attribute.predeclare"/>
    <ref name="att.identified.attribute.module"/>
    <ref name="att.identified.attribute.mode"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">type of schema</a:documentation>
        <ref name="data.namespace"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="start" a:defaultValue="TEI">
        <a:documentation>specifies entry points to the schema, i.e. which
      elements  are allowed to be used as  the root of
      documents conforming to it. </a:documentation>
        <list>
          <zeroOrMore>
            <ref name="data.name"/>
          </zeroOrMore>
        </list>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="ns" a:defaultValue="http://www.tei-c.org/ns/1.0">
        <a:documentation>specifies the default namespace (if any) applicable to
      components of the schema.</a:documentation>
        <ref name="data.namespace"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specGrp">
    <element name="specGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(specification group) contains any convenient grouping of specifications for use within
  the current module.</a:documentation>
      <ref name="specGrp.content"/>
      <ref name="specGrp.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specGrp.content">
    <zeroOrMore>
      <choice>
        <ref name="model.oddDecl"/>
        <ref name="model.oddRef"/>
        <ref name="model.divPart"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specGrp.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specGrpRef">
    <element name="specGrpRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference to a specification group) indicates that the  declarations contained by the
  specGrp referenced should be inserted at this point.</a:documentation>
      <ref name="specGrpRef.content"/>
      <ref name="specGrpRef.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specGrpRef.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="specGrpRef.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="target">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points at the specification group  which logically belongs here.</a:documentation>
      <ref name="data.pointer"/>
    </attribute>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stringVal">
    <element name="stringVal">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the intended expansion for the entity documented
by an patternSpec element, enclosed by quotation marks.</a:documentation>
      <ref name="stringVal.content"/>
      <ref name="stringVal.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stringVal.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stringVal.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="elementSpec">
    <element name="elementSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents the structure, content, and purpose of a single
element type.</a:documentation>
      <ref name="elementSpec.content"/>
      <ref name="elementSpec.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="elementSpec.content">
    <group>
      <ref name="macro.glossSeq"/>
      <optional>
        <ref name="classes"/>
      </optional>
      <optional>
        <ref name="content"/>
      </optional>
      <optional>
        <ref name="attList"/>
      </optional>
      <zeroOrMore>
        <ref name="exemplum"/>
      </zeroOrMore>
      <optional>
        <ref name="remarks"/>
      </optional>
      <zeroOrMore>
        <ref name="listRef"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="elementSpec.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.identified.attribute.ident"/>
    <ref name="att.identified.attribute.depend"/>
    <ref name="att.identified.attribute.predeclare"/>
    <ref name="att.identified.attribute.module"/>
    <ref name="att.identified.attribute.mode"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="ns" a:defaultValue="http://www.tei-c.org/ns/1.0">
        <a:documentation>(namespace) specifies the namespace to which this element belongs</a:documentation>
        <ref name="data.namespace"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="usage" a:defaultValue="opt">
        <a:documentation>specifies the optionality of an attribute or element. </a:documentation>
        <choice>
          <value>req</value>
          <a:documentation>(required) </a:documentation>
          <value>mwa</value>
          <a:documentation>(mandatory when applicable) </a:documentation>
          <value>rec</value>
          <a:documentation>(recommended) </a:documentation>
          <value>rwa</value>
          <a:documentation>(recommended when applicable) </a:documentation>
          <value>opt</value>
          <a:documentation>(optional) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classSpec">
    <element name="classSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains reference information for a TEI element class; 
that is a group of 
  elements which appear together in  content models, or 
  which share some common attribute, or both.</a:documentation>
      <ref name="classSpec.content"/>
      <ref name="classSpec.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classSpec.content">
    <group>
      <ref name="macro.glossSeq"/>
      <optional>
        <ref name="classes"/>
      </optional>
      <optional>
        <ref name="attList"/>
      </optional>
      <zeroOrMore>
        <ref name="exemplum"/>
      </zeroOrMore>
      <optional>
        <ref name="remarks"/>
      </optional>
      <zeroOrMore>
        <ref name="listRef"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classSpec.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.identified.attribute.ident"/>
    <ref name="att.identified.attribute.depend"/>
    <ref name="att.identified.attribute.predeclare"/>
    <ref name="att.identified.attribute.module"/>
    <ref name="att.identified.attribute.mode"/>
    <attribute name="type">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether this is a model class or an attribute class</a:documentation>
      <choice>
        <value>model</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(members of this class appear in the same  content models) </a:documentation>
        <value>atts</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(members of this class share common attributes) </a:documentation>
      </choice>
    </attribute>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macroSpec">
    <element name="macroSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents the function and implementation of a pattern. </a:documentation>
      <ref name="macroSpec.content"/>
      <ref name="macroSpec.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macroSpec.content">
    <group>
      <ref name="macro.glossSeq"/>
      <oneOrMore>
        <choice>
          <ref name="stringVal"/>
          <ref name="content"/>
        </choice>
      </oneOrMore>
      <zeroOrMore>
        <ref name="exemplum"/>
      </zeroOrMore>
      <optional>
        <ref name="remarks"/>
      </optional>
      <zeroOrMore>
        <ref name="listRef"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="macroSpec.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.identified.attribute.ident"/>
    <ref name="att.identified.attribute.depend"/>
    <ref name="att.identified.attribute.predeclare"/>
    <ref name="att.identified.attribute.module"/>
    <ref name="att.identified.attribute.mode"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates which type of entity should be generated, when an ODD
	processor is generating a module using SGML syntax.</a:documentation>
        <choice>
          <value>pe</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(parameter entity) </a:documentation>
          <value>epe</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(element parameter entity) </a:documentation>
          <value>ge</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(general entity) </a:documentation>
          <value>dt</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(datatype entity) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="remarks">
    <element name="remarks">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any commentary or discussion about the usage of an
element, attribute, class, or entity not otherwise documented within the
containing element.</a:documentation>
      <ref name="remarks.content"/>
      <ref name="remarks.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="remarks.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.componentSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="remarks.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="listRef">
    <element name="listRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of references) supplies a list of significant references to places where this
  element is discussed, in the current document or elsewhere.</a:documentation>
      <ref name="listRef.content"/>
      <ref name="listRef.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="listRef.content">
    <zeroOrMore>
      <ref name="ptr"/>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="listRef.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="exemplum">
    <element name="exemplum">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a single example demonstrating the use of an element,
  together with optional paragraphs of commentary.</a:documentation>
      <ref name="exemplum.content"/>
      <ref name="exemplum.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="exemplum.content">
    <group>
      <zeroOrMore>
        <ref name="model.pLike"/>
      </zeroOrMore>
      <choice>
        <ref name="egXML"/>
        <ref name="eg"/>
      </choice>
      <zeroOrMore>
        <ref name="model.pLike"/>
      </zeroOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="exemplum.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classes">
    <element name="classes">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies all the classes of which the documented element or
class is a member or subclass.</a:documentation>
      <ref name="classes.content"/>
      <ref name="classes.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classes.content">
    <choice>
      <zeroOrMore>
        <ref name="memberOf"/>
      </zeroOrMore>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="classes.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="memberOf">
    <element name="memberOf">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies  class membership of the parent element or class.</a:documentation>
      <ref name="memberOf.content"/>
      <ref name="memberOf.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="memberOf.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="memberOf.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="key">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(a name) specifies the identifier for a class of which the documented
 element or class is a member or subclass</a:documentation>
        <ref name="data.name"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="content">
    <element name="content">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(schema declaration) contains the text of a declaration for the schema
documented.</a:documentation>
      <ref name="content.content"/>
      <ref name="content.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="content.content">
    <zeroOrMore>
      <ref name="macro.schemapattern"/>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="content.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="attList">
    <element name="attList">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains documentation for all the attributes associated with this
element, as a series of attDef elements.</a:documentation>
      <ref name="attList.content"/>
      <ref name="attList.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="attList.content">
    <zeroOrMore>
      <choice>
        <ref name="attRef"/>
        <ref name="attDef"/>
        <ref name="attList"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="attList.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="org" a:defaultValue="group">
        <a:documentation>specifies whether all the attributes in the list are
  available (org="group") or only  one of them (org="choice")</a:documentation>
        <choice>
          <value>group</value>
          <a:documentation>(grouped) </a:documentation>
          <value>choice</value>
          <a:documentation>(alternated) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="attDef">
    <element name="attDef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(attribute definition) contains the definition of a single attribute.</a:documentation>
      <ref name="attDef.content"/>
      <ref name="attDef.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="attDef.content">
    <group>
      <ref name="macro.glossSeq"/>
      <optional>
        <ref name="datatype"/>
      </optional>
      <optional>
        <ref name="defaultVal"/>
      </optional>
      <optional>
        <choice>
          <ref name="valList"/>
          <ref name="valDesc"/>
        </choice>
      </optional>
      <optional>
        <ref name="exemplum"/>
      </optional>
      <optional>
        <ref name="remarks"/>
      </optional>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="attDef.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.identified.attribute.ident"/>
    <ref name="att.identified.attribute.depend"/>
    <ref name="att.identified.attribute.predeclare"/>
    <ref name="att.identified.attribute.module"/>
    <ref name="att.identified.attribute.mode"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="usage" a:defaultValue="opt">
        <a:documentation>specifies the optionality of an attribute or element.
 </a:documentation>
        <choice>
          <value>req</value>
          <a:documentation>(required) </a:documentation>
          <value>mwa</value>
          <a:documentation>(mandatory when applicable  ) </a:documentation>
          <value>rec</value>
          <a:documentation>(recommended  ) </a:documentation>
          <value>rwa</value>
          <a:documentation>(recommended when applicable  ) </a:documentation>
          <value>opt</value>
          <a:documentation>(optional ) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="ns" a:defaultValue="http://www.tei-c.org/ns/1.0">
        <a:documentation>(namespace) specifies the namespace to which this attribute belongs</a:documentation>
        <ref name="data.namespace"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="attRef">
    <element name="attRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(attribute pointer) points to the definition of an attribute or group of attributes.</a:documentation>
      <ref name="attRef.content"/>
      <ref name="attRef.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="attRef.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="attRef.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="name">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the name of the pattern defining the attribute(s)</a:documentation>
      <ref name="data.word"/>
    </attribute>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="datatype">
    <element name="datatype">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the declared value for an attribute, by referring to
  any datatype defined by the chosen schema language.</a:documentation>
      <ref name="datatype.content"/>
      <ref name="datatype.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="datatype.content">
    <zeroOrMore>
      <ref name="macro.schemapattern"/>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="datatype.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="defaultVal">
    <element name="defaultVal">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the default declared value for an attribute.</a:documentation>
      <ref name="defaultVal.content"/>
      <ref name="defaultVal.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="defaultVal.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="defaultVal.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="valDesc">
    <element name="valDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value description) specifies any semantic or syntactic constraint on the value that
an attribute may take, additional to the information carried by the
datatype element.</a:documentation>
      <ref name="valDesc.content"/>
      <ref name="valDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="valDesc.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.phraseSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="valDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mode" a:defaultValue="add">
        <a:documentation>specifies the effect of this declaration on its parent module.</a:documentation>
        <choice>
          <value>add</value>
          <a:documentation>(this declaration is added to the current definitions) </a:documentation>
          <value>delete</value>
          <a:documentation>(this declaration and all of its children are removed from the current setup) </a:documentation>
          <value>change</value>
          <a:documentation>(this declaration changes the declaration of the same
	 name in the current definition) </a:documentation>
          <value>replace</value>
          <a:documentation>(this declaration replaces the declaration of the same
	name in the current definition) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="valItem">
    <element name="valItem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value definition) contains a single value and gloss  pair for an attribute.</a:documentation>
      <ref name="valItem.content"/>
      <ref name="valItem.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="valItem.content">
    <group>
      <ref name="macro.glossSeq"/>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="valItem.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.identified.attribute.ident"/>
    <ref name="att.identified.attribute.depend"/>
    <ref name="att.identified.attribute.predeclare"/>
    <ref name="att.identified.attribute.module"/>
    <ref name="att.identified.attribute.mode"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="valList">
    <element name="valList">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value list) contains one or more valItem elements defining possible
  values for an attribute.</a:documentation>
      <ref name="valList.content"/>
      <ref name="valList.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="valList.content">
    <oneOrMore>
      <ref name="valItem"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="valList.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mode" a:defaultValue="add">
        <a:documentation>specifies the effect of this declaration on its parent
    module.</a:documentation>
        <choice>
          <value>add</value>
          <a:documentation>(this declaration is added to the current definitions) </a:documentation>
          <value>delete</value>
          <a:documentation>(this declaration and all of its children are removed from the current setup) </a:documentation>
          <value>change</value>
          <a:documentation>(this declaration changes the declaration of the same
	 name in the current definition) </a:documentation>
          <value>replace</value>
          <a:documentation>(this declaration replaces the declaration of the same
	name in the current definition) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="type" a:defaultValue="open">
        <a:documentation>specifies the extensibility of the list of attribute values
      specified.
      </a:documentation>
        <choice>
          <value>closed</value>
          <a:documentation>(only the values specified are permitted.) </a:documentation>
          <value>semi</value>
          <a:documentation>(all the values specified should be supported, but
	  other values are legal and software should have appropriate
	  fallback processing for them.
	  ) </a:documentation>
          <value>open</value>
          <a:documentation>(the values specified are sample values only.) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.identified.attributes">
    <ref name="att.identified.attribute.ident"/>
    <ref name="att.identified.attribute.depend"/>
    <ref name="att.identified.attribute.predeclare"/>
    <ref name="att.identified.attribute.module"/>
    <ref name="att.identified.attribute.mode"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.identified.attribute.ident">
    <attribute name="ident">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Supplies the identifier by which this element is referenced.</a:documentation>
      <ref name="data.name"/>
    </attribute>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.identified.attribute.depend">
    <optional>
      <attribute name="depend">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The name of a module on which this object depends.</a:documentation>
        <data type="NCName"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.identified.attribute.predeclare">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="predeclare" a:defaultValue="false">
        <a:documentation>Says whether the class should be treated as global, and so
      needs predefining in the core.</a:documentation>
        <data type="boolean"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.identified.attribute.module">
    <optional>
      <attribute name="module">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Supplies the name of the module in which this object is to
      be defined.</a:documentation>
        <data type="NCName"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.identified.attribute.mode">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mode" a:defaultValue="add">
        <a:documentation>specifies the effect of this declaration on its parent
    module.</a:documentation>
        <choice>
          <value>add</value>
          <a:documentation>(this declaration is added to the current definitions) </a:documentation>
          <value>delete</value>
          <a:documentation>(this declaration and all of its children are removed from the current setup) </a:documentation>
          <value>change</value>
          <a:documentation>(this declaration changes the declaration of the same
    name in the current definition) </a:documentation>
          <value>replace</value>
          <a:documentation>(this declaration replaces the declaration of the same
    name in the current definition) </a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="superEntry">
    <element name="superEntry">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups successive entries for a set of homographs.</a:documentation>
      <ref name="superEntry.content"/>
      <ref name="superEntry.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="superEntry.content">
    <choice>
      <group>
        <optional>
          <ref name="form"/>
        </optional>
        <oneOrMore>
          <ref name="entry"/>
        </oneOrMore>
      </group>
      <ref name="dictScrap"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="superEntry.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.entryLike.attribute.type"/>
    <ref name="att.entryLike.attribute.sortKey"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="entry">
    <element name="entry">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a reasonably well-structured dictionary entry.</a:documentation>
      <ref name="entry.content"/>
      <ref name="entry.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="entry.content">
    <oneOrMore>
      <choice>
        <ref name="hom"/>
        <ref name="sense"/>
        <ref name="model.entryParts.top"/>
        <ref name="model.global"/>
      </choice>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="entry.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.entryLike.attribute.type"/>
    <ref name="att.entryLike.attribute.sortKey"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="entryFree">
    <element name="entryFree">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a dictionary entry which does not necessarily conform to the constraints imposed
        by the entry element.</a:documentation>
      <ref name="entryFree.content"/>
      <ref name="entryFree.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="entryFree.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.entryParts"/>
        <ref name="model.phrase"/>
        <ref name="model.inter"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="entryFree.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.entryLike.attribute.type"/>
    <ref name="att.entryLike.attribute.sortKey"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hom">
    <element name="hom">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(homograph) groups information relating to one homograph within an entry.</a:documentation>
      <ref name="hom.content"/>
      <ref name="hom.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hom.content">
    <zeroOrMore>
      <choice>
        <ref name="sense"/>
        <ref name="model.entryParts.top"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hom.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sense">
    <element name="sense">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(sense information group) groups together all information relating to one word sense in a dictionary entry
        (definitions, examples, translation equivalents, etc.)</a:documentation>
      <ref name="sense.content"/>
      <ref name="sense.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sense.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="sense"/>
        <ref name="model.entryParts.top"/>
        <ref name="model.phrase"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="sense.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="level">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the nesting depth of this sense.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dictScrap">
    <element name="dictScrap">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encloses a part of a dictionary entry in which other phrase-level dictionary elements are
        freely combined.</a:documentation>
      <ref name="dictScrap.content"/>
      <ref name="dictScrap.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dictScrap.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.entryParts"/>
        <ref name="model.phrase"/>
        <ref name="model.inter"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dictScrap.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="form">
    <element name="form">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(form information group) groups all the information on the written and spoken forms of one headword.</a:documentation>
      <ref name="form.content"/>
      <ref name="form.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="form.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="model.inter"/>
        <ref name="model.formPart"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="form.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies form as simple, compound, etc.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orth">
    <element name="orth">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(orthographic form) gives the orthographic form of a dictionary headword.</a:documentation>
      <ref name="orth.content"/>
      <ref name="orth.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orth.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="orth.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the type of spelling.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="extent" a:defaultValue="full">
        <a:documentation>gives the extent of the orthographic information provided.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pron">
    <element name="pron">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pronunciation) contains the pronunciation(s) of the word.</a:documentation>
      <ref name="pron.content"/>
      <ref name="pron.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pron.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pron.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="extent" a:defaultValue="full">
        <a:documentation>indicates whether the pronunciation is for whole word or part. </a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="notation">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates what notation is used for the pronunciation, if more than one occurs in
                the machine-readable dictionary. </a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hyph">
    <element name="hyph">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hyphenation) contains a hyphenated form of a dictionary headword, or hyphenation information in some
        other form.</a:documentation>
      <ref name="hyph.content"/>
      <ref name="hyph.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hyph.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="hyph.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="syll">
    <element name="syll">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(syllabification) contains the syllabification of the headword.</a:documentation>
      <ref name="syll.content"/>
      <ref name="syll.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="syll.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="syll.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stress">
    <element name="stress">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the stress pattern for a dictionary headword, if given separately.</a:documentation>
      <ref name="stress.content"/>
      <ref name="stress.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stress.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="stress.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gram">
    <element name="gram">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(grammatical information) within an entry in a dictionary or a terminological data file, contains grammatical
        information relating to a term, word, or form.</a:documentation>
      <ref name="gram.content"/>
      <ref name="gram.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gram.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gram.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the grammatical information given according to some convenient typology
                &#x2014; in the case of terminological information, preferably the dictionary of
                data element types specified in ISO WD 12 620.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gen">
    <element name="gen">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(gender) identifies the morphological gender of a lexical item, as given in the dictionary.</a:documentation>
      <ref name="gen.content"/>
      <ref name="gen.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gen.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gen.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="number">
    <element name="number">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates grammatical number associated with a form, as given in a dictionary.</a:documentation>
      <ref name="number.content"/>
      <ref name="number.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="number.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="number.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="case">
    <element name="case">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains grammatical case information given by a dictionary for a given form.</a:documentation>
      <ref name="case.content"/>
      <ref name="case.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="case.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="case.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="per">
    <element name="per">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(person) contains an indication of the grammatical person (1st, 2nd, 3rd, etc.) associated with a
        given inflected form in a dictionary.</a:documentation>
      <ref name="per.content"/>
      <ref name="per.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="per.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="per.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tns">
    <element name="tns">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tense) indicates the grammatical tense associated with a given inflected form in a dictionary.</a:documentation>
      <ref name="tns.content"/>
      <ref name="tns.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tns.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tns.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mood">
    <element name="mood">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about the grammatical mood of verbs (e.g. indicative, subjunctive, imperative)</a:documentation>
      <ref name="mood.content"/>
      <ref name="mood.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mood.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="mood.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="iType">
    <element name="iType">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(inflectional class) indicates the inflectional class associated with a lexical item.</a:documentation>
      <ref name="iType.content"/>
      <ref name="iType.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="iType.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="iType.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the type of indicator used to specify the inflection class, when it is
                necessary to distinguish between the usual abbreviated indications (e.g.
                inv) and other kinds of indicators, such as special codes
                referring to conjugation patterns, etc.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gramGrp">
    <element name="gramGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(grammatical information group) groups morpho-syntactic information about a lexical item, e.g. pos, gen, number, case, or
        iType (inflectional class).</a:documentation>
      <ref name="gramGrp.content"/>
      <ref name="gramGrp.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gramGrp.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="model.inter"/>
        <ref name="model.gramPart"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="gramGrp.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pos">
    <element name="pos">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(part of speech) indicates the part of speech assigned to a dictionary headword (noun, verb, adjective, etc.)</a:documentation>
      <ref name="pos.content"/>
      <ref name="pos.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pos.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pos.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="subc">
    <element name="subc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(subcategorization) contains subcategorization information (transitive/intransitive, countable/non-countable, etc.)</a:documentation>
      <ref name="subc.content"/>
      <ref name="subc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="subc.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="subc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="colloc">
    <element name="colloc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(collocate) contains a collocate of the headword.</a:documentation>
      <ref name="colloc.content"/>
      <ref name="colloc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="colloc.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="colloc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the collocation, using any convenient typology.</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="def">
    <element name="def">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(definition) contains definition text in a dictionary entry.</a:documentation>
      <ref name="def.content"/>
      <ref name="def.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="def.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="def.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tr">
    <element name="tr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(translation equivalent) contains a translation of the headword or an example.</a:documentation>
      <ref name="tr.content"/>
      <ref name="tr.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tr.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="tr.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="trans">
    <element name="trans">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(translation information) contains translation text and related information (within an entry in a multilingual dictionary).</a:documentation>
      <ref name="trans.content"/>
      <ref name="trans.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="trans.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="model.inter"/>
        <ref name="model.entryParts"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="trans.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="etym">
    <element name="etym">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(etymology) encloses the etymological information in a dictionary entry.</a:documentation>
      <ref name="etym.content"/>
      <ref name="etym.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="etym.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="model.inter"/>
        <ref name="usg"/>
        <ref name="lbl"/>
        <ref name="def"/>
        <ref name="trans"/>
        <ref name="tr"/>
        <ref name="model.morphLike"/>
        <ref name="dicteg"/>
        <ref name="xr"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="etym.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lang">
    <element name="lang">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language name) name of a language mentioned in etymological or other linguistic discussion.</a:documentation>
      <ref name="lang.content"/>
      <ref name="lang.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lang.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lang.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dicteg">
    <element name="dicteg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(example (exempli gratia)) (in a dictionary) contains an example text containing at least one occurrence of the word
        form, used in the sense being described; examples may be quoted from (named) authors or contrived.</a:documentation>
      <ref name="dicteg.content"/>
      <ref name="dicteg.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dicteg.content">
    <oneOrMore>
      <choice>
        <ref name="q"/>
        <ref name="quote"/>
        <ref name="cit"/>
        <ref name="model.entryParts"/>
      </choice>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="dicteg.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="usg">
    <element name="usg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(usage) contains usage information in a dictionary entry.</a:documentation>
      <ref name="usg.content"/>
      <ref name="usg.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="usg.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="usg.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the usage information using any convenient typology.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lbl">
    <element name="lbl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(label) in dictionaries, contains a label for a form, example, translation, or other piece of
        information, e.g. abbreviation for, contraction of, literally, approximately, synonyms:, etc.</a:documentation>
      <ref name="lbl.content"/>
      <ref name="lbl.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lbl.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="lbl.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the label using any convenient typology.</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="xr">
    <element name="xr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cross-reference phrase) contains a phrase, sentence, or icon referring the reader to
some other location in this or another text.</a:documentation>
      <ref name="xr.content"/>
      <ref name="xr.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="xr.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="model.inter"/>
        <ref name="usg"/>
        <ref name="lbl"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="xr.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the type of cross reference, using any convenient
typology.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="re">
    <element name="re">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(related entry) contains a dictionary entry for a lexical item related to the headword, such as a compound
        phrase or derived form, embedded inside a larger entry.</a:documentation>
      <ref name="re.content"/>
      <ref name="re.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="re.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="sense"/>
        <ref name="model.entryParts.top"/>
        <ref name="model.phrase"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="re.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the related entry according to any convenient typology.</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="oRef">
    <element name="oRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(orthographic-form reference) in a dictionary example, indicates a reference to the orthographic form(s) of the headword.</a:documentation>
      <ref name="oRef.content"/>
      <ref name="oRef.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="oRef.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="oRef.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.ptrLike.form.attribute.target"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the kind of typographic modification made to the headword in the reference.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="oVar">
    <element name="oVar">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(orthographic-variant reference) in a dictionary example, indicates a reference to variant orthographic form(s) of the headword.</a:documentation>
      <ref name="oVar.content"/>
      <ref name="oVar.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="oVar.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="oRef"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="oVar.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.ptrLike.form.attribute.target"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the kind of variant involved.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pRef">
    <element name="pRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pronunciation reference) in a dictionary example, indicates a reference to the pronunciation(s) of the headword.</a:documentation>
      <ref name="pRef.content"/>
      <ref name="pRef.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pRef.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pRef.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.ptrLike.form.attribute.target"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pVar">
    <element name="pVar">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pronunciation-variant reference) in a dictionary example, indicates a reference to variant pronunciation(s) of the headword.</a:documentation>
      <ref name="pVar.content"/>
      <ref name="pVar.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pVar.content">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="pRef"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="pVar.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.ptrLike.form.attribute.target"/>
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.entryLike">
    <choice>
      <ref name="superEntry"/>
      <ref name="entry"/>
      <ref name="entryFree"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.entryLike.attributes">
    <ref name="att.entryLike.attribute.type"/>
    <ref name="att.entryLike.attribute.sortKey"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.entryLike.attribute.type">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="type" a:defaultValue="main">
        <a:documentation>indicates type of entry, in dictionaries with multiple types.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.entryLike.attribute.sortKey">
    <optional>
      <attribute name="sortKey">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a (sortable) character sequence reflecting the entry's alphabetical
                position in the printed dictionary.</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.morphLike">
    <choice>
      <ref name="gram"/>
      <ref name="gen"/>
      <ref name="number"/>
      <ref name="case"/>
      <ref name="per"/>
      <ref name="tns"/>
      <ref name="mood"/>
      <ref name="iType"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.formPart">
    <choice>
      <ref name="form"/>
      <ref name="orth"/>
      <ref name="pron"/>
      <ref name="hyph"/>
      <ref name="syll"/>
      <ref name="usg"/>
      <ref name="lbl"/>
      <ref name="model.morphLike"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.gramPart">
    <choice>
      <ref name="gramGrp"/>
      <ref name="pos"/>
      <ref name="subc"/>
      <ref name="colloc"/>
      <ref name="usg"/>
      <ref name="lbl"/>
      <ref name="model.morphLike"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.ptrLike.form">
    <choice>
      <ref name="oRef"/>
      <ref name="oVar"/>
      <ref name="pRef"/>
      <ref name="pVar"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.ptrLike.form.attributes">
    <ref name="att.ptrLike.form.attribute.target"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.ptrLike.form.attribute.target">
    <optional>
      <attribute name="target">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the orthographic form or pronunciation referred to.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.lexicographic.attributes">
    <ref name="att.lexicographic.attribute.expand"/>
    <ref name="att.lexicographic.attribute.norm"/>
    <ref name="att.lexicographic.attribute.split"/>
    <ref name="att.lexicographic.attribute.value"/>
    <ref name="att.lexicographic.attribute.orig"/>
    <ref name="att.lexicographic.attribute.location"/>
    <ref name="att.lexicographic.attribute.mergedin"/>
    <ref name="att.lexicographic.attribute.opt"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.lexicographic.attribute.expand">
    <optional>
      <attribute name="expand">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives an expanded form of information presented more concisely in the dictionary</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.lexicographic.attribute.norm">
    <optional>
      <attribute name="norm">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a normalized form of information given by the source text in a
                non-normalized form</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.lexicographic.attribute.split">
    <optional>
      <attribute name="split">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the list of split values for a merged form</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.lexicographic.attribute.value">
    <optional>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a value which lacks any realization in the printed source text.</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.lexicographic.attribute.orig">
    <optional>
      <attribute name="orig">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the original string or is the empty string when the element does not appear
                in the source text.</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.lexicographic.attribute.location">
    <optional>
      <attribute name="location">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a reference to an anchor element elsewhere in the document
                indicating the original location of this component.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.lexicographic.attribute.mergedin">
    <optional>
      <attribute name="mergedin">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a reference to another element, where the original appears as a merged form.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.lexicographic.attribute.opt">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="opt" a:defaultValue="false">
        <a:documentation>indicates whether the element is optional or not</a:documentation>
        <data type="boolean"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="model.entryParts">
    <choice>
      <ref name="superEntry"/>
      <ref name="hom"/>
      <ref name="sense"/>
      <ref name="form"/>
      <ref name="orth"/>
      <ref name="pron"/>
      <ref name="hyph"/>
      <ref name="syll"/>
      <ref name="stress"/>
      <ref name="gen"/>
      <ref name="number"/>
      <ref name="case"/>
      <ref name="per"/>
      <ref name="tns"/>
      <ref name="mood"/>
      <ref name="iType"/>
      <ref name="gramGrp"/>
      <ref name="pos"/>
      <ref name="subc"/>
      <ref name="colloc"/>
      <ref name="def"/>
      <ref name="tr"/>
      <ref name="trans"/>
      <ref name="etym"/>
      <ref name="dicteg"/>
      <ref name="usg"/>
      <ref name="lbl"/>
      <ref name="xr"/>
      <ref name="re"/>
    </choice>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="link">
    <element name="link">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines an association or hypertextual link
among elements or passages, of some type
not more precisely specifiable by other elements.</a:documentation>
      <ref name="link.content"/>
      <ref name="link.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="link.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="link.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.pointing.attribute.type"/>
    <ref name="att.pointing.attribute.evaluate"/>
    <attribute name="targets">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the identifiers of the elements or passages
    to be linked or associated.
 </a:documentation>
      <ref name="data.pointers"/>
    </attribute>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="linkGrp">
    <element name="linkGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines a collection of associations or hypertextual links.</a:documentation>
      <ref name="linkGrp.content"/>
      <ref name="linkGrp.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="linkGrp.content">
    <oneOrMore>
      <choice>
        <ref name="link"/>
        <ref name="ptr"/>
      </choice>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="linkGrp.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.pointing.group.attribute.domains"/>
    <ref name="att.pointing.group.attribute.targFunc"/>
    <ref name="att.pointing.attribute.type"/>
    <ref name="att.pointing.attribute.evaluate"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ab">
    <element name="ab">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(anonymous block) contains any arbitrary component-level unit of text, acting as
an anonymous container for phrase or inter level elements analogous to, but
without the semantic baggage of, a paragraph.</a:documentation>
      <ref name="ab.content"/>
      <ref name="ab.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ab.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="ab.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="part" a:defaultValue="N">
        <a:documentation>specifies whether or not the block is complete. </a:documentation>
        <choice>
          <value>Y</value>
          <a:documentation>(the block is incomplete) </a:documentation>
          <value>N</value>
          <a:documentation>(either the block is complete, or no claim is made as to its
completeness) </a:documentation>
          <value>I</value>
          <a:documentation>(the initial part of an incomplete block) </a:documentation>
          <value>M</value>
          <a:documentation>(a medial part of an incomplete block) </a:documentation>
          <value>F</value>
          <a:documentation>(the final part of an incomplete block) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="anchor">
    <element name="anchor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(anchor point) attaches an identifier to a
point within a text, whether or not it corresponds with a textual
element.</a:documentation>
      <ref name="anchor.content"/>
      <ref name="anchor.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="anchor.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="anchor.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="seg">
    <element name="seg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(arbitrary segment) contains any arbitrary phrase-level unit of text (including
other seg elements).</a:documentation>
      <ref name="seg.content"/>
      <ref name="seg.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="seg.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="seg.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.segLike.attribute.type"/>
    <ref name="att.segLike.attribute.function"/>
    <ref name="att.segLike.attribute.part"/>
    <optional>
      <attribute name="subtype">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a sub-categorization of the segment marked.</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="when">
    <element name="when">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(when) indicates a point in time either relative to other elements in the
same timeline tag, or absolutely.</a:documentation>
      <ref name="when.content"/>
      <ref name="when.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="when.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="when.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="absolute">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies an absolute value for the time.</a:documentation>
        <ref name="data.temporal"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="unit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the unit of time in which the  interval
value is expressed, if this is not inherited from the parent timeLine.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="interval">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the numeric portion of a time interval</a:documentation>
        <choice>
          <data type="float">
            <param name="minExclusive">0</param>
          </data>
          <value>unknown</value>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute name="since">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the reference point for determining the time of the
current when element, which is obtained by adding the interval to the
time of the reference point.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="timeline">
    <element name="timeline">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(timeline) provides a set of ordered points in time which can be linked to
elements of a spoken text to create a temporal alignment of that text.</a:documentation>
      <ref name="timeline.content"/>
      <ref name="timeline.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="timeline.content">
    <oneOrMore>
      <ref name="when"/>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="timeline.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <attribute name="origin">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">designates the origin of the timeline, i.e. the time at which it
begins.</a:documentation>
      <ref name="data.pointer"/>
    </attribute>
    <optional>
      <attribute name="unit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the unit of time corresponding to the
	interval value of the timeline or of its
	constituent points in time.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="interval">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the numeric portion of a time interval</a:documentation>
        <choice>
          <data type="float">
            <param name="minExclusive">0</param>
          </data>
          <value>regular</value>
          <value>irregular</value>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="join">
    <element name="join">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies a possibly fragmented segment of text, by pointing
at the possibly discontiguous elements which compose it.</a:documentation>
      <ref name="join.content"/>
      <ref name="join.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="join.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.glossSeq"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="join.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.pointing.attribute.type"/>
    <ref name="att.pointing.attribute.evaluate"/>
    <attribute name="targets">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the identifiers of the elements or passages
       to be joined into a virtual
       element.</a:documentation>
      <ref name="data.pointers"/>
    </attribute>
    <optional>
      <attribute name="result">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the name of an element
which this aggregation
may be understood to represent.</a:documentation>
        <ref name="data.name"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="scope" a:defaultValue="root">
        <a:documentation>indicates whether the targets to be joined include the
entire element indicated (the entire subtree including its root),
or just the children of the target (the branches of the subtree).</a:documentation>
        <choice>
          <value>root</value>
          <a:documentation>(the rooted subtrees indicated by the targets
attribute are joined, each subtree become a child of the virtual
element created by the join) </a:documentation>
          <value>branches</value>
          <a:documentation>(the children of the subtrees indicated by the
targets attribute become the children of the virtual element
(i.e. the roots of the subtrees are discarded)) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="joinGrp">
    <element name="joinGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(join group) groups a collection of join elements and possibly
  pointers.</a:documentation>
      <ref name="joinGrp.content"/>
      <ref name="joinGrp.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="joinGrp.content">
    <group>
      <optional>
        <ref name="macro.glossSeq"/>
      </optional>
      <oneOrMore>
        <choice>
          <ref name="join"/>
          <ref name="ptr"/>
        </choice>
      </oneOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="joinGrp.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.pointing.group.attribute.domains"/>
    <ref name="att.pointing.group.attribute.targFunc"/>
    <ref name="att.pointing.attribute.type"/>
    <ref name="att.pointing.attribute.evaluate"/>
    <optional>
      <attribute name="result">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the result of the joins gathered in this collection.</a:documentation>
        <ref name="data.name"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="alt">
    <element name="alt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternation) identifies an alternation or a set of choices among elements or passages.</a:documentation>
      <ref name="alt.content"/>
      <ref name="alt.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="alt.content">
    <empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="alt.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.pointing.attribute.type"/>
    <ref name="att.pointing.attribute.evaluate"/>
    <attribute name="targets">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the identifiers of the alternative elements or passages.</a:documentation>
      <ref name="data.pointers"/>
    </attribute>
    <optional>
      <attribute name="mode">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">states whether the alternations gathered in this collection are exclusive or inclusive.</a:documentation>
        <choice>
          <value>excl</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(indicates that the alternation is exclusive, i.e. that
		  at most one of the alternatives occurs.) </a:documentation>
          <value>incl</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(indicates that the alternation is not exclusive, i.e. that
		  one or more of the alternatives occur.) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute name="weights">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">If mode is excl, each weight states the
		probability that the corresponding alternative occurs.  If
		modeincl each weight states the probability that
		the corresponding alternative occurs given that at least one
		of the other alternatives occurs.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.probability"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="altGrp">
    <element name="altGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternation group) groups a collection of alt elements and possibly
pointers.</a:documentation>
      <ref name="altGrp.content"/>
      <ref name="altGrp.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="altGrp.content">
    <zeroOrMore>
      <choice>
        <ref name="alt"/>
        <ref name="ptr"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="altGrp.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <ref name="att.pointing.group.attribute.domains"/>
    <ref name="att.pointing.group.attribute.targFunc"/>
    <ref name="att.pointing.attribute.type"/>
    <ref name="att.pointing.attribute.evaluate"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="mode" a:defaultValue="excl">
        <a:documentation>states whether the alternations gathered in this collection are
exclusive or inclusive.</a:documentation>
        <choice>
          <value>excl</value>
          <a:documentation>(indicates that the alternation is exclusive, i.e. that at
most one of the alternatives occurs.) </a:documentation>
          <value>incl</value>
          <a:documentation>(indicates that the alternation is not exclusive, i.e. that
one or more of the alternatives occur.) </a:documentation>
        </choice>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.linking.attributes">
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.linking.attribute.corresp">
    <optional>
      <attribute name="corresp">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to elements that correspond to the current
      element in some way.</a:documentation>
        <ref name="data.pointers"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.linking.attribute.synch">
    <optional>
      <attribute name="synch">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to elements that are synchronous with the current
      element.</a:documentation>
        <ref name="data.pointers"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.linking.attribute.sameAs">
    <optional>
      <attribute name="sameAs">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to an element that is the same as the current
      element.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.linking.attribute.copyOf">
    <optional>
      <attribute name="copyOf">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to an element of which the current element is a
	copy.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.linking.attribute.next">
    <optional>
      <attribute name="next">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to the next element of a virtual aggregate of which
      the current element is part.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.linking.attribute.prev">
    <optional>
      <attribute name="prev">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to the previous element of a virtual aggregate of
      which the current element is part.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.linking.attribute.exclude">
    <optional>
      <attribute name="exclude">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to elements that are in exclusive alternation
      with the current element.</a:documentation>
        <ref name="data.pointers"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.global.linking.attribute.select">
    <optional>
      <attribute name="select">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">selects one or more alternants; if one alternant is
      selected, the ambiguity or uncertainty is marked as resolved. If
      more than one alternant is selected, the degree of ambiguity or
      uncertainty is marked as reduced by the number of alternants not
      selected.</a:documentation>
        <ref name="data.pointers"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.pointing.attributes">
    <ref name="att.pointing.attribute.type"/>
    <ref name="att.pointing.attribute.evaluate"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.pointing.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the pointer in some respect, using any
      convenient set of categories.</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.pointing.attribute.evaluate">
    <optional>
      <attribute name="evaluate">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the intended meaning when the target of a
      pointer is itself a pointer.</a:documentation>
        <choice>
          <value>all</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(if the element pointed to is itself a pointer, then
	  the target of that pointer will be taken, and so on, until
	  an element is found which is not a pointer.) </a:documentation>
          <value>one</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(if the element pointed to is itself a pointer, then
	  its target (whether a pointer or not) is taken as the target
	  of this pointer.) </a:documentation>
          <value>none</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(no further evaluation of targets is carried out
	  beyond that needed to find the element specified in the
	  pointer's target.) </a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.pointing.group.attributes">
    <ref name="att.pointing.group.attribute.domains"/>
    <ref name="att.pointing.group.attribute.targFunc"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.pointing.group.attribute.domains">
    <optional>
      <attribute name="domains">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">optionally specifies the identifiers of the elements
      within which all elements indicated by the contents of this
      element lie.</a:documentation>
        <list>
          <ref name="data.name"/>
          <oneOrMore>
            <ref name="data.name"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="att.pointing.group.attribute.targFunc">
    <optional>
      <attribute name="targFunc">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the function of each of the values of the
      targets attribute of the enclosed link,
      join or alt tags.</a:documentation>
        <list>
          <ref name="data.word"/>
          <oneOrMore>
            <ref name="data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="table">
    <element name="table">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains text displayed in tabular form, in
rows and columns.</a:documentation>
      <ref name="table.content"/>
      <ref name="table.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="table.content">
    <group>
      <zeroOrMore>
        <choice>
          <ref name="head"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <oneOrMore>
        <ref name="row"/>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </oneOrMore>
    </group>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="table.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="rows">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number of rows in the table.</a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="cols">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number of columns in each row of the table.</a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="row">
    <element name="row">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one row of a table. </a:documentation>
      <ref name="row.content"/>
      <ref name="row.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="row.content">
    <oneOrMore>
      <choice>
        <ref name="cell"/>
        <ref name="table"/>
      </choice>
      <zeroOrMore>
        <ref name="model.global"/>
      </zeroOrMore>
    </oneOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="row.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="role" a:defaultValue="data">
        <a:documentation>indicates the kind of information held in the cells of this row.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cell">
    <element name="cell">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one cell of a table. </a:documentation>
      <ref name="cell.content"/>
      <ref name="cell.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cell.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="cell.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="role" a:defaultValue="data">
        <a:documentation>indicates the kind of information held in the cell.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="rows" a:defaultValue="1">
        <a:documentation>indicates the number of rows occupied by this cell.</a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" name="cols" a:defaultValue="1">
        <a:documentation>indicates the number of columns occupied by this cell.</a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="formula">
    <element name="formula">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a mathematical or other formula.</a:documentation>
      <ref name="formula.content"/>
      <ref name="formula.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="formula.content">
    <text xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="formula.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <optional>
      <attribute name="notation">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the name of a previously defined notation used for the
content of the
element.</a:documentation>
        <ref name="data.code"/>
      </attribute>
    </optional>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="figure">
    <element name="figure">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a block containing graphics, illustrations, or figures.</a:documentation>
      <ref name="figure.content"/>
      <ref name="figure.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="figure.content">
    <zeroOrMore>
      <choice>
        <ref name="model.pLike"/>
        <ref name="model.global"/>
        <ref name="figure"/>
        <ref name="figDesc"/>
        <ref name="graphic"/>
        <ref name="binaryObject"/>
        <ref name="head"/>
      </choice>
    </zeroOrMore>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="figure.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="figDesc">
    <element name="figDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Description of Figure) contains a brief prose description of the appearance or content
of a graphic figure, for use when documenting an image without
displaying it.</a:documentation>
      <ref name="figDesc.content"/>
      <ref name="figDesc.attributes"/>
    </element>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="figDesc.content">
    <ref xmlns:rng="http://relaxng.org/ns/structure/1.0" name="macro.paraContent"/>
  </define>
  <define xmlns="http://relaxng.org/ns/structure/1.0" name="figDesc.attributes">
    <ref name="att.global.attribute.xmlid"/>
    <ref name="att.global.attribute.n"/>
    <ref name="att.global.attribute.xmllang"/>
    <ref name="att.global.attribute.rend"/>
    <ref name="att.global.attribute.xmlbase"/>
    <ref name="att.global.linking.attribute.corresp"/>
    <ref name="att.global.linking.attribute.synch"/>
    <ref name="att.global.linking.attribute.sameAs"/>
    <ref name="att.global.linking.attribute.copyOf"/>
    <ref name="att.global.linking.attribute.next"/>
    <ref name="att.global.linking.attribute.prev"/>
    <ref name="att.global.linking.attribute.exclude"/>
    <ref name="att.global.linking.attribute.select"/>
    <empty/>
  </define>
  <rng:start>
    <rng:choice>
      <ref xmlns="http://relaxng.org/ns/structure/1.0" name="TEI"/>
      <ref xmlns="http://relaxng.org/ns/structure/1.0" name="schemaSpec"/>
      <ref xmlns="http://relaxng.org/ns/structure/1.0" name="elementSpec"/>
      <ref xmlns="http://relaxng.org/ns/structure/1.0" name="classSpec"/>
      <ref xmlns="http://relaxng.org/ns/structure/1.0" name="macroSpec"/>
      <ref xmlns="http://relaxng.org/ns/structure/1.0" name="div1"/>
      <ref xmlns="http://relaxng.org/ns/structure/1.0" name="div2"/>
    </rng:choice>
  </rng:start>
</rng:grammar>
