<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://www.tei-c.org/ns/1.0">
  <!--
Schema generated from ODD source 2013-05-27T12:17:20Z. 
Edition: 2.3.0. Last updated on 17th January 2013.
Edition Location: http://www.tei-c.org/Vault/P5/2.3.0/

-->
  <!--This schema for the TextGrid baseline encoding is freely available and you are hereby authorised to copy, modify, and redistribute it in any way without further reference or permissions. However, you must release the modified version under a different name than "TextGrid baseline encoding"-->
  <define name="macro.paraContent">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="model.inter"/>
        <ref name="model.global"/>
        <ref name="lg"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="macro.limitedContent">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.limitedPhrase"/>
        <ref name="model.inter"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="macro.phraseSeq">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
        <ref name="model.phrase"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="macro.phraseSeq.limited">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.limitedPhrase"/>
        <ref name="model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define 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 name="macro.xtext">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="model.gLike"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="data.certainty">
    <choice>
      <value>high</value>
      <value>medium</value>
      <value>low</value>
      <value>unknown</value>
    </choice>
  </define>
  <define name="data.probability">
    <data type="double">
      <param name="minInclusive">0</param>
      <param name="maxInclusive">1</param>
    </data>
  </define>
  <define name="data.numeric">
    <choice>
      <data type="double"/>
      <data type="token">
        <param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
      </data>
      <data type="decimal"/>
    </choice>
  </define>
  <define name="data.count">
    <data type="nonNegativeInteger"/>
  </define>
  <define name="data.temporal.w3c">
    <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>
  </define>
  <define name="data.truthValue">
    <data type="boolean"/>
  </define>
  <define name="data.xTruthValue">
    <choice>
      <data type="boolean"/>
      <value>unknown</value>
      <value>inapplicable</value>
    </choice>
  </define>
  <define name="data.language">
    <data type="language"/>
  </define>
  <define name="data.sex">
    <choice>
      <value>0</value>
      <value>1</value>
      <value>2</value>
      <value>9</value>
    </choice>
  </define>
  <define name="data.outputMeasurement">
    <data type="token">
      <param name="pattern">[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|gd|rem|vw|vh|vm)</param>
    </data>
  </define>
  <define name="data.pattern">
    <data type="token"/>
  </define>
  <define name="data.pointer">
    <data type="anyURI"/>
  </define>
  <define name="data.version">
    <data type="token">
      <param name="pattern">[\d]+(\.[\d]+){0,2}</param>
    </data>
  </define>
  <define name="data.word">
    <data type="token">
      <param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
    </data>
  </define>
  <define name="data.text">
    <data type="string"/>
  </define>
  <define name="data.code">
    <ref name="data.word"/>
  </define>
  <define name="data.name">
    <data type="Name"/>
  </define>
  <define name="data.enumerated">
    <ref name="data.name"/>
  </define>
  <define name="data.temporal.iso">
    <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.,DHMPRSTWYZ/:+\-]+</param>
      </data>
    </choice>
  </define>
  <define name="att.ascribed.attributes">
    <ref name="att.ascribed.attribute.who"/>
  </define>
  <define 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>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.canonical.attributes">
    <ref name="att.canonical.attribute.key"/>
    <ref name="att.canonical.attribute.ref"/>
  </define>
  <define name="att.canonical.attribute.key">
    <optional>
      <attribute name="key">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an externally-defined means of identifying the entity (or entities) being named, using a coded value of some kind.</a:documentation>
        <ref name="data.text"/>
      </attribute>
    </optional>
  </define>
  <define name="att.canonical.attribute.ref">
    <optional>
      <attribute name="ref">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference) provides an explicit means of locating a full definition for the entity being named by means of one or more URIs.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.ranging.attributes">
    <ref name="att.ranging.attribute.atLeast"/>
    <ref name="att.ranging.attribute.atMost"/>
    <ref name="att.ranging.attribute.min"/>
    <ref name="att.ranging.attribute.max"/>
    <ref name="att.ranging.attribute.confidence"/>
  </define>
  <define name="att.ranging.attribute.atLeast">
    <optional>
      <attribute name="atLeast">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a minimum estimated value for the approximate measurement.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="att.ranging.attribute.atMost">
    <optional>
      <attribute name="atMost">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a maximum estimated value for the approximate measurement.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="att.ranging.attribute.min">
    <optional>
      <attribute name="min">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">where the measurement summarizes more than one observation or a range, supplies the minimum value observed.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="att.ranging.attribute.max">
    <optional>
      <attribute name="max">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">where the measurement summarizes more than one observation or a range, supplies the maximum value observed.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="att.ranging.attribute.confidence">
    <optional>
      <attribute name="confidence">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the degree of statistical confidence (between zero and one) that a value falls within the range specified by min and max, or the proportion of observed values that fall within that range.</a:documentation>
        <ref name="data.probability"/>
      </attribute>
    </optional>
  </define>
  <define name="att.dimensions.attributes">
    <ref name="att.ranging.attributes"/>
    <ref name="att.dimensions.attribute.unit"/>
    <ref name="att.dimensions.attribute.quantity"/>
    <ref name="att.dimensions.attribute.extent"/>
    <ref name="att.dimensions.attribute.precision"/>
    <ref name="att.dimensions.attribute.scope"/>
  </define>
  <define name="att.dimensions.attribute.unit">
    <optional>
      <attribute name="unit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">names the unit used for the measurement
Suggested values include: 1] cm(centimetres) ; 2] mm(millimetres) ; 3] in(inches) ; 4] lines; 5] chars(characters) </a:documentation>
        <choice>
          <value>cm</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(centimetres) </a:documentation>
          <value>mm</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(millimetres) </a:documentation>
          <value>in</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(inches) </a:documentation>
          <value>lines</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lines of text</a:documentation>
          <value>chars</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(characters) characters of text</a:documentation>
          <data type="Name"/>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="att.dimensions.attribute.quantity">
    <optional>
      <attribute name="quantity">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the length in the units specified</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="att.dimensions.attribute.extent">
    <optional>
      <attribute name="extent">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the size of the object concerned using a project-specific vocabulary combining quantity and units in a single string of words. </a:documentation>
        <ref name="data.text"/>
      </attribute>
    </optional>
  </define>
  <define name="att.dimensions.attribute.precision">
    <optional>
      <attribute name="precision">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the precision of the values specified by the other attributes.</a:documentation>
        <ref name="data.certainty"/>
      </attribute>
    </optional>
  </define>
  <define name="att.dimensions.attribute.scope">
    <optional>
      <attribute name="scope">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">where the measurement summarizes more than one observation, specifies the applicability of this measurement.
Sample values include: 1] all; 2] most; 3] range</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="att.breaking.attributes">
    <ref name="att.breaking.attribute.break"/>
  </define>
  <define name="att.breaking.attribute.break">
    <optional>
      <attribute name="break">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether or not the element bearing this attribute should be considered to mark the end of an orthographic token in the same way as whitespace.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.w3c.attributes">
    <ref name="att.datable.w3c.attribute.when"/>
    <ref name="att.datable.w3c.attribute.notBefore"/>
    <ref name="att.datable.w3c.attribute.notAfter"/>
    <ref name="att.datable.w3c.attribute.from"/>
    <ref name="att.datable.w3c.attribute.to"/>
  </define>
  <define name="att.datable.w3c.attribute.when">
    <optional>
      <attribute name="when">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the value of the date or time in a standard form, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="data.temporal.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.w3c.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.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.w3c.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.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.w3c.attribute.from">
    <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, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="data.temporal.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.w3c.attribute.to">
    <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, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="data.temporal.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.attributes">
    <ref name="att.datable.w3c.attributes"/>
    <ref name="att.datable.iso.attributes"/>
    <ref name="att.datable.custom.attributes"/>
    <ref name="att.datable.attribute.calendar"/>
    <ref name="att.datable.attribute.period"/>
  </define>
  <define name="att.datable.attribute.calendar">
    <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 represented by the content of this element belongs.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="calendar-constraint-calendar">
    <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://www.tei-c.org/ns/1.0" context="tei:*[@calendar]">
      <sch:assert test="string-length(.) gt 0">
@calendar indicates the system or calendar to which the date represented by the content of this element
belongs, but this <sch:name/> element has no textual content.</sch:assert>
    </sch:rule>
  </pattern>
  <define name="att.datable.attribute.period">
    <optional>
      <attribute name="period">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a pointer to some location defining a named period of time within which the datable item is understood to have occurred.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datcat.attributes">
    <ref name="att.datcat.attribute.datcat"/>
    <ref name="att.datcat.attribute.valueDatcat"/>
  </define>
  <define name="att.datcat.attribute.datcat">
    <optional>
      <attribute name="datcat" ns="http://www.isocat.org/ns/dcr">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a PID (persistent identifier) that aligns the given element with the appropriate Data Category (or categories) in ISOcat.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.datcat.attribute.valueDatcat">
    <optional>
      <attribute name="valueDatcat" ns="http://www.isocat.org/ns/dcr">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a PID (persistent identifier) that aligns the content of the given element or the value of the given attribute with the appropriate simple Data Category (or categories) in ISOcat.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.declarable.attributes">
    <ref name="att.declarable.attribute.default"/>
  </define>
  <define name="att.declarable.attribute.default">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/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 name="att.fragmentable.attributes">
    <ref name="att.fragmentable.attribute.part"/>
  </define>
  <define name="att.fragmentable.attribute.part">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="part" a:defaultValue="N">
        <a:documentation>specifies whether or not its parent element is fragmented in some way, typically by some other overlapping structure : for example a speech which is divided between two or more verse stanzas, a paragraph which is split across a page division, a verse line which is divided between two speakers.</a:documentation>
        <choice>
          <value>Y</value>
          <a:documentation> (yes) the element is fragmented in some (unspecified) respect</a:documentation>
          <value>N</value>
          <a:documentation> (no) either the element is not fragmented, or no claim is made as to its completeness.</a:documentation>
          <value>I</value>
          <a:documentation> (initial) this is the initial part of a fragmented element</a:documentation>
          <value>M</value>
          <a:documentation> (medial) this is a medial part of a fragmented element</a:documentation>
          <value>F</value>
          <a:documentation> (final) this is the final part of a fragmented element</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="att.divLike.attributes">
    <ref name="att.metrical.attributes"/>
    <ref name="att.fragmentable.attributes"/>
    <ref name="att.divLike.attribute.part"/>
  </define>
  <define name="att.divLike.attribute.part">
    <optional>
      <attribute name="part">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
        <text/>
      </attribute>
    </optional>
  </define>
  <define name="att.docStatus.attributes">
    <ref name="att.docStatus.attribute.status"/>
  </define>
  <define name="att.docStatus.attribute.status">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="status" a:defaultValue="draft">
        <a:documentation>describes the status of a document either currently or, when associated with a dated element, at the time indicated.
Sample values include: 1] approved; 2] candidate; 3] cleared; 4] deprecated; 5] draft; 6] embargoed; 7] expired; 8] frozen; 9] galley; 10] proposed; 11] published; 12] recommendation; 13] submitted; 14] unfinished; 15] withdrawn</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="att.responsibility.attributes">
    <ref name="att.responsibility.attribute.cert"/>
    <ref name="att.responsibility.attribute.resp"/>
  </define>
  <define name="att.responsibility.attribute.cert">
    <optional>
      <attribute name="cert">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(certainty) signifies the degree of certainty associated with the intervention or interpretation.</a:documentation>
        <ref name="data.certainty"/>
      </attribute>
    </optional>
  </define>
  <define name="att.responsibility.attribute.resp">
    <optional>
      <attribute name="resp">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.editLike.attributes">
    <ref name="att.dimensions.attributes"/>
    <ref name="att.responsibility.attributes"/>
    <ref name="att.editLike.attribute.evidence"/>
    <ref name="att.editLike.attribute.source"/>
    <ref name="att.editLike.attribute.instant"/>
  </define>
  <define 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.
Suggested values include: 1] internal; 2] external; 3] conjecture</a:documentation>
        <list>
          <oneOrMore>
            <choice>
              <value>internal</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">there is internal evidence to support the intervention.</a:documentation>
              <value>external</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">there is external evidence to support the intervention.</a:documentation>
              <value>conjecture</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the intervention or interpretation has been made by the editor, cataloguer, or scholar on the basis of their expertise.</a:documentation>
              <data type="Name"/>
            </choice>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.editLike.attribute.source">
    <optional>
      <attribute name="source">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a list of one or more pointers indicating sources supporting the given intervention or interpretation.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.editLike.attribute.instant">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="instant" a:defaultValue="false">
        <a:documentation>indicates whether this is an instant revision or not.</a:documentation>
        <ref name="data.xTruthValue"/>
      </attribute>
    </optional>
  </define>
  <define name="att.global.attributes">
    <ref name="att.global.linking.attributes"/>
    <ref name="att.global.analytic.attributes"/>
    <ref name="att.global.facs.attributes"/>
    <ref name="att.global.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.style"/>
    <ref name="att.global.attribute.xmlspace"/>
  </define>
  <define name="att.global.attribute.xmlid">
    <optional>
      <attribute name="xml:id">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) provides a unique identifier for the element bearing the attribute.</a:documentation>
        <data type="ID"/>
      </attribute>
    </optional>
  </define>
  <define name="att.global.attribute.n">
    <optional>
      <attribute name="n">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) gives a number (or other label) for an element, which is not necessarily unique within the document.</a:documentation>
        <ref name="data.text"/>
      </attribute>
    </optional>
  </define>
  <define name="att.global.attribute.xmllang">
    <optional>
      <attribute name="xml:lang">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language) indicates the language of the element content using a tag generated according to BCP 47.</a:documentation>
        <ref name="data.language"/>
      </attribute>
    </optional>
  </define>
  <define name="att.global.attribute.style">
    <optional>
      <attribute name="style">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an expression in some formal style definition language which defines the rendering or presentation used for this element in the source text </a:documentation>
        <ref name="data.text"/>
      </attribute>
    </optional>
  </define>
  <define name="att.global.attribute.xmlspace">
    <optional>
      <attribute name="xml:space">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signals an intention about how white space should be managed by applications. </a:documentation>
        <choice>
          <value>default</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signals that the application's default white-space processing modes are acceptable</a:documentation>
          <value>preserve</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the intent that applications preserve all white space</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="att.handFeatures.attributes">
    <ref name="att.handFeatures.attribute.scribe"/>
    <ref name="att.handFeatures.attribute.scribeRef"/>
    <ref name="att.handFeatures.attribute.script"/>
    <ref name="att.handFeatures.attribute.scriptRef"/>
    <ref name="att.handFeatures.attribute.medium"/>
    <ref name="att.handFeatures.attribute.scope"/>
  </define>
  <define name="att.handFeatures.attribute.scribe">
    <optional>
      <attribute name="scribe">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a name or other identifier for the scribe believed to be responsible for this hand.</a:documentation>
        <ref name="data.name"/>
      </attribute>
    </optional>
  </define>
  <define name="att.handFeatures.attribute.scribeRef">
    <optional>
      <attribute name="scribeRef">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to a full description of the scribe concerned, typically supplied by a person element elsewhere in the description.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.handFeatures.attribute.script">
    <optional>
      <attribute name="script">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the particular script or writing style used by this hand, for example secretary, copperplate, Chancery, Italian, etc.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.name"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.handFeatures.attribute.scriptRef">
    <optional>
      <attribute name="scriptRef">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to a full description of the script or writing style used by this hand, typically supplied by a scriptNote element elsewhere in the description.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.handFeatures.attribute.medium">
    <optional>
      <attribute name="medium">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the tint or type of ink, e.g. brown, or other writing medium, e.g. pencil</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="att.handFeatures.attribute.scope">
    <optional>
      <attribute name="scope">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies how widely this hand is used in the manuscript.</a:documentation>
        <choice>
          <value>sole</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">only this hand is used throughout the manuscript</a:documentation>
          <value>major</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">this hand is used through most of the manuscript</a:documentation>
          <value>minor</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">this hand is used occasionally in the manuscript</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="att.internetMedia.attributes">
    <ref name="att.internetMedia.attribute.mimeType"/>
  </define>
  <define name="att.internetMedia.attribute.mimeType">
    <optional>
      <attribute name="mimeType">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(MIME media type) specifies the applicable multimedia internet mail extension (MIME) media type</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.media.attribute.width">
    <optional>
      <attribute name="width">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the media are displayed, indicates the display width </a:documentation>
        <ref name="data.outputMeasurement"/>
      </attribute>
    </optional>
  </define>
  <define name="att.media.attribute.height">
    <optional>
      <attribute name="height">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the media are displayed, indicates the display height</a:documentation>
        <ref name="data.outputMeasurement"/>
      </attribute>
    </optional>
  </define>
  <define name="att.media.attribute.scale">
    <optional>
      <attribute name="scale">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the media are displayed, indicates a scale factor to be applied when generating the desired display size</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="att.resourced.attributes">
    <ref name="att.resourced.attribute.url"/>
  </define>
  <define name="att.resourced.attribute.url">
    <attribute name="url">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(uniform resource locator) specifies the URL from which the media concerned may be obtained.</a:documentation>
      <ref name="data.pointer"/>
    </attribute>
  </define>
  <define name="att.naming.attributes">
    <ref name="att.canonical.attributes"/>
    <ref name="att.naming.attribute.role"/>
    <ref name="att.naming.attribute.nymRef"/>
  </define>
  <define name="att.naming.attribute.role">
    <optional>
      <attribute name="role">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">may be used to specify further information about the entity referenced by this name, for example the occupation of a person, or the status of a place. </a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="att.naming.attribute.nymRef">
    <optional>
      <attribute name="nymRef">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference to the canonical name) provides a means of locating the canonical form (nym) of the names associated with the object named by the element bearing it.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.placement.attributes">
    <ref name="att.placement.attribute.place"/>
  </define>
  <define name="att.placement.attribute.place">
    <optional>
      <attribute name="place">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies where this item is placed
Suggested values include: 1] below; 2] bottom; 3] margin; 4] top; 5] opposite; 6] overleaf; 7] above; 8] end; 9] inline; 10] inspace</a:documentation>
        <list>
          <oneOrMore>
            <choice>
              <value>below</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">below the line</a:documentation>
              <value>bottom</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the foot of the page</a:documentation>
              <value>margin</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the margin (left, right, or both)</a:documentation>
              <value>top</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the top of the page</a:documentation>
              <value>opposite</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the opposite, i.e. facing, page</a:documentation>
              <value>overleaf</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the other side of the leaf</a:documentation>
              <value>above</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">above the line</a:documentation>
              <value>end</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the end of e.g. chapter or volume.</a:documentation>
              <value>inline</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">within the body of the text.</a:documentation>
              <value>inspace</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in a predefined space, for example left by an earlier scribe.</a:documentation>
              <data type="Name"/>
            </choice>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.typed.attributes">
    <ref name="att.typed.attribute.type"/>
    <ref name="att.typed.attribute.subtype"/>
  </define>
  <define 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.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define 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.enumerated"/>
      </attribute>
    </optional>
  </define>
  <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="att.typed-constraint-subtypeTyped">
    <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://www.tei-c.org/ns/1.0" context="*[@subtype]">
      <sch:assert test="@type">The <sch:name/> element should not be categorized in detail with @subtype
 unless also categorized in general with @type</sch:assert>
    </sch:rule>
  </pattern>
  <define name="att.pointing.attributes">
    <ref name="att.pointing.attribute.targetLang"/>
    <ref name="att.pointing.attribute.target"/>
    <ref name="att.pointing.attribute.evaluate"/>
  </define>
  <define name="att.pointing.attribute.targetLang">
    <optional>
      <attribute name="targetLang">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the language of the content to be found at the destination referenced by target, using a language tag generated according to BCP 47.</a:documentation>
        <ref name="data.language"/>
      </attribute>
    </optional>
  </define>
  <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="targetLang-constraint-targetLang">
    <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://www.tei-c.org/ns/1.0" context="tei:*[not(self::tei:schemaSpec)][@targetLang]">
      <sch:assert test="count(@target)">@targetLang can only be used if @target is specified.</sch:assert>
    </sch:rule>
  </pattern>
  <define name="att.pointing.attribute.target">
    <optional>
      <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>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define 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 name="att.segLike.attributes">
    <ref name="att.metrical.attributes"/>
    <ref name="att.datcat.attributes"/>
    <ref name="att.fragmentable.attributes"/>
    <ref name="att.segLike.attribute.function"/>
  </define>
  <define 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 name="att.sortable.attributes">
    <ref name="att.sortable.attribute.sortKey"/>
  </define>
  <define name="att.sortable.attribute.sortKey">
    <optional>
      <attribute name="sortKey">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the sort key for this element in an index, list or group which contains it.</a:documentation>
        <ref name="data.word"/>
      </attribute>
    </optional>
  </define>
  <define name="att.edition.attributes">
    <ref name="att.edition.attribute.ed"/>
    <ref name="att.edition.attribute.edRef"/>
  </define>
  <define name="att.edition.attribute.ed">
    <optional>
      <attribute name="ed">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(edition) supplies an arbitrary identifier for the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.code"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.edition.attribute.edRef">
    <optional>
      <attribute name="edRef">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (edition reference) provides a pointer to the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.spanning.attributes">
    <ref name="att.spanning.attribute.spanTo"/>
  </define>
  <define 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>
  <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="spanTo-constraint-spanTo-2">
    <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://www.tei-c.org/ns/1.0" context="tei:*[@spanTo]">
      <sch:assert test="following::*[@xml:id=substring(current()/@target,2)]">
The element indicated by @spanTo must follow the current element <sch:name/>
         </sch:assert>
    </sch:rule>
  </pattern>
  <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="spanTo-constraint-spanTo-3">
    <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://www.tei-c.org/ns/1.0" context="tei:*[@spanTo]">
      <sch:assert test="id(substring(@spanTo,2))">
@spanTo on <sch:name/> must point to  the identifier of some element  in this document</sch:assert>
    </sch:rule>
  </pattern>
  <define name="att.styleDef.attributes">
    <ref name="att.styleDef.attribute.scheme"/>
  </define>
  <define name="att.styleDef.attribute.scheme">
    <optional>
      <attribute name="scheme">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the language used to describe the rendition.</a:documentation>
        <choice>
          <value>css</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Cascading Stylesheet Language</a:documentation>
          <value>xslfo</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Extensible Stylesheet Language Formatting Objects</a:documentation>
          <value>free</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Informal free text description</a:documentation>
          <value>other</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A user-defined rendition description language</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="att.tableDecoration.attributes">
    <ref name="att.tableDecoration.attribute.role"/>
    <ref name="att.tableDecoration.attribute.rows"/>
    <ref name="att.tableDecoration.attribute.cols"/>
  </define>
  <define name="att.tableDecoration.attribute.role">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="role" a:defaultValue="data">
        <a:documentation>indicates the kind of information held in this cell or in each cell of this row.
Suggested values include: 1] label; 2] data</a:documentation>
        <choice>
          <value>label</value>
          <a:documentation>labelling or descriptive information only.</a:documentation>
          <value>data</value>
          <a:documentation>data values.</a:documentation>
          <data type="Name"/>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="att.tableDecoration.attribute.rows">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="rows" a:defaultValue="1">
        <a:documentation>indicates the number of rows occupied by this cell or row.</a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="att.tableDecoration.attribute.cols">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="cols" a:defaultValue="1">
        <a:documentation>(columns) indicates the number of columns occupied by this cell or row.</a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="att.timed.attributes">
    <ref name="att.timed.attribute.start"/>
    <ref name="att.timed.attribute.end"/>
  </define>
  <define 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 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 name="att.transcriptional.attributes">
    <ref name="att.editLike.attributes"/>
    <ref name="att.transcriptional.attribute.hand"/>
    <ref name="att.transcriptional.attribute.status"/>
    <ref name="att.transcriptional.attribute.cause"/>
    <ref name="att.transcriptional.attribute.seq"/>
  </define>
  <define name="att.transcriptional.attribute.hand">
    <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 intervention.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="att.transcriptional.attribute.status">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="status" a:defaultValue="unremarkable">
        <a:documentation>indicates the effect of the intervention, for example in the case of a deletion, strikeouts which include too much or too little text, or in the case of an addition, an insertion which duplicates some of the text already present.
Sample values include: 1] duplicate; 2] duplicate-partial; 3] excessStart; 4] excessEnd; 5] shortStart; 6] shortEnd; 7] partial; 8] unremarkable</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="att.transcriptional.attribute.cause">
    <optional>
      <attribute name="cause">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents the presumed cause for the intervention.</a:documentation>
        <choice>
          <value>fix</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">repeated for the purpose of fixation</a:documentation>
          <value>unclear</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">repeated to clarify a previously illegible or badly written text or mark</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="att.transcriptional.attribute.seq">
    <optional>
      <attribute name="seq">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(sequence) assigns a sequence number related to the order in which the encoded features carrying this attribute are believed to have occurred.</a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="model.nameLike.agent">
    <choice>
      <ref name="orgName"/>
      <ref name="persName"/>
    </choice>
  </define>
  <define name="model.nameLike.agent_alternation">
    <choice>
      <ref name="orgName"/>
      <ref name="persName"/>
    </choice>
  </define>
  <define name="model.nameLike.agent_sequence">
    <ref name="orgName"/>
    <ref name="persName"/>
  </define>
  <define name="model.nameLike.agent_sequenceOptional">
    <optional>
      <ref name="orgName"/>
    </optional>
    <optional>
      <ref name="persName"/>
    </optional>
  </define>
  <define name="model.nameLike.agent_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="orgName"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="persName"/>
    </zeroOrMore>
  </define>
  <define name="model.nameLike.agent_sequenceRepeatable">
    <oneOrMore>
      <ref name="orgName"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="persName"/>
    </oneOrMore>
  </define>
  <define name="model.segLike">
    <choice>
      <ref name="w"/>
      <ref name="c"/>
      <ref name="pc"/>
    </choice>
  </define>
  <define name="model.hiLike">
    <choice>
      <ref name="hi"/>
    </choice>
  </define>
  <define name="model.hiLike_alternation">
    <choice>
      <ref name="hi"/>
    </choice>
  </define>
  <define name="model.hiLike_sequence">
    <ref name="hi"/>
  </define>
  <define name="model.hiLike_sequenceOptional">
    <optional>
      <ref name="hi"/>
    </optional>
  </define>
  <define name="model.hiLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="hi"/>
    </zeroOrMore>
  </define>
  <define name="model.hiLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="hi"/>
    </oneOrMore>
  </define>
  <define name="model.emphLike">
    <choice>
      <ref name="foreign"/>
      <ref name="emph"/>
      <ref name="term"/>
      <ref name="title"/>
    </choice>
  </define>
  <define name="model.emphLike_alternation">
    <choice>
      <ref name="foreign"/>
      <ref name="emph"/>
      <ref name="term"/>
      <ref name="title"/>
    </choice>
  </define>
  <define name="model.emphLike_sequence">
    <ref name="foreign"/>
    <ref name="emph"/>
    <ref name="term"/>
    <ref name="title"/>
  </define>
  <define name="model.emphLike_sequenceOptional">
    <optional>
      <ref name="foreign"/>
    </optional>
    <optional>
      <ref name="emph"/>
    </optional>
    <optional>
      <ref name="term"/>
    </optional>
    <optional>
      <ref name="title"/>
    </optional>
  </define>
  <define name="model.emphLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="foreign"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="emph"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="term"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="title"/>
    </zeroOrMore>
  </define>
  <define name="model.emphLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="foreign"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="emph"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="term"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="title"/>
    </oneOrMore>
  </define>
  <define name="model.highlighted">
    <choice>
      <ref name="model.hiLike"/>
      <ref name="model.emphLike"/>
    </choice>
  </define>
  <define name="model.dateLike">
    <choice>
      <ref name="date"/>
      <ref name="time"/>
    </choice>
  </define>
  <define name="model.dateLike_alternation">
    <choice>
      <ref name="date"/>
      <ref name="time"/>
    </choice>
  </define>
  <define name="model.dateLike_sequence">
    <ref name="date"/>
    <ref name="time"/>
  </define>
  <define name="model.dateLike_sequenceOptional">
    <optional>
      <ref name="date"/>
    </optional>
    <optional>
      <ref name="time"/>
    </optional>
  </define>
  <define name="model.dateLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="date"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="time"/>
    </zeroOrMore>
  </define>
  <define name="model.dateLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="date"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="time"/>
    </oneOrMore>
  </define>
  <define name="model.dimLike">
    <choice>
      <ref name="height"/>
      <ref name="depth"/>
      <ref name="width"/>
    </choice>
  </define>
  <define name="model.measureLike">
    <choice>
      <ref name="dim"/>
      <ref name="height"/>
      <ref name="depth"/>
      <ref name="width"/>
      <ref name="geo"/>
    </choice>
  </define>
  <define name="model.measureLike_alternation">
    <choice>
      <ref name="dim"/>
      <ref name="height"/>
      <ref name="depth"/>
      <ref name="width"/>
      <ref name="geo"/>
    </choice>
  </define>
  <define name="model.measureLike_sequence">
    <ref name="dim"/>
    <ref name="height"/>
    <ref name="depth"/>
    <ref name="width"/>
    <ref name="geo"/>
  </define>
  <define name="model.measureLike_sequenceOptional">
    <optional>
      <ref name="dim"/>
    </optional>
    <optional>
      <ref name="height"/>
    </optional>
    <optional>
      <ref name="depth"/>
    </optional>
    <optional>
      <ref name="width"/>
    </optional>
    <optional>
      <ref name="geo"/>
    </optional>
  </define>
  <define name="model.measureLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="dim"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="height"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="depth"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="width"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="geo"/>
    </zeroOrMore>
  </define>
  <define name="model.measureLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="dim"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="height"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="depth"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="width"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="geo"/>
    </oneOrMore>
  </define>
  <define name="model.egLike">
    <notAllowed/>
  </define>
  <define name="model.egLike_alternation">
    <notAllowed/>
  </define>
  <define name="model.egLike_sequence">
    <empty/>
  </define>
  <define name="model.egLike_sequenceOptional">
    <empty/>
  </define>
  <define name="model.egLike_sequenceOptionalRepeatable">
    <empty/>
  </define>
  <define name="model.egLike_sequenceRepeatable">
    <notAllowed/>
  </define>
  <define name="model.graphicLike">
    <choice>
      <ref name="media"/>
      <ref name="graphic"/>
      <ref name="formula"/>
    </choice>
  </define>
  <define name="model.offsetLike">
    <choice>
      <ref name="offset"/>
      <ref name="geogFeat"/>
    </choice>
  </define>
  <define name="model.offsetLike_alternation">
    <choice>
      <ref name="offset"/>
      <ref name="geogFeat"/>
    </choice>
  </define>
  <define name="model.offsetLike_sequence">
    <ref name="offset"/>
    <ref name="geogFeat"/>
  </define>
  <define name="model.offsetLike_sequenceOptional">
    <optional>
      <ref name="offset"/>
    </optional>
    <optional>
      <ref name="geogFeat"/>
    </optional>
  </define>
  <define name="model.offsetLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="offset"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="geogFeat"/>
    </zeroOrMore>
  </define>
  <define name="model.offsetLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="offset"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="geogFeat"/>
    </oneOrMore>
  </define>
  <define name="model.pPart.msdesc">
    <choice>
      <ref name="catchwords"/>
      <ref name="dimensions"/>
      <ref name="heraldry"/>
      <ref name="locus"/>
      <ref name="locusGrp"/>
      <ref name="material"/>
      <ref name="objectType"/>
      <ref name="origDate"/>
      <ref name="origPlace"/>
      <ref name="secFol"/>
      <ref name="signatures"/>
      <ref name="stamp"/>
      <ref name="watermark"/>
    </choice>
  </define>
  <define name="model.pPart.editorial">
    <choice>
      <ref name="choice"/>
    </choice>
  </define>
  <define name="model.pPart.editorial_alternation">
    <choice>
      <ref name="choice"/>
    </choice>
  </define>
  <define name="model.pPart.editorial_sequence">
    <ref name="choice"/>
  </define>
  <define name="model.pPart.editorial_sequenceOptional">
    <optional>
      <ref name="choice"/>
    </optional>
  </define>
  <define name="model.pPart.editorial_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="choice"/>
    </zeroOrMore>
  </define>
  <define name="model.pPart.editorial_sequenceRepeatable">
    <oneOrMore>
      <ref name="choice"/>
    </oneOrMore>
  </define>
  <define name="model.pPart.transcriptional">
    <choice>
      <ref name="app"/>
      <ref name="surplus"/>
      <ref name="mod"/>
      <ref name="redo"/>
      <ref name="retrace"/>
      <ref name="undo"/>
    </choice>
  </define>
  <define name="model.pPart.transcriptional_alternation">
    <choice>
      <ref name="app"/>
      <ref name="surplus"/>
      <ref name="mod"/>
      <ref name="redo"/>
      <ref name="retrace"/>
      <ref name="undo"/>
    </choice>
  </define>
  <define name="model.pPart.transcriptional_sequence">
    <ref name="app"/>
    <ref name="surplus"/>
    <ref name="mod"/>
    <ref name="redo"/>
    <ref name="retrace"/>
    <ref name="undo"/>
  </define>
  <define name="model.pPart.transcriptional_sequenceOptional">
    <optional>
      <ref name="app"/>
    </optional>
    <optional>
      <ref name="surplus"/>
    </optional>
    <optional>
      <ref name="mod"/>
    </optional>
    <optional>
      <ref name="redo"/>
    </optional>
    <optional>
      <ref name="retrace"/>
    </optional>
    <optional>
      <ref name="undo"/>
    </optional>
  </define>
  <define name="model.pPart.transcriptional_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="app"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="surplus"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="mod"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="redo"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="retrace"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="undo"/>
    </zeroOrMore>
  </define>
  <define name="model.pPart.transcriptional_sequenceRepeatable">
    <oneOrMore>
      <ref name="app"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="surplus"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="mod"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="redo"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="retrace"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="undo"/>
    </oneOrMore>
  </define>
  <define name="model.pPart.edit">
    <choice>
      <ref name="model.pPart.editorial"/>
      <ref name="model.pPart.transcriptional"/>
    </choice>
  </define>
  <define name="model.linePart">
    <choice>
      <ref name="model.segLike"/>
      <ref name="model.hiLike"/>
      <ref name="model.pPart.transcriptional"/>
      <ref name="line"/>
    </choice>
  </define>
  <define name="model.ptrLike">
    <choice>
      <ref name="ref"/>
    </choice>
  </define>
  <define name="model.lPart">
    <choice>
      <ref name="caesura"/>
      <ref name="rhyme"/>
    </choice>
  </define>
  <define name="model.global.meta">
    <choice>
      <ref name="index"/>
      <ref name="substJoin"/>
      <ref name="listTranspose"/>
      <ref name="fs"/>
      <ref name="fLib"/>
    </choice>
  </define>
  <define name="model.milestoneLike">
    <choice>
      <ref name="milestone"/>
      <ref name="gb"/>
      <ref name="pb"/>
      <ref name="lb"/>
      <ref name="cb"/>
      <ref name="anchor"/>
    </choice>
  </define>
  <define name="model.gLike">
    <choice>
      <ref name="g"/>
    </choice>
  </define>
  <define name="model.biblLike">
    <choice>
      <ref name="bibl"/>
      <ref name="biblStruct"/>
      <ref name="biblFull"/>
      <ref name="msDesc"/>
      <ref name="listRelation"/>
      <ref name="relationGrp"/>
    </choice>
  </define>
  <define name="model.biblLike_alternation">
    <choice>
      <ref name="bibl"/>
      <ref name="biblStruct"/>
      <ref name="biblFull"/>
      <ref name="msDesc"/>
      <ref name="listRelation"/>
      <ref name="relationGrp"/>
    </choice>
  </define>
  <define name="model.biblLike_sequence">
    <ref name="bibl"/>
    <ref name="biblStruct"/>
    <ref name="biblFull"/>
    <ref name="msDesc"/>
    <ref name="listRelation"/>
    <ref name="relationGrp"/>
  </define>
  <define name="model.biblLike_sequenceOptional">
    <optional>
      <ref name="bibl"/>
    </optional>
    <optional>
      <ref name="biblStruct"/>
    </optional>
    <optional>
      <ref name="biblFull"/>
    </optional>
    <optional>
      <ref name="msDesc"/>
    </optional>
    <optional>
      <ref name="listRelation"/>
    </optional>
    <optional>
      <ref name="relationGrp"/>
    </optional>
  </define>
  <define name="model.biblLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="bibl"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="biblStruct"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="biblFull"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="msDesc"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="listRelation"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="relationGrp"/>
    </zeroOrMore>
  </define>
  <define name="model.biblLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="bibl"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="biblStruct"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="biblFull"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="msDesc"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="listRelation"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="relationGrp"/>
    </oneOrMore>
  </define>
  <define name="model.headLike">
    <choice>
      <ref name="head"/>
    </choice>
  </define>
  <define name="model.headLike_alternation">
    <choice>
      <ref name="head"/>
    </choice>
  </define>
  <define name="model.headLike_sequence">
    <ref name="head"/>
  </define>
  <define name="model.headLike_sequenceOptional">
    <optional>
      <ref name="head"/>
    </optional>
  </define>
  <define name="model.headLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="head"/>
    </zeroOrMore>
  </define>
  <define name="model.headLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="head"/>
    </oneOrMore>
  </define>
  <define name="model.labelLike">
    <choice>
      <ref name="label"/>
    </choice>
  </define>
  <define name="model.labelLike_alternation">
    <choice>
      <ref name="label"/>
    </choice>
  </define>
  <define name="model.labelLike_sequence">
    <ref name="label"/>
  </define>
  <define name="model.labelLike_sequenceOptional">
    <optional>
      <ref name="label"/>
    </optional>
  </define>
  <define name="model.labelLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="label"/>
    </zeroOrMore>
  </define>
  <define name="model.labelLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="label"/>
    </oneOrMore>
  </define>
  <define name="model.listLike">
    <choice>
      <ref name="list"/>
      <ref name="table"/>
      <ref name="listApp"/>
      <ref name="listWit"/>
      <ref name="listOrg"/>
      <ref name="listEvent"/>
      <ref name="listPerson"/>
      <ref name="listPlace"/>
      <ref name="listNym"/>
    </choice>
  </define>
  <define name="model.listLike_alternation">
    <choice>
      <ref name="list"/>
      <ref name="table"/>
      <ref name="listApp"/>
      <ref name="listWit"/>
      <ref name="listOrg"/>
      <ref name="listEvent"/>
      <ref name="listPerson"/>
      <ref name="listPlace"/>
      <ref name="listNym"/>
    </choice>
  </define>
  <define name="model.listLike_sequence">
    <ref name="list"/>
    <ref name="table"/>
    <ref name="listApp"/>
    <ref name="listWit"/>
    <ref name="listOrg"/>
    <ref name="listEvent"/>
    <ref name="listPerson"/>
    <ref name="listPlace"/>
    <ref name="listNym"/>
  </define>
  <define name="model.listLike_sequenceOptional">
    <optional>
      <ref name="list"/>
    </optional>
    <optional>
      <ref name="table"/>
    </optional>
    <optional>
      <ref name="listApp"/>
    </optional>
    <optional>
      <ref name="listWit"/>
    </optional>
    <optional>
      <ref name="listOrg"/>
    </optional>
    <optional>
      <ref name="listEvent"/>
    </optional>
    <optional>
      <ref name="listPerson"/>
    </optional>
    <optional>
      <ref name="listPlace"/>
    </optional>
    <optional>
      <ref name="listNym"/>
    </optional>
  </define>
  <define name="model.listLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="list"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="table"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="listApp"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="listWit"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="listOrg"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="listEvent"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="listPerson"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="listPlace"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="listNym"/>
    </zeroOrMore>
  </define>
  <define name="model.listLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="list"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="table"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="listApp"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="listWit"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="listOrg"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="listEvent"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="listPerson"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="listPlace"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="listNym"/>
    </oneOrMore>
  </define>
  <define name="model.noteLike">
    <choice>
      <ref name="note"/>
      <ref name="witDetail"/>
    </choice>
  </define>
  <define name="model.lLike">
    <choice>
      <ref name="l"/>
    </choice>
  </define>
  <define name="model.lLike_alternation">
    <choice>
      <ref name="l"/>
    </choice>
  </define>
  <define name="model.lLike_sequence">
    <ref name="l"/>
  </define>
  <define name="model.lLike_sequenceOptional">
    <optional>
      <ref name="l"/>
    </optional>
  </define>
  <define name="model.lLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="l"/>
    </zeroOrMore>
  </define>
  <define name="model.lLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="l"/>
    </oneOrMore>
  </define>
  <define name="model.pLike">
    <choice>
      <ref name="p"/>
    </choice>
  </define>
  <define name="model.pLike_alternation">
    <choice>
      <ref name="p"/>
    </choice>
  </define>
  <define name="model.pLike_sequence">
    <ref name="p"/>
  </define>
  <define name="model.pLike_sequenceOptional">
    <optional>
      <ref name="p"/>
    </optional>
  </define>
  <define name="model.pLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="p"/>
    </zeroOrMore>
  </define>
  <define name="model.pLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="p"/>
    </oneOrMore>
  </define>
  <define name="model.stageLike">
    <choice>
      <ref name="stage"/>
      <ref name="move"/>
      <ref name="view"/>
      <ref name="camera"/>
      <ref name="sound"/>
      <ref name="caption"/>
      <ref name="tech"/>
    </choice>
  </define>
  <define name="model.stageLike_alternation">
    <choice>
      <ref name="stage"/>
      <ref name="move"/>
      <ref name="view"/>
      <ref name="camera"/>
      <ref name="sound"/>
      <ref name="caption"/>
      <ref name="tech"/>
    </choice>
  </define>
  <define name="model.stageLike_sequence">
    <ref name="stage"/>
    <ref name="move"/>
    <ref name="view"/>
    <ref name="camera"/>
    <ref name="sound"/>
    <ref name="caption"/>
    <ref name="tech"/>
  </define>
  <define name="model.stageLike_sequenceOptional">
    <optional>
      <ref name="stage"/>
    </optional>
    <optional>
      <ref name="move"/>
    </optional>
    <optional>
      <ref name="view"/>
    </optional>
    <optional>
      <ref name="camera"/>
    </optional>
    <optional>
      <ref name="sound"/>
    </optional>
    <optional>
      <ref name="caption"/>
    </optional>
    <optional>
      <ref name="tech"/>
    </optional>
  </define>
  <define name="model.stageLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="stage"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="move"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="view"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="camera"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="sound"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="caption"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="tech"/>
    </zeroOrMore>
  </define>
  <define name="model.stageLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="stage"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="move"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="view"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="camera"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="sound"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="caption"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="tech"/>
    </oneOrMore>
  </define>
  <define name="model.featureVal.complex">
    <choice>
      <ref name="fs"/>
    </choice>
  </define>
  <define name="model.featureVal.single">
    <choice>
      <ref name="symbol"/>
    </choice>
  </define>
  <define name="model.entryPart">
    <choice>
      <ref name="superEntry"/>
      <ref name="sense"/>
      <ref name="form"/>
      <ref name="gramGrp"/>
      <ref name="pos"/>
      <ref name="subc"/>
      <ref name="def"/>
      <ref name="etym"/>
      <ref name="usg"/>
      <ref name="xr"/>
      <ref name="re"/>
    </choice>
  </define>
  <define name="model.entryPart.top">
    <choice>
      <ref name="cit"/>
      <ref name="form"/>
      <ref name="gramGrp"/>
      <ref name="def"/>
      <ref name="etym"/>
      <ref name="usg"/>
      <ref name="xr"/>
      <ref name="re"/>
    </choice>
  </define>
  <define name="model.global.edit">
    <choice>
      <ref name="gap"/>
      <ref name="addSpan"/>
      <ref name="delSpan"/>
    </choice>
  </define>
  <define name="model.divPart">
    <choice>
      <ref name="model.lLike"/>
      <ref name="model.pLike"/>
      <ref name="lg"/>
      <ref name="sp"/>
      <ref name="spGrp"/>
      <ref name="figure"/>
    </choice>
  </define>
  <define name="model.persStateLike">
    <choice>
      <ref name="persName"/>
      <ref name="affiliation"/>
      <ref name="age"/>
      <ref name="education"/>
      <ref name="faith"/>
      <ref name="floruit"/>
      <ref name="langKnowledge"/>
      <ref name="nationality"/>
      <ref name="occupation"/>
      <ref name="residence"/>
      <ref name="sex"/>
      <ref name="socecStatus"/>
      <ref name="trait"/>
    </choice>
  </define>
  <define name="model.persEventLike">
    <choice>
      <ref name="birth"/>
      <ref name="death"/>
      <ref name="event"/>
      <ref name="listEvent"/>
    </choice>
  </define>
  <define name="model.personLike">
    <choice>
      <ref name="org"/>
      <ref name="person"/>
      <ref name="personGrp"/>
    </choice>
  </define>
  <define name="model.personPart">
    <choice>
      <ref name="model.persStateLike"/>
      <ref name="model.persEventLike"/>
      <ref name="bibl"/>
      <ref name="idno"/>
    </choice>
  </define>
  <define name="model.placeNamePart">
    <choice>
      <ref name="country"/>
      <ref name="settlement"/>
    </choice>
  </define>
  <define name="model.placeNamePart_alternation">
    <choice>
      <ref name="country"/>
      <ref name="settlement"/>
    </choice>
  </define>
  <define name="model.placeNamePart_sequence">
    <ref name="country"/>
    <ref name="settlement"/>
  </define>
  <define name="model.placeNamePart_sequenceOptional">
    <optional>
      <ref name="country"/>
    </optional>
    <optional>
      <ref name="settlement"/>
    </optional>
  </define>
  <define name="model.placeNamePart_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="country"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="settlement"/>
    </zeroOrMore>
  </define>
  <define name="model.placeNamePart_sequenceRepeatable">
    <oneOrMore>
      <ref name="country"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="settlement"/>
    </oneOrMore>
  </define>
  <define name="model.placeStateLike">
    <choice>
      <ref name="model.placeNamePart"/>
      <ref name="climate"/>
      <ref name="location"/>
      <ref name="population"/>
      <ref name="terrain"/>
      <ref name="trait"/>
    </choice>
  </define>
  <define name="model.placeStateLike_alternation">
    <choice>
      <ref name="model.placeNamePart_alternation"/>
      <ref name="climate"/>
      <ref name="location"/>
      <ref name="population"/>
      <ref name="terrain"/>
      <ref name="trait"/>
    </choice>
  </define>
  <define name="model.placeStateLike_sequence">
    <ref name="model.placeNamePart_sequence"/>
    <ref name="climate"/>
    <ref name="location"/>
    <ref name="population"/>
    <ref name="terrain"/>
    <ref name="trait"/>
  </define>
  <define name="model.placeStateLike_sequenceOptional">
    <optional>
      <ref name="model.placeNamePart_sequenceOptional"/>
    </optional>
    <optional>
      <ref name="climate"/>
    </optional>
    <optional>
      <ref name="location"/>
    </optional>
    <optional>
      <ref name="population"/>
    </optional>
    <optional>
      <ref name="terrain"/>
    </optional>
    <optional>
      <ref name="trait"/>
    </optional>
  </define>
  <define name="model.placeStateLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="model.placeNamePart_sequenceOptionalRepeatable"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="climate"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="location"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="population"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="terrain"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="trait"/>
    </zeroOrMore>
  </define>
  <define name="model.placeStateLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="model.placeNamePart_sequenceRepeatable"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="climate"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="location"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="population"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="terrain"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="trait"/>
    </oneOrMore>
  </define>
  <define name="model.placeEventLike">
    <choice>
      <ref name="event"/>
    </choice>
  </define>
  <define name="model.orgPart">
    <choice>
      <ref name="listOrg"/>
      <ref name="listPerson"/>
      <ref name="listPlace"/>
    </choice>
  </define>
  <define name="model.publicationStmtPart">
    <choice>
      <ref name="address"/>
      <ref name="date"/>
      <ref name="publisher"/>
      <ref name="pubPlace"/>
      <ref name="authority"/>
      <ref name="idno"/>
      <ref name="availability"/>
    </choice>
  </define>
  <define name="model.availabilityPart">
    <choice>
      <ref name="licence"/>
    </choice>
  </define>
  <define name="model.certLike">
    <notAllowed/>
  </define>
  <define name="model.descLike">
    <notAllowed/>
  </define>
  <define name="model.quoteLike">
    <choice>
      <ref name="quote"/>
      <ref name="cit"/>
    </choice>
  </define>
  <define name="model.quoteLike_alternation">
    <choice>
      <ref name="quote"/>
      <ref name="cit"/>
    </choice>
  </define>
  <define name="model.quoteLike_sequence">
    <ref name="quote"/>
    <ref name="cit"/>
  </define>
  <define name="model.quoteLike_sequenceOptional">
    <optional>
      <ref name="quote"/>
    </optional>
    <optional>
      <ref name="cit"/>
    </optional>
  </define>
  <define name="model.quoteLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="quote"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="cit"/>
    </zeroOrMore>
  </define>
  <define name="model.quoteLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="quote"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="cit"/>
    </oneOrMore>
  </define>
  <define name="model.qLike">
    <choice>
      <ref name="model.quoteLike"/>
      <ref name="q"/>
    </choice>
  </define>
  <define name="model.qLike_alternation">
    <choice>
      <ref name="model.quoteLike_alternation"/>
      <ref name="q"/>
    </choice>
  </define>
  <define name="model.qLike_sequence">
    <ref name="model.quoteLike_sequence"/>
    <ref name="q"/>
  </define>
  <define name="model.qLike_sequenceOptional">
    <optional>
      <ref name="model.quoteLike_sequenceOptional"/>
    </optional>
    <optional>
      <ref name="q"/>
    </optional>
  </define>
  <define name="model.qLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="model.quoteLike_sequenceOptionalRepeatable"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="q"/>
    </zeroOrMore>
  </define>
  <define name="model.qLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="model.quoteLike_sequenceRepeatable"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="q"/>
    </oneOrMore>
  </define>
  <define name="model.respLike">
    <choice>
      <ref name="author"/>
      <ref name="editor"/>
    </choice>
  </define>
  <define name="model.divWrapper">
    <choice>
      <ref name="byline"/>
      <ref name="dateline"/>
      <ref name="epigraph"/>
      <ref name="salute"/>
      <ref name="docAuthor"/>
      <ref name="docDate"/>
    </choice>
  </define>
  <define name="model.divTopPart">
    <choice>
      <ref name="model.headLike"/>
      <ref name="opener"/>
    </choice>
  </define>
  <define name="model.divTop">
    <choice>
      <ref name="model.divWrapper"/>
      <ref name="model.divTopPart"/>
    </choice>
  </define>
  <define name="model.frontPart.drama">
    <choice>
      <ref name="set"/>
      <ref name="prologue"/>
      <ref name="epilogue"/>
      <ref name="performance"/>
      <ref name="castList"/>
    </choice>
  </define>
  <define name="model.pLike.front">
    <choice>
      <ref name="head"/>
      <ref name="byline"/>
      <ref name="epigraph"/>
      <ref name="docTitle"/>
      <ref name="titlePart"/>
      <ref name="docAuthor"/>
      <ref name="docEdition"/>
      <ref name="docImprint"/>
      <ref name="docDate"/>
    </choice>
  </define>
  <define name="model.divBottomPart">
    <choice>
      <ref name="trailer"/>
      <ref name="closer"/>
      <ref name="signed"/>
      <ref name="postscript"/>
    </choice>
  </define>
  <define name="model.divBottom">
    <choice>
      <ref name="model.divWrapper"/>
      <ref name="model.divBottomPart"/>
    </choice>
  </define>
  <define name="model.titlepagePart">
    <choice>
      <ref name="graphic"/>
      <ref name="figure"/>
      <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"/>
    </choice>
  </define>
  <define name="model.msQuoteLike">
    <choice>
      <ref name="title"/>
      <ref name="colophon"/>
      <ref name="explicit"/>
      <ref name="finalRubric"/>
      <ref name="incipit"/>
      <ref name="rubric"/>
    </choice>
  </define>
  <define name="model.msItemPart">
    <choice>
      <ref name="model.quoteLike"/>
      <ref name="model.respLike"/>
      <ref name="model.msQuoteLike"/>
      <ref name="bibl"/>
      <ref name="biblStruct"/>
      <ref name="textLang"/>
      <ref name="filiation"/>
      <ref name="msItem"/>
      <ref name="msItemStruct"/>
      <ref name="decoNote"/>
    </choice>
  </define>
  <define 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"/>
    </choice>
  </define>
  <define name="model.imprintPart">
    <choice>
      <ref name="publisher"/>
      <ref name="pubPlace"/>
    </choice>
  </define>
  <define name="model.castItemPart">
    <choice>
      <ref name="role"/>
      <ref name="roleDesc"/>
      <ref name="actor"/>
    </choice>
  </define>
  <define name="model.physDescPart_sequenceOptional">
    <optional>
      <ref name="objectDesc"/>
    </optional>
    <optional>
      <ref name="handDesc"/>
    </optional>
    <optional>
      <ref name="typeDesc"/>
    </optional>
    <optional>
      <ref name="scriptDesc"/>
    </optional>
    <optional>
      <ref name="musicNotation"/>
    </optional>
    <optional>
      <ref name="decoDesc"/>
    </optional>
    <optional>
      <ref name="additions"/>
    </optional>
    <optional>
      <ref name="bindingDesc"/>
    </optional>
    <optional>
      <ref name="sealDesc"/>
    </optional>
    <optional>
      <ref name="accMat"/>
    </optional>
  </define>
  <define name="model.addressLike">
    <choice>
      <ref name="address"/>
      <ref name="affiliation"/>
    </choice>
  </define>
  <define name="model.addressLike_alternation">
    <choice>
      <ref name="address"/>
      <ref name="affiliation"/>
    </choice>
  </define>
  <define name="model.addressLike_sequence">
    <ref name="address"/>
    <ref name="affiliation"/>
  </define>
  <define name="model.addressLike_sequenceOptional">
    <optional>
      <ref name="address"/>
    </optional>
    <optional>
      <ref name="affiliation"/>
    </optional>
  </define>
  <define name="model.addressLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="address"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="affiliation"/>
    </zeroOrMore>
  </define>
  <define name="model.addressLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="address"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="affiliation"/>
    </oneOrMore>
  </define>
  <define name="model.nameLike">
    <choice>
      <ref name="model.nameLike.agent"/>
      <ref name="model.offsetLike"/>
      <ref name="model.placeStateLike"/>
      <ref name="rs"/>
      <ref name="idno"/>
      <ref name="model.persNamePart"/>
    </choice>
  </define>
  <define name="model.nameLike_alternation">
    <choice>
      <ref name="model.nameLike.agent_alternation"/>
      <ref name="model.offsetLike_alternation"/>
      <ref name="model.placeStateLike_alternation"/>
      <ref name="rs"/>
      <ref name="idno"/>
      <ref name="model.persNamePart_alternation"/>
    </choice>
  </define>
  <define name="model.nameLike_sequence">
    <ref name="model.nameLike.agent_sequence"/>
    <ref name="model.offsetLike_sequence"/>
    <ref name="model.placeStateLike_sequence"/>
    <ref name="rs"/>
    <ref name="idno"/>
    <ref name="model.persNamePart_sequence"/>
  </define>
  <define name="model.nameLike_sequenceOptional">
    <optional>
      <ref name="model.nameLike.agent_sequenceOptional"/>
    </optional>
    <optional>
      <ref name="model.offsetLike_sequenceOptional"/>
    </optional>
    <optional>
      <ref name="model.placeStateLike_sequenceOptional"/>
    </optional>
    <optional>
      <ref name="rs"/>
    </optional>
    <optional>
      <ref name="idno"/>
    </optional>
    <optional>
      <ref name="model.persNamePart_sequenceOptional"/>
    </optional>
  </define>
  <define name="model.nameLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="model.nameLike.agent_sequenceOptionalRepeatable"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="model.offsetLike_sequenceOptionalRepeatable"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="model.placeStateLike_sequenceOptionalRepeatable"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="rs"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="idno"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="model.persNamePart_sequenceOptionalRepeatable"/>
    </zeroOrMore>
  </define>
  <define name="model.nameLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="model.nameLike.agent_sequenceRepeatable"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="model.offsetLike_sequenceRepeatable"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="model.placeStateLike_sequenceRepeatable"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="rs"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="idno"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="model.persNamePart_sequenceRepeatable"/>
    </oneOrMore>
  </define>
  <define name="model.global">
    <choice>
      <ref name="model.global.meta"/>
      <ref name="model.milestoneLike"/>
      <ref name="model.noteLike"/>
      <ref name="model.global.edit"/>
      <ref name="notatedMusic"/>
      <ref name="metamark"/>
    </choice>
  </define>
  <define name="model.featureVal">
    <choice>
      <ref name="model.featureVal.complex"/>
      <ref name="model.featureVal.single"/>
    </choice>
  </define>
  <define name="model.biblPart">
    <choice>
      <ref name="model.respLike"/>
      <ref name="model.imprintPart"/>
      <ref name="citedRange"/>
      <ref name="bibl"/>
      <ref name="textLang"/>
      <ref name="edition"/>
      <ref name="extent"/>
      <ref name="msIdentifier"/>
    </choice>
  </define>
  <define name="model.frontPart">
    <choice>
      <ref name="model.frontPart.drama"/>
      <ref name="titlePage"/>
    </choice>
  </define>
  <define name="model.addrPart">
    <choice>
      <ref name="model.nameLike"/>
      <ref name="addrLine"/>
    </choice>
  </define>
  <define name="model.pPart.data">
    <choice>
      <ref name="model.dateLike"/>
      <ref name="model.measureLike"/>
      <ref name="model.addressLike"/>
      <ref name="model.nameLike"/>
    </choice>
  </define>
  <define name="model.inter">
    <choice>
      <ref name="model.egLike"/>
      <ref name="model.biblLike"/>
      <ref name="model.labelLike"/>
      <ref name="model.listLike"/>
      <ref name="model.stageLike"/>
      <ref name="model.qLike"/>
      <ref name="castList"/>
    </choice>
  </define>
  <define name="model.common">
    <choice>
      <ref name="model.divPart"/>
      <ref name="model.inter"/>
      <ref name="model.entryLike"/>
    </choice>
  </define>
  <define name="model.phrase">
    <choice>
      <ref name="model.segLike"/>
      <ref name="model.highlighted"/>
      <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.pPart.data"/>
    </choice>
  </define>
  <define name="model.limitedPhrase">
    <choice>
      <ref name="model.hiLike"/>
      <ref name="model.emphLike"/>
      <ref name="model.pPart.msdesc"/>
      <ref name="model.pPart.editorial"/>
      <ref name="model.ptrLike"/>
      <ref name="model.pPart.data"/>
    </choice>
  </define>
  <define name="model.divLike">
    <choice>
      <ref name="div"/>
    </choice>
  </define>
  <define name="model.divGenLike">
    <notAllowed/>
  </define>
  <define name="model.div1Like">
    <notAllowed/>
  </define>
  <define name="model.teiHeaderPart">
    <choice>
      <ref name="encodingDesc"/>
      <ref name="profileDesc"/>
    </choice>
  </define>
  <define name="model.sourceDescPart">
    <notAllowed/>
  </define>
  <define name="model.encodingDescPart">
    <choice>
      <ref name="charDecl"/>
      <ref name="editorialDecl"/>
      <ref name="styleDefDecl"/>
      <ref name="listPrefixDef"/>
      <ref name="variantEncoding"/>
    </choice>
  </define>
  <define name="model.editorialDeclPart">
    <choice>
      <ref name="normalization"/>
    </choice>
  </define>
  <define name="model.profileDescPart">
    <choice>
      <ref name="calendarDesc"/>
      <ref name="handNotes"/>
      <ref name="listTranspose"/>
    </choice>
  </define>
  <define name="att.source.attributes">
    <ref name="att.source.attribute.source"/>
  </define>
  <define name="att.source.attribute.source">
    <optional>
      <attribute name="source">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (pointer to a bibliographical source reference) provides a pointer to the bibliographical source from which a quotation or citation is drawn.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="model.resourceLike">
    <choice>
      <ref name="sourceDoc"/>
    </choice>
  </define>
  <define name="att.personal.attributes">
    <ref name="att.naming.attributes"/>
    <ref name="att.personal.attribute.full"/>
    <ref name="att.personal.attribute.sort"/>
  </define>
  <define name="att.personal.attribute.full">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="full" a:defaultValue="yes">
        <a:documentation>indicates whether the name component is given in full, as an abbreviation or simply as an initial.</a:documentation>
        <choice>
          <value>yes</value>
          <a:documentation>the name component is spelled out in full.</a:documentation>
          <value>abb</value>
          <a:documentation>(abbreviated) the name component is given in an abbreviated form.</a:documentation>
          <value>init</value>
          <a:documentation>(initial letter) the name component is indicated only by one initial.</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="att.personal.attribute.sort">
    <optional>
      <attribute name="sort">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sort order of the name component in relation to others within the name.</a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="model.placeLike">
    <choice>
      <ref name="place"/>
    </choice>
  </define>
  <define name="p">
    <element name="p">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(paragraph) marks paragraphs in prose. [3.1.  7.2.5. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.fragmentable.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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.  [3.3.2.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [3.3.2.2.  3.3.2. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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.  [3.3.2.2.  3.3.2. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [3.3.3.  4.3.1. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.msExcerpt.attributes"/>
      <ref name="att.source.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="q">
    <element name="q">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(quoted) contains material which is distinguished from the surrounding text using quotation marks or a similar method, for any one of a variety of reasons including, but not limited to: direct speech or thought, technical terms or jargon, authorial distance, quotations from elsewhere, and passages that are mentioned but not used. [3.3.3. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.ascribed.attributes"/>
      <ref name="att.source.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">may be used to indicate whether the offset passage is spoken or thought, or to characterize it more finely.
Suggested values include: 1] spoken; 2] thought; 3] written; 4] soCalled; 5] foreign(foreign words) ; 6] distinct(linguistically distinct) ; 7] term(technical term) ; 8] emph(rhetorically emphasized) ; 9] mentioned</a:documentation>
          <choice>
            <value>spoken</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">representation of speech</a:documentation>
            <value>thought</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">representation of thought, e.g. internal monologue</a:documentation>
            <value>written</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quotation from a written source</a:documentation>
            <value>soCalled</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">authorial distance</a:documentation>
            <value>foreign</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(foreign words) </a:documentation>
            <value>distinct</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(linguistically distinct) </a:documentation>
            <value>term</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(technical term) </a:documentation>
            <value>emph</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rhetorically emphasized) </a:documentation>
            <value>mentioned</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">refering to itself, not its normal referant</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="cit">
    <element name="cit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cited quotation) contains a quotation from some other document, together with a bibliographic reference to its source. In a dictionary it may contain an example text with at least one occurrence of the word form, used in the sense being described, or a translation of the headword, or an example.  [3.3.3.  4.3.1.  9.3.5.1. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="model.qLike"/>
          <ref name="model.egLike"/>
          <ref name="model.biblLike"/>
          <ref name="model.ptrLike"/>
          <ref name="model.global"/>
          <ref name="model.entryPart"/>
        </choice>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [3.3.4. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.pointing.attribute.targetLang"/>
      <ref name="att.pointing.attribute.evaluate"/>
      <ref name="att.canonical.attributes"/>
      <optional>
        <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>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="sic">
    <element name="sic">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Latin for thus or so) contains text reproduced although apparently incorrect or inaccurate. [3.4.1. ]</a:documentation>
      <ref name="macro.paraContent"/>
    </element>
  </define>
  <define 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. [3.4.1. ]</a:documentation>
      <ref name="macro.paraContent"/>
    </element>
  </define>
  <define 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. [3.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="model.choicePart"/>
          <ref name="choice"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <define 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. [3.4.2.  12. ]</a:documentation>
      <ref name="macro.paraContent"/>
    </element>
  </define>
  <define 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. [3.4.2.  12. ]</a:documentation>
      <ref name="macro.paraContent"/>
    </element>
  </define>
  <define name="gap">
    <element name="gap">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(gap) 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, invisible, or inaudible. [3.4.3. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="model.descLike"/>
          <ref name="model.certLike"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <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, inaudible, irrelevant, cancelled.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.word"/>
            </oneOrMore>
          </list>
        </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.
Sample values include: 1] rubbing; 2] mildew; 3] smoke</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [11.3.3.1.  3.4.3. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <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>
          <list>
            <oneOrMore>
              <ref name="data.word"/>
            </oneOrMore>
          </list>
        </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.
Sample values include: 1] rubbing; 2] mildew; 3] smoke</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [13.2.1.  3.5.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.naming.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (You must indicate the type of the referring string) characterizes the element in some sense, using any convenient classification scheme or typology.</a:documentation>
        <choice>
          <value>person</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (natural person) </a:documentation>
          <value>figure</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (literary figure) </a:documentation>
          <value>geographic-entity</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (self explanatory) </a:documentation>
          <value>organization</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (any type of organization) </a:documentation>
          <value>other</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
        </choice>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="address">
    <element name="address">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a postal address, for example of a publisher, an organization, or an individual. [3.5.2.  2.2.4.  3.11.2.3. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
        <oneOrMore>
          <group>
            <ref name="model.addrPart"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="addrLine">
    <element name="addrLine">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(address line) contains one line of a postal address. [3.5.2.  2.2.4.  3.11.2.3. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="date">
    <element name="date">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a date in any format. [3.5.4.  2.2.4.  2.5.  3.11.2.3.  15.2.3.  13.3.6. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.phrase"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attribute.xmlid"/>
      <ref name="att.global.attribute.n"/>
      <ref name="att.global.attribute.xmllang"/>
      <ref name="att.global.attribute.style"/>
      <ref name="att.global.attribute.xmlspace"/>
      <ref name="att.global.linking.attribute.corresp"/>
      <ref name="att.global.linking.attribute.synch"/>
      <ref name="att.global.linking.attribute.sameAs"/>
      <ref name="att.global.linking.attribute.copyOf"/>
      <ref name="att.global.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.global.facs.attribute.facs"/>
      <ref name="att.global.change.attribute.change"/>
      <ref name="att.datable.attribute.period"/>
      <ref name="att.datable.iso.attribute.when-iso"/>
      <ref name="att.datable.iso.attribute.notBefore-iso"/>
      <ref name="att.datable.iso.attribute.notAfter-iso"/>
      <ref name="att.datable.iso.attribute.from-iso"/>
      <ref name="att.datable.iso.attribute.to-iso"/>
      <ref name="att.datable.custom.attribute.when-custom"/>
      <ref name="att.datable.custom.attribute.notBefore-custom"/>
      <ref name="att.datable.custom.attribute.notAfter-custom"/>
      <ref name="att.datable.custom.attribute.from-custom"/>
      <ref name="att.datable.custom.attribute.to-custom"/>
      <ref name="att.datable.custom.attribute.datingPoint"/>
      <ref name="att.datable.custom.attribute.datingMethod"/>
      <ref name="att.editLike.attribute.instant"/>
      <ref name="att.dimensions.attribute.unit"/>
      <ref name="att.dimensions.attribute.quantity"/>
      <ref name="att.dimensions.attribute.extent"/>
      <ref name="att.dimensions.attribute.precision"/>
      <ref name="att.dimensions.attribute.scope"/>
      <ref name="att.ranging.attribute.atLeast"/>
      <ref name="att.ranging.attribute.atMost"/>
      <ref name="att.ranging.attribute.min"/>
      <ref name="att.ranging.attribute.max"/>
      <ref name="att.ranging.attribute.confidence"/>
      <optional>
        <attribute name="when">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (You must enter a date in ISO format) supplies the value of the date or time in a standard form, e.g. yyyy-mm-dd.</a:documentation>
          <ref name="data.temporal.iso"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="notBefore">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (You must enter a date in ISO format) specifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd.</a:documentation>
          <ref name="data.temporal.iso"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="notAfter">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (You must enter a date in ISO format) specifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd.</a:documentation>
          <ref name="data.temporal.iso"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="from">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (You must enter a date in ISO format) indicates the starting point of the period in standard form, e.g. yyyy-mm-dd.</a:documentation>
          <ref name="data.temporal.iso"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="to">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (You must enter a date in ISO format) indicates the ending point of the period in standard form, e.g. yyyy-mm-dd.</a:documentation>
          <ref name="data.temporal.iso"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [3.5.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.phrase"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="abbr">
    <element name="abbr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(abbreviation) contains an abbreviation of any sort. [3.5.5. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
    </element>
  </define>
  <define name="expan">
    <element name="expan">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(expansion) contains the expansion of an abbreviation. [3.5.5. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
    </element>
  </define>
  <define name="ref">
    <element name="ref">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (takes the function of ref and ptr. Can therefore also be empty) defines a reference to another location, possibly modified by additional text or comment. [3.6.  16.1. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="ref-constraint-refAtts">
        <rule context="tei:ref">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" test="@target and @cRef">Only one of the
	attributes @target' and @cRef' may be supplied on <name/>
               </report>
        </rule>
      </pattern>
      <ref name="att.global.attributes"/>
      <ref name="att.pointing.attribute.targetLang"/>
      <ref name="att.internetMedia.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <attribute name="target">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (The target of this pointer / reference) specifies the destination of the reference by supplying one or more URI References</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="list">
    <element name="list">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list) contains any sequence of items organized as a list. [3.7. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <group>
              <ref name="model.divTop"/>
            </group>
            <group>
              <ref name="model.global"/>
            </group>
          </choice>
        </zeroOrMore>
        <choice>
          <oneOrMore>
            <ref name="item"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <group>
            <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.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </group>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.sortable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="simple">
          <a:documentation>describes the form of the list.
Suggested values include: 1] ordered; 2] bulleted; 3] simple; 4] gloss</a:documentation>
          <choice>
            <value>ordered</value>
            <a:documentation>list items are numbered or lettered. </a:documentation>
            <value>bulleted</value>
            <a:documentation>list items are marked with a bullet or other typographic device. </a:documentation>
            <value>simple</value>
            <a:documentation>list items are not numbered or bulleted. </a:documentation>
            <value>gloss</value>
            <a:documentation>each list item glosses some term or concept, which is given by a label element preceding the list item.</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="item">
    <element name="item">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one component of a list. [3.7.  2.5. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="label">
    <element name="label">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any label or heading used to identify part of a text, typically but not exclusively in a list or glossary. [3.7. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.placement.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.2.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="lg"/>
          <ref name="model.gLike"/>
          <ref name="model.phrase"/>
          <ref name="model.inter"/>
          <ref name="model.lLike"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="note">
    <element name="note">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a note or annotation. [3.8.1.  2.2.6.  3.11.2.7.  9.3.5.4. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attribute.xmlid"/>
      <ref name="att.global.attribute.n"/>
      <ref name="att.global.attribute.xmllang"/>
      <ref name="att.global.attribute.style"/>
      <ref name="att.global.attribute.xmlspace"/>
      <ref name="att.global.linking.attribute.corresp"/>
      <ref name="att.global.linking.attribute.synch"/>
      <ref name="att.global.linking.attribute.sameAs"/>
      <ref name="att.global.linking.attribute.copyOf"/>
      <ref name="att.global.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.global.facs.attribute.facs"/>
      <ref name="att.global.change.attribute.change"/>
      <ref name="att.pointing.attribute.targetLang"/>
      <ref name="att.pointing.attribute.evaluate"/>
      <ref name="att.responsibility.attribute.cert"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
        <attribute name="place">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (The place of the note should be specified
                whenever the note refers to a note present in the
                original text. The current text is a simplified version
                of the P5 one) specifies where this item is placed</a:documentation>
          <list>
            <oneOrMore>
              <choice>
                <value>margin</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                <value>other</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                <value>app</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                <value>foot</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                <value>end</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                <value>inline</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                <value>interlinear</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
              </choice>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <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>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="resp">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (The place of the note must be specified. The
                current text is a simplified version of the P5
                one) characterizes the element in some sense, using any convenient classification scheme or typology.</a:documentation>
          <choice>
            <value>annotation</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>gloss</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>citation</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>other</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/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>
          <ref name="data.truthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [3.8.2. ]</a:documentation>
      <zeroOrMore>
        <group>
          <ref name="term"/>
          <optional>
            <ref name="index"/>
          </optional>
        </group>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.spanning.attributes"/>
      <attribute name="indexName">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (You must indicate the type of this index) a single word which follows the rules defining a legal XML name (see ), supplying a name to specify which index (of several) the index entry belongs to.</a:documentation>
        <choice>
          <value>name</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>place</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>subject</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>citation</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>other</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
        </choice>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="media">
    <element name="media">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location of any form of external media such as an audio or video clip etc. [3.9. ]</a:documentation>
      <zeroOrMore>
        <ref name="model.descLike"/>
      </zeroOrMore>
      <ref name="att.typed.attributes"/>
      <ref name="att.global.attributes"/>
      <ref name="att.media.attribute.width"/>
      <ref name="att.media.attribute.height"/>
      <ref name="att.media.attribute.scale"/>
      <ref name="att.resourced.attributes"/>
      <ref name="att.timed.attributes"/>
      <attribute name="mimeType">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(MIME media type) specifies the applicable multimedia internet mail extension (MIME) media type</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.word"/>
          </oneOrMore>
        </list>
      </attribute>
      <empty/>
    </element>
  </define>
  <define 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. [3.9. ]</a:documentation>
      <zeroOrMore>
        <ref name="model.descLike"/>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.internetMedia.attribute.mimeType"/>
      <attribute name="url">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (The notation used to express this formula) specifies the URL from which the media concerned may be obtained.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define 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, typically but not necessarily indicating a point at which some part of a standard reference system changes, where the change is not represented by a structural element. [3.10.3. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.edition.attributes"/>
      <ref name="att.spanning.attributes"/>
      <ref name="att.breaking.attributes"/>
      <attribute name="unit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (You must indicate the unit that this milestone
                marks. The proposed values have been taken from the P5
                documentation) provides a conventional name for the kind of section changing at this milestone.</a:documentation>
        <choice>
          <value>book</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>poem</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>canto</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>stanza</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>act</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>scene</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>section</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
          <value>absent</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
        </choice>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="gb">
    <element name="gb">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (gathering begins) marks the point in a transcribed codex at which a new gathering or quire begins. [3.10.3. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.spanning.attributes"/>
      <ref name="att.breaking.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [3.10.3. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.edition.attributes"/>
      <ref name="att.spanning.attributes"/>
      <ref name="att.breaking.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [3.10.3.  7.2.5. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.edition.attributes"/>
      <ref name="att.spanning.attributes"/>
      <ref name="att.breaking.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [3.10.3. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.edition.attributes"/>
      <ref name="att.spanning.attributes"/>
      <ref name="att.breaking.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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). [3.11.2.1. ]</a:documentation>
      <group>
        <optional>
          <choice>
            <group>
              <choice>
                <ref name="author"/>
                <ref name="editor"/>
              </choice>
              <zeroOrMore>
                <choice>
                  <ref name="author"/>
                  <ref name="editor"/>
                </choice>
              </zeroOrMore>
              <oneOrMore>
                <ref name="title"/>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="idno"/>
                  <ref name="textLang"/>
                  <ref name="editor"/>
                </choice>
              </zeroOrMore>
            </group>
            <group>
              <oneOrMore>
                <choice>
                  <ref name="title"/>
                  <ref name="ref"/>
                </choice>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="idno"/>
                  <ref name="textLang"/>
                  <ref name="author"/>
                  <ref name="editor"/>
                </choice>
              </zeroOrMore>
            </group>
            <group>
              <ref name="authority"/>
              <ref name="idno"/>
            </group>
          </choice>
        </optional>
        <zeroOrMore>
          <ref name="model.noteLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="edition"/>
          <zeroOrMore>
            <choice>
              <ref name="idno"/>
              <ref name="editor"/>
            </choice>
          </zeroOrMore>
        </zeroOrMore>
        <ref name="imprint"/>
        <zeroOrMore>
          <choice>
            <ref name="imprint"/>
            <ref name="extent"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="author">
    <element name="author">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in a bibliographic reference, contains the name(s) of an author, personal or corporate, of a work; for example in the same form as that provided by a recognized bibliographic name authority.  [3.11.2.2.  2.2.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="editor">
    <element name="editor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a 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.  [3.11.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="title">
    <element name="title">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a title for any kind of work. [3.11.2.2.  2.2.1.  2.2.5. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the title according to some convenient typology.
Sample values include: 1] main; 2] sub(subordinate) ; 3] alt(alternate) ; 4] short; 5] desc(descriptive) </a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <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) 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) 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) journal title </a:documentation>
            <value>s</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series) series title </a:documentation>
            <value>u</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unpublished) title of unpublished material (including theses and dissertations unless published by a commercial press)</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [3.11.2.3. ]</a:documentation>
      <oneOrMore>
        <choice>
          <group>
            <ref name="model.imprintPart"/>
          </group>
          <group>
            <ref name="model.dateLike"/>
          </group>
        </choice>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [3.11.2.3.  2.2.4. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="citedRange">
    <element name="citedRange">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (cited range) defines the range of cited content, often represented by pages or other units [3.11.2.3. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.pointing.attributes"/>
      <optional>
        <attribute name="unit">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the type of information conveyed by the element, e.g. columns, pages, volume.
Suggested values include: 1] vol (volume) ; 2] issue; 3] pp (pages) ; 4] ll (lines) ; 5] chap (chapter) ; 6] part</a:documentation>
          <choice>
            <value>vol</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (volume) the element contains a volume number.</a:documentation>
            <value>issue</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element contains an issue number, or volume and issue numbers.</a:documentation>
            <value>pp</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (pages) the element contains a page number or page range.</a:documentation>
            <value>ll</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (lines) the element contains a line number or line range.</a:documentation>
            <value>chap</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (chapter) the element contains a chapter indication (number and/or title)</a:documentation>
            <value>part</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element identifies a part of a book or collection.</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="from">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the starting point of the range of units indicated by the unit attribute.</a:documentation>
          <ref name="data.word"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="to">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the end-point of the range of units indicated by the unit attribute.</a:documentation>
          <ref name="data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="pubPlace">
    <element name="pubPlace">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publication place) contains the name of the place where a bibliographic item was published. [3.11.2.3. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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.  [3.11.1.  2.2.7.  15.3.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.highlighted"/>
          <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>
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.sortable.attributes"/>
      <ref name="att.docStatus.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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 sub-elements appear and in a specified order.  [3.11.1.  2.2.7.  15.3.2. ]</a:documentation>
      <group>
        <oneOrMore>
          <ref name="monogr"/>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="model.noteLike"/>
            <ref name="idno"/>
            <ref name="model.ptrLike"/>
            <ref name="citedRange"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.sortable.attributes"/>
      <ref name="att.docStatus.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [3.12.1.  3.12.  7.2.5. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.metrical.attributes"/>
      <ref name="att.enjamb.attributes"/>
      <ref name="att.fragmentable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="lg">
    <element name="lg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(line group) contains one or more verse lines functioning as a formal unit, e.g. a stanza, refrain, verse paragraph, etc. [3.12.1.  3.12.  7.2.5. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.divTop"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
        <choice>
          <ref name="model.lLike"/>
          <ref name="model.stageLike"/>
          <ref name="model.labelLike"/>
          <ref name="lg"/>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="model.lLike"/>
            <ref name="model.stageLike"/>
            <ref name="model.labelLike"/>
            <ref name="model.global"/>
            <ref name="lg"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <group>
            <ref name="model.divBottom"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="lg-constraint-atleast1oflggapl">
        <rule context="tei:lg">
          <sch:assert xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://www.tei-c.org/ns/1.0" test="count(descendant::tei:lg|descendant::tei:l|descendant::tei:gap) &gt; 0">An lg element
        must contain at least one child l, lg or gap element.</sch:assert>
        </rule>
      </pattern>
      <ref name="att.global.attributes"/>
      <ref name="att.divLike.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="sp">
    <element name="sp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(speech) contains an individual speech in a performance text, or a passage presented as such in a prose or verse text. [3.12.2.  3.12.  7.2.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
        <optional>
          <ref name="speaker"/>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </optional>
        <oneOrMore>
          <choice>
            <ref name="lg"/>
            <ref name="model.lLike"/>
            <ref name="model.pLike"/>
            <ref name="model.listLike"/>
            <ref name="model.stageLike"/>
            <ref name="model.qLike"/>
          </choice>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.ascribed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="speaker">
    <element name="speaker">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a specialized form of heading or label, giving the name of one or more speakers in a dramatic text or fragment. [3.12.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [3.12.2.  3.12.  7.2.4. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the kind of stage direction.
Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] novelistic; 6] delivery; 7] modifier; 8] location; 9] mixed</a:documentation>
          <choice>
            <value>setting</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a setting.</a:documentation>
            <value>entrance</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes an entrance.</a:documentation>
            <value>exit</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes an exit.</a:documentation>
            <value>business</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes stage business.</a:documentation>
            <value>novelistic</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">is a narrative, motivating stage direction.</a:documentation>
            <value>delivery</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes how a character speaks.</a:documentation>
            <value>modifier</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives some detail about a character.</a:documentation>
            <value>location</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a location.</a:documentation>
            <value>mixed</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">more than one of the above</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="textLang">
    <element name="textLang">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text language) describes the languages and writing systems identified within the bibliographic work being described, rather than its description.  [3.11.2.3.  10.6.6. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="mainLang">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(main language) supplies a code which identifies the chief language used in the bibliographic work.</a:documentation>
          <ref name="data.language"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="otherLangs">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(other languages) one or more codes identifying any other languages used in the bibliographic work.</a:documentation>
          <list>
            <zeroOrMore>
              <ref name="data.language"/>
            </zeroOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="model.entryLike">
    <choice>
      <ref name="superEntry"/>
      <ref name="entry"/>
    </choice>
  </define>
  <define name="att.entryLike.attributes">
    <ref name="att.entryLike.attribute.type"/>
  </define>
  <define name="att.entryLike.attribute.type">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="main">
        <a:documentation>indicates type of entry, in dictionaries with multiple types.
Suggested values include: 1] main; 2] hom(homograph) ; 3] xref(cross reference) ; 4] affix; 5] abbr(abbreviation) ; 6] supplemental; 7] foreign</a:documentation>
        <choice>
          <value>main</value>
          <a:documentation>a main entry (default).</a:documentation>
          <value>hom</value>
          <a:documentation>(homograph) groups information relating to one homograph within an entry.</a:documentation>
          <value>xref</value>
          <a:documentation>(cross reference) a reduced entry whose only function is to point to another main entry (e.g. for forms of an irregular verb or for variant spellings: was pointing to be, or esthete to aesthete).</a:documentation>
          <value>affix</value>
          <a:documentation>an entry for a prefix, infix, or suffix.</a:documentation>
          <value>abbr</value>
          <a:documentation>(abbreviation) an entry for an abbreviation.</a:documentation>
          <value>supplemental</value>
          <a:documentation>a supplemental entry (for use in dictionaries which issue supplements to their main work in which they include updated information about entries).</a:documentation>
          <value>foreign</value>
          <a:documentation>an entry for a foreign word in a monolingual dictionary.</a:documentation>
          <data type="Name"/>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="att.lexicographic.attributes">
    <ref name="att.datcat.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 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 name="att.lexicographic.attribute.norm">
    <optional>
      <attribute name="norm">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(normalized) gives a normalized form of information given by the source text in a non-normalized form</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define 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 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 name="att.lexicographic.attribute.orig">
    <optional>
      <attribute name="orig">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(original) 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 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 typically elsewhere in the document, but possibly in another document, indicating the original location of this component.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define 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 name="att.lexicographic.attribute.opt">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="opt" a:defaultValue="false">
        <a:documentation>(optional) indicates whether the element is optional or not</a:documentation>
        <data type="boolean"/>
      </attribute>
    </optional>
  </define>
  <define name="superEntry">
    <element name="superEntry">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups a sequence of entries within any kind of lexical resource, such as a dictionary or lexicon which function as a single unit, for example a set of homographs. [9.1. ]</a:documentation>
      <oneOrMore>
        <ref name="entry"/>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.entryLike.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="entry">
    <element name="entry">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a single structured entry in any kind of lexical resource, such as a dictionary or lexicon. [9.1.  9.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.milestoneLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="usg"/>
        </zeroOrMore>
        <ref name="form"/>
        <ref name="sense"/>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.entryLike.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="sense">
    <element name="sense">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups together all information relating to one word sense in a dictionary entry, for example definitions, examples, and translation equivalents. [9.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="sense"/>
          <ref name="model.entryPart.top"/>
          <ref name="model.phrase"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.lexicographic.attributes"/>
      <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.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [9.3.1. ]</a:documentation>
      <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>
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies form as lemma (line), headword or simple.</a:documentation>
        <choice>
          <value>lemma</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (lemma, containing the headword) </a:documentation>
          <value>headword</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (the headword itself) </a:documentation>
          <value>simple</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (single free lexical item) </a:documentation>
        </choice>
      </attribute>
      <empty/>
    </element>
  </define>
  <define 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. [9.3.1. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="model.morphLike">
    <choice>
      <ref name="gen"/>
    </choice>
  </define>
  <define name="model.morphLike_alternation">
    <choice>
      <ref name="gen"/>
    </choice>
  </define>
  <define name="model.morphLike_sequence">
    <ref name="gen"/>
  </define>
  <define name="model.morphLike_sequenceOptional">
    <optional>
      <ref name="gen"/>
    </optional>
  </define>
  <define name="model.morphLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="gen"/>
    </zeroOrMore>
  </define>
  <define name="model.morphLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="gen"/>
    </oneOrMore>
  </define>
  <define name="model.gramPart">
    <choice>
      <ref name="model.morphLike"/>
      <ref name="gramGrp"/>
      <ref name="pos"/>
      <ref name="subc"/>
      <ref name="usg"/>
    </choice>
  </define>
  <define name="model.formPart">
    <choice>
      <ref name="form"/>
      <ref name="model.gramPart"/>
    </choice>
  </define>
  <define 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). [9.3.2. ]</a:documentation>
      <ref name="pos"/>
      <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>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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 such as noun, verb, or adjective.  [9.3.2. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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.) [9.3.2. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [9.3.3.1. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [9.3.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.phrase"/>
          <ref name="model.inter"/>
          <ref name="usg"/>
          <ref name="def"/>
          <ref name="model.morphLike"/>
          <ref name="xr"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [9.3.5.2. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the usage information using any convenient typology.
Sample values include: 1] geo(geographic) ; 2] time; 3] dom(domain) ; 4] register(register) ; 5] style; 6] plev(preference level) ; 7] lang(language) ; 8] gram(grammatical) ; 9] syn(synonym) ; 10] hyper(hypernym) ; 11] colloc(collocation) ; 12] comp(complement) ; 13] obj(object) ; 14] subj(subject) ; 15] verb; 16] hint</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [9.3.5.3. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.phrase"/>
          <ref name="model.inter"/>
          <ref name="usg"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.lexicographic.attributes"/>
      <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.
Sample values include: 1] syn(synonym) ; 2] etym(etymological) ; 3] cf(compare or consult) ; 4] illus(illustration) </a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [9.3.6. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="sense"/>
          <ref name="model.entryPart.top"/>
          <ref name="model.phrase"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="set">
    <element name="set">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(setting) contains a description of the setting, time, locale, appearance, etc., of the action of a play, typically found in the front matter of a printed performance text (not a stage direction). [7.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.headLike"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <group>
            <group>
              <ref name="model.common"/>
            </group>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </group>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="prologue">
    <element name="prologue">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the prologue to a drama, typically spoken by an actor out of character, possibly in association with a particular performance or venue. [7.1.2.  7.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.divTop"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
        <oneOrMore>
          <group>
            <ref name="model.common"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <zeroOrMore>
          <group>
            <ref name="model.divBottom"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="epilogue">
    <element name="epilogue">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the epilogue to a drama, typically spoken by an actor out of character, possibly in association with a particular performance or venue. [7.1.2.  7.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.divTop"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
        <oneOrMore>
          <group>
            <ref name="model.common"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <zeroOrMore>
          <group>
            <ref name="model.divBottom"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="performance">
    <element name="performance">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a section of front or back matter describing how a dramatic piece is to be performed in general or how it was performed on some specific occasion.  [7.1.3.  7.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.divTop"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
        <oneOrMore>
          <group>
            <ref name="model.common"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <zeroOrMore>
          <group>
            <ref name="model.divBottom"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="castList">
    <element name="castList">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cast list) contains a single cast list or dramatis personae. [7.1.4.  7.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.divTop"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <group>
            <ref name="model.common"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="castItem"/>
            <ref name="castGroup"/>
          </choice>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <zeroOrMore>
          <group>
            <ref name="model.common"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="castGroup">
    <element name="castGroup">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cast list grouping) groups one or more individual castItem elements within a cast list. [7.1.4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.global"/>
            <ref name="model.headLike"/>
          </choice>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="castItem"/>
            <ref name="castGroup"/>
            <ref name="roleDesc"/>
          </choice>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <optional>
          <ref name="trailer"/>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="castItem">
    <element name="castItem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cast list item) contains a single entry within a cast list, describing either a single role or a list of non-speaking roles. [7.1.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.castItemPart"/>
          <ref name="model.phrase"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="role">
          <a:documentation>characterizes the cast item. </a:documentation>
          <choice>
            <value>role</value>
            <a:documentation>the item describes a single role. </a:documentation>
            <value>list</value>
            <a:documentation>the item describes a list of non-speaking roles. </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="role">
    <element name="role">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of a dramatic role, as given in a cast list. [7.1.4. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="roleDesc">
    <element name="roleDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(role description) describes a character's role in a drama. [7.1.4. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="actor">
    <element name="actor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of an actor appearing within a cast list. [7.1.4. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="spGrp">
    <element name="spGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (speech group) contains a group of speeches or songs in a performance text presented in a source as constituting a single unit or number. [7.2.3. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="model.global"/>
            <ref name="sp"/>
            <ref name="model.stageLike"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.ascribed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="move">
    <element name="move">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(movement) marks the actual entrance or exit of one or more characters on stage. [7.2.4. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.ascribed.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the movement, for example as an entrance or exit.
Suggested values include: 1] entrance; 2] exit; 3] onStage</a:documentation>
          <choice>
            <value>entrance</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">character is entering the stage.</a:documentation>
            <value>exit</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">character is exiting the stage.</a:documentation>
            <value>onStage</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">character moves on stage</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="where">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the direction of a stage movement.
Sample values include: 1] L(left) ; 2] R(right) ; 3] C(center) </a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.enumerated"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="perf">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(performance) identifies the performance or performances in which this movement occurred as specified.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="view">
    <element name="view">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the visual context of some part of a screen play in terms of what the spectator sees, generally independent of any dialogue. [7.3.1.  7.3. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="camera">
    <element name="camera">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a particular camera angle or viewpoint in a screen play. [7.3.1.  7.3. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="sound">
    <element name="sound">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a sound effect or musical sequence specified within a screen play or radio script. [7.3.1.  7.3. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the sound in some respect, e.g. as music, special effect, etc.</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="discrete" a:defaultValue="unknown">
          <a:documentation>indicates whether the sound overlaps the surrounding speeches or interrupts them.</a:documentation>
          <ref name="data.xTruthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="caption">
    <element name="caption">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the text of a caption or other text displayed as part of a film script or screenplay. [7.3.1.  7.3. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="tech">
    <element name="tech">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(technical stage direction) describes a special-purpose stage direction that is not meant for the actors. [7.3.1. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the technical stage direction.</a:documentation>
          <choice>
            <value>light</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a lighting cue</a:documentation>
            <value>sound</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a sound cue</a:documentation>
            <value>prop</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a prop cue</a:documentation>
            <value>block</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a blocking instruction</a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="perf">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(performance) identifies the performance or performances to which this technical direction applies.</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [14.1.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.headLike"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
        <choice>
          <oneOrMore>
            <ref name="row"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <oneOrMore>
            <group>
              <ref name="model.graphicLike"/>
            </group>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </oneOrMore>
        </choice>
        <zeroOrMore>
          <group>
            <ref name="model.divBottom"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <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">(columns) indicates the number of columns in each row of the table.</a:documentation>
          <ref name="data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="row">
    <element name="row">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one row of a table.  [14.1.1. ]</a:documentation>
      <oneOrMore>
        <ref name="cell"/>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.tableDecoration.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="cell">
    <element name="cell">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one cell of a table.  [14.1.1. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.tableDecoration.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="formula">
    <element name="formula">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a mathematical or other formula. [14.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.graphicLike"/>
          <ref name="model.hiLike"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <attribute name="notation">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (The notation used to express this formula) names the notation used for the content of the element.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="notatedMusic">
    <element name="notatedMusic">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the presence of music notation in a text</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="model.labelLike"/>
          <ref name="model.ptrLike"/>
          <ref name="graphic"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="figure">
    <element name="figure">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups elements representing or containing graphic information such as an illustration, formula, or figure. [14.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="model.headLike"/>
          <ref name="model.common"/>
          <ref name="figDesc"/>
          <ref name="model.graphicLike"/>
          <ref name="model.global"/>
          <ref name="model.divBottomPart"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <define 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. [14.4. ]</a:documentation>
      <ref name="macro.limitedContent"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="g">
    <element name="g">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character or glyph) represents a glyph, or a non-standard character. [5. ]</a:documentation>
      <text/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <optional>
        <attribute name="ref">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to a description of the character or glyph intended.</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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>
      <group>
        <optional>
          <ref name="charName"/>
        </optional>
        <zeroOrMore>
          <ref name="model.descLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="charProp"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="mapping"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="figure"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="model.graphicLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="model.noteLike"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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>
      <text/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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>
      <group>
        <choice>
          <ref name="unicodeName"/>
          <ref name="localName"/>
        </choice>
        <ref name="value"/>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="charDecl">
    <element name="charDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character declarations) provides information about nonstandard characters and glyphs. </a:documentation>
      <group>
        <oneOrMore>
          <choice>
            <ref name="char"/>
            <ref name="glyph"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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>
      <group>
        <optional>
          <ref name="glyphName"/>
        </optional>
        <zeroOrMore>
          <ref name="model.descLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="charProp"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="mapping"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="figure"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="model.graphicLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="model.noteLike"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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>
      <text/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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>
      <text/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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>
      <text/>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="version">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the version number of the Unicode Standard in which this property name is defined.</a:documentation>
          <ref name="data.version"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [2.1.1.  15.1. ]</a:documentation>
      <group>
        <ref name="fileDesc"/>
        <zeroOrMore>
          <ref name="model.teiHeaderPart"/>
        </zeroOrMore>
        <optional>
          <ref name="revisionDesc"/>
        </optional>
      </group>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="text">
          <a:documentation>specifies the kind of document to which the header is attached, for example whether it is a corpus or individual text.
Sample values include: 1] text; 2] corpus</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [2.2.  2.1.1. ]</a:documentation>
      <group>
        <group>
          <ref name="titleStmt"/>
          <optional>
            <ref name="extent"/>
          </optional>
          <ref name="publicationStmt"/>
          <optional>
            <ref name="seriesStmt"/>
          </optional>
          <optional>
            <ref name="notesStmt"/>
          </optional>
        </group>
        <oneOrMore>
          <ref name="sourceDesc"/>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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 content. [2.2.1.  2.2. ]</a:documentation>
      <group>
        <oneOrMore>
          <ref name="title"/>
        </oneOrMore>
        <zeroOrMore>
          <ref name="model.respLike"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [2.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="extent">
    <element name="extent">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units. [2.2.3.  2.2.  3.11.2.3.  10.7.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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.  [2.2.4.  2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="model.publicationStmtPart"/>
        </oneOrMore>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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 a work available, other than a publisher or distributor. [2.2.4. ]</a:documentation>
      <ref name="macro.phraseSeq.limited"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="idno">
    <element name="idno">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) supplies any form of identifier used to identify some object, such as a bibliographic item, a person, a title, an organization, etc. in a standardized way. [2.2.4.  2.2.5.  3.11.2.3. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="idno"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.sortable.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the identifier, for example as an ISBN, Social Security number, etc. </a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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, any licence applying to it, etc. [2.2.4. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="model.availabilityPart"/>
          <ref name="model.pLike"/>
        </choice>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/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/>
    </element>
  </define>
  <define name="licence">
    <element name="licence">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about a licence or other legal agreement applicable to the text. [2.2.4. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.pointing.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [2.2.5.  2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <oneOrMore>
            <ref name="title"/>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="editor"/>
            </choice>
          </zeroOrMore>
          <zeroOrMore>
            <choice>
              <ref name="idno"/>
            </choice>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [2.2.6.  2.2. ]</a:documentation>
      <oneOrMore>
        <ref name="model.noteLike"/>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="sourceDesc">
    <element name="sourceDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(source description) describes the source from which an electronic text was derived or generated, typically a bibliographic description in the case of a digitized text, or a phrase such as "born digital" for a text which has no previous existence. [2.2.7. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <choice>
            <ref name="model.biblLike"/>
            <ref name="model.sourceDescPart"/>
            <ref name="model.listLike"/>
          </choice>
        </oneOrMore>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="biblFull">
    <element name="biblFull">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(fully-structured bibliographic citation) contains a fully-structured bibliographic citation, in which all components of the TEI file description are present. [3.11.1.  2.2.  2.2.7.  15.3.2. ]</a:documentation>
      <group>
        <group>
          <ref name="titleStmt"/>
          <optional>
            <ref name="extent"/>
          </optional>
          <ref name="publicationStmt"/>
          <optional>
            <ref name="seriesStmt"/>
          </optional>
          <optional>
            <ref name="notesStmt"/>
          </optional>
        </group>
        <zeroOrMore>
          <ref name="sourceDesc"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.sortable.attributes"/>
      <ref name="att.docStatus.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [2.3.  2.1.1. ]</a:documentation>
      <group>
        <oneOrMore>
          <choice>
            <ref name="model.encodingDescPart"/>
            <ref name="model.pLike"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [2.3.3.  2.3.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="model.pLike"/>
          <ref name="model.editorialDeclPart"/>
        </choice>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [2.3.3.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <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" 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>markup</value>
            <a:documentation>normalization represented using markup </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="styleDefDecl">
    <element name="styleDefDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (style definition language declaration) specifies the name of the formal language in which style or renditional information is supplied elsewhere in the document. [2.3.5. ]</a:documentation>
      <zeroOrMore>
        <ref name="model.pLike"/>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.styleDef.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="att.patternReplacement.attributes">
    <ref name="att.patternReplacement.attribute.matchPattern"/>
    <ref name="att.patternReplacement.attribute.replacementPattern"/>
  </define>
  <define name="att.patternReplacement.attribute.matchPattern">
    <attribute name="matchPattern">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a regular expression against which the values of other attributes can be matched.</a:documentation>
      <ref name="data.pattern"/>
    </attribute>
  </define>
  <define name="att.patternReplacement.attribute.replacementPattern">
    <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>
  </define>
  <define name="prefixDef">
    <element name="prefixDef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (prefixing scheme used in data.pointer values) defines a prefixing scheme used in data.pointer values, showing how abbreviated URIs using the scheme may be expanded into full URIs. [16.2.3. ]</a:documentation>
      <zeroOrMore>
        <ref name="model.pLike"/>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.patternReplacement.attributes"/>
      <attribute name="ident">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the identifier which functions as the prefix for an abbreviated pointing scheme such as a private URI scheme. The prefix constitutes the text preceding the first colon.</a:documentation>
        <ref name="data.name"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="listPrefixDef">
    <element name="listPrefixDef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (list of prefix definitions) contains a list of definitions of prefixing schemes used in data.pointer values, showing how abbreviated URIs using each scheme may be expanded into full URIs. [16.2.3. ]</a:documentation>
      <group>
        <oneOrMore>
          <choice>
            <ref name="prefixDef"/>
            <ref name="listPrefixDef"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [2.4.  2.1.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.profileDescPart"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="handNote">
    <element name="handNote">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(note on hand) describes a particular style or hand distinguished within a manuscript. [10.7.2. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.handFeatures.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="calendarDesc">
    <element name="calendarDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(calendar description) contains a description of the calendar system used in any dating expression found in the text. [2.4.  2.4.4. ]</a:documentation>
      <oneOrMore>
        <ref name="calendar"/>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="calendar">
    <element name="calendar">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a calendar or dating system used in a dating formula in the text. [2.4.4. ]</a:documentation>
      <oneOrMore>
        <ref name="model.pLike"/>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.pointing.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [2.5.  2.1.1. ]</a:documentation>
      <choice>
        <ref name="list"/>
        <ref name="listChange"/>
        <oneOrMore>
          <ref name="change"/>
        </oneOrMore>
      </choice>
      <ref name="att.global.attributes"/>
      <ref name="att.docStatus.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="change">
    <element name="change">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents a change or set of changes made during the production of a source document, or during the revision of an electronic file. [2.5.  2.4.1. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.ascribed.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.docStatus.attributes"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <optional>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to one or more elements that belong to this change.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="typeNote">
    <element name="typeNote">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a particular font or other significant typographic feature distinguished within the description of a printed resource. [10.7.2. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.handFeatures.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="scriptNote">
    <element name="scriptNote">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a particular script distinguished within the description of a manuscript or similar resource. [10.7.2. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.handFeatures.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="listChange">
    <element name="listChange">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups a number of change descriptions associated with either the creation of a source text or the revision of an encoded text. </a:documentation>
      <oneOrMore>
        <choice>
          <ref name="listChange"/>
          <ref name="change"/>
        </choice>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.sortable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="ordered" a:defaultValue="true">
          <a:documentation>indicates whether the ordering of its child change elements is to be considered significant or not</a:documentation>
          <ref name="data.truthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="model.rdgLike">
    <choice>
      <ref name="rdg"/>
    </choice>
  </define>
  <define name="app">
    <element name="app">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(apparatus entry) contains one entry in a critical apparatus, with an optional lemma and usually one or more reading or a note on the relevant passage. [12.1.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
        <optional>
          <ref name="lem"/>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
          <optional>
            <ref name="wit"/>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </optional>
        </optional>
        <zeroOrMore>
          <choice>
            <group>
              <ref name="model.rdgLike"/>
              <zeroOrMore>
                <ref name="model.global"/>
              </zeroOrMore>
              <optional>
                <ref name="wit"/>
                <zeroOrMore>
                  <ref name="model.global"/>
                </zeroOrMore>
              </optional>
            </group>
            <group>
              <ref name="rdgGrp"/>
              <zeroOrMore>
                <ref name="model.global"/>
              </zeroOrMore>
              <optional>
                <ref name="wit"/>
                <zeroOrMore>
                  <ref name="model.global"/>
                </zeroOrMore>
              </optional>
            </group>
          </choice>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="app-constraint-only1lem">
        <rule context="tei:app">
          <sch:assert xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://www.tei-c.org/ns/1.0" test="count( descendant::tei:lem[ generate-id(    current() ) = generate-id(    ancestor::tei:app[1] ) ]) &lt;       2">
Only one &lt;lem&gt; element may appear within a single  apparatus
entry, whether it appears outside a &lt;rdgGrp&gt;
element or within it.</sch:assert>
        </rule>
      </pattern>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the variation contained in this element according to some convenient typology.</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="from">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the beginning of the lemma in the base text, if necessary.</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="to">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the endpoint of the lemma in the base text, if necessary.</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="loc">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(location) indicates the location of the variation, when the location-referenced method of apparatus markup is used.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="listApp">
    <element name="listApp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of apparatus entries) contains a list of apparatus entries.  [12.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="app"/>
            <ref name="listApp"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.sortable.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="lem">
    <element name="lem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(lemma) contains the lemma, or base text, of a textual variation. [12.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.phrase"/>
          <ref name="model.inter"/>
          <ref name="model.global"/>
          <ref name="model.rdgPart"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.textCritical.attributes"/>
      <ref name="att.witnessed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="rdg">
    <element name="rdg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reading) contains a single reading within a textual variation. [12.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.phrase"/>
          <ref name="model.inter"/>
          <ref name="model.global"/>
          <ref name="model.rdgPart"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.textCritical.attributes"/>
      <ref name="att.witnessed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="rdgGrp">
    <element name="rdgGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reading group) within a textual variation, groups two or more readings perceived to have a genetic relationship or other affinity. [12.1. ]</a:documentation>
      <group>
        <oneOrMore>
          <choice>
            <group>
              <ref name="rdgGrp"/>
              <optional>
                <ref name="wit"/>
              </optional>
            </group>
            <zeroOrMore>
              <group>
                <optional>
                  <group>
                    <ref name="lem"/>
                    <optional>
                      <ref name="wit"/>
                    </optional>
                  </group>
                </optional>
                <group>
                  <ref name="model.rdgLike"/>
                  <optional>
                    <ref name="wit"/>
                  </optional>
                </group>
              </group>
            </zeroOrMore>
          </choice>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.textCritical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="witDetail">
    <element name="witDetail">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(witness detail) gives further information about a particular witness, or witnesses, to a particular reading. [12.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.responsibility.attributes"/>
      <ref name="att.pointing.attributes"/>
      <attribute name="wit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(witnesses) indicates the sigil or sigla for the witnesses to which the detail refers.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the type of information given about the witness.</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="wit">
    <element name="wit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a list of one or more sigla of witnesses attesting a given reading, in a textual variation. [12.1.4. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.rdgPart.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="listWit">
    <element name="listWit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(witness list) lists definitions for all the witnesses referred to by a critical apparatus, optionally grouped hierarchically. [12.1. ]</a:documentation>
      <group>
        <optional>
          <ref name="model.headLike"/>
        </optional>
        <oneOrMore>
          <choice>
            <ref name="witness"/>
            <ref name="listWit"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="witness">
    <element name="witness">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains either a description of a single witness referred to within the critical apparatus, or a list of witnesses which is to be referred to by a single sigil. [12.1. ]</a:documentation>
      <ref name="macro.limitedContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="witStart">
    <element name="witStart">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(fragmented witness start) indicates the beginning, or resumption, of the text of a fragmentary witness. [12.1.5. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.rdgPart.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="witEnd">
    <element name="witEnd">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(fragmented witness end) indicates the end, or suspension, of the text of a fragmentary witness. [12.1.5. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.rdgPart.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="lacunaStart">
    <element name="lacunaStart">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the beginning of a lacuna in the text of a mostly complete textual witness. [12.1.5. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.rdgPart.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="lacunaEnd">
    <element name="lacunaEnd">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the end of a lacuna in a mostly complete textual witness. [12.1.5. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.rdgPart.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [12.1.1. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <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/>
    </element>
  </define>
  <define name="model.rdgPart">
    <choice>
      <ref name="wit"/>
      <ref name="witStart"/>
      <ref name="witEnd"/>
      <ref name="lacunaStart"/>
      <ref name="lacunaEnd"/>
    </choice>
  </define>
  <define name="att.rdgPart.attributes">
    <ref name="att.rdgPart.attribute.wit"/>
  </define>
  <define name="att.rdgPart.attribute.wit">
    <optional>
      <attribute name="wit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(witness or witnesses) contains a list of one or more sigla indicating the witnesses which begin or end at this point.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.witnessed.attributes">
    <ref name="att.witnessed.attribute.wit"/>
  </define>
  <define name="att.witnessed.attribute.wit">
    <optional>
      <attribute name="wit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(witness or witnesses) contains a list of one or more pointers indicating the witnesses which attest to a given reading.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.textCritical.attributes">
    <ref name="att.responsibility.attributes"/>
    <ref name="att.textCritical.attribute.type"/>
    <ref name="att.textCritical.attribute.cause"/>
    <ref name="att.textCritical.attribute.varSeq"/>
    <ref name="att.textCritical.attribute.hand"/>
  </define>
  <define name="att.textCritical.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the reading according to some useful typology.
Sample values include: 1] substantive; 2] orthographic</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="att.textCritical.attribute.cause">
    <optional>
      <attribute name="cause">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the cause for the variant reading, according to any appropriate typology of possible origins.
Sample values include: 1] homeoteleuton; 2] homeoarchy; 3] paleographicConfusion; 4] haplography; 5] dittography; 6] falseEmendation</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="att.textCritical.attribute.varSeq">
    <optional>
      <attribute name="varSeq">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(variant sequence) provides a number indicating the position of this reading in a sequence, when there is reason to presume a sequence to the variants on any one lemma.</a:documentation>
        <ref name="data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="att.textCritical.attribute.hand">
    <optional>
      <attribute name="hand">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the hand responsible for a particular reading in the witness.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="msDesc">
    <element name="msDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript description) contains a description of a single identifiable manuscript or other text-bearing object. [10.1. ]</a:documentation>
      <group>
        <ref name="msIdentifier"/>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <choice>
          <oneOrMore>
            <ref name="model.pLike"/>
          </oneOrMore>
          <group>
            <optional>
              <ref name="msContents"/>
            </optional>
            <optional>
              <ref name="physDesc"/>
            </optional>
            <optional>
              <ref name="history"/>
            </optional>
            <optional>
              <ref name="additional"/>
            </optional>
            <zeroOrMore>
              <ref name="msPart"/>
            </zeroOrMore>
          </group>
        </choice>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.sortable.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="catchwords">
    <element name="catchwords">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the system used to ensure correct ordering of the quires making up a codex or incunable, typically by means of annotations at the foot of the page. [10.3.7. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="dimensions">
    <element name="dimensions">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a dimensional specification. [10.3.4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="dim"/>
            <ref name="model.dimLike"/>
          </choice>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="dimensions-constraint-duplicateDim1">
        <rule context="tei:dimensions">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" test="count(tei:width)&gt; 1">
The element <name/> may appear once only
      </report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="dimensions-constraint-duplicateDim2">
        <rule context="tei:dimensions">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" test="count(tei:height)&gt; 1">
The element <name/> may appear once only
      </report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="dimensions-constraint-duplicateDim3">
        <rule context="tei:dimensions">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" test="count(tei:depth)&gt; 1">
The element <name/> may appear once only
      </report>
        </rule>
      </pattern>
      <ref name="att.global.attributes"/>
      <ref name="att.dimensions.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates which aspect of the object is being measured. 
Sample values include: 1] leaves; 2] ruled; 3] pricked; 4] written; 5] miniatures; 6] binding; 7] box</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="dim">
    <element name="dim">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any single measurement forming part of a dimensional specification of some sort. [10.3.4. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.dimensions.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="height">
    <element name="height">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a measurement measured along the axis at right angles to the bottom of the written surface, i.e. parallel to the spine for a codex or book.  [10.3.4. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.dimensions.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="depth">
    <element name="depth">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a measurement measured across the spine of a book or codex, or (for other text-bearing objects) perpendicular to the measurement given by the width element. [10.3.4. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.dimensions.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="width">
    <element name="width">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a measurement measured along the axis parallel to the bottom of the written surface, i.e. perpendicular to the spine of a book or codex.  [10.3.4. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.dimensions.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="heraldry">
    <element name="heraldry">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a heraldic formula or phrase, typically found as part of a blazon, coat of arms, etc.  [10.3.8. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="locus">
    <element name="locus">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines a location within a manuscript or manuscript part, usually as a (possibly discontinuous) sequence of folio references.  [10.3.5. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.pointing.attributes"/>
      <optional>
        <attribute name="scheme">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the foliation scheme in terms of which the location is being specified.</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="from">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the starting point of the location in a normalized form.</a:documentation>
          <ref name="data.word"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="to">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the end-point of the location in a normalized form.</a:documentation>
          <ref name="data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="locusGrp">
    <element name="locusGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups a number of locations which together form a distinct but discontinuous item within a manuscript or manuscript part, according to a specific foliation.  [10.3.5. ]</a:documentation>
      <oneOrMore>
        <ref name="locus"/>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="scheme">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the foliation scheme in terms of which all the locations contained by the group are specified.</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="material">
    <element name="material">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase describing the material of which the object being described is composed.  [10.3.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="objectType">
    <element name="objectType">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase describing the type of object being refered to.  [10.3.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="origDate">
    <element name="origDate">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(origin date) contains any form of date, used to identify the date of origin for a manuscript or manuscript part.  [10.3.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.phrase"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="origPlace">
    <element name="origPlace">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(origin place) contains any form of place name, used to identify the place of origin for a manuscript or manuscript part.  [10.3.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.naming.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="secFol">
    <element name="secFol">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(second folio) marks the word or words taken from a fixed point in a codex (typically the beginning of the second leaf) in order to provide a unique identifier for it.  [10.3.7. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="signatures">
    <element name="signatures">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains discussion of the leaf or quire signatures found within a codex. [10.3.7. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="stamp">
    <element name="stamp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase describing a stamp or similar device. [10.3.3. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="watermark">
    <element name="watermark">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase describing a watermark or similar device. [10.3.3. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="msIdentifier">
    <element name="msIdentifier">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript identifier) contains the information required to identify the manuscript being described.  [10.4. ]</a:documentation>
      <group>
        <group>
          <ref name="model.placeNamePart_sequenceOptional"/>
          <optional>
            <ref name="institution"/>
          </optional>
          <optional>
            <ref name="repository"/>
          </optional>
          <zeroOrMore>
            <ref name="collection"/>
          </zeroOrMore>
          <optional>
            <ref name="idno"/>
          </optional>
        </group>
        <zeroOrMore>
          <choice>
            <ref name="msName"/>
            <ref name="altIdentifier"/>
          </choice>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="msIdentifier-constraint-msId_minimal">
        <rule context="tei:msIdentifier">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" test="local-name(*[1])='idno' or                              local-name(*[1])='altIdentifier' or        .='' ">
You must supply either a locator of some type or a name for <name/>
               </report>
        </rule>
      </pattern>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="institution">
    <element name="institution">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of an organization such as a university or library, with which a manuscript is identified, generally its holding institution. [10.4. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="repository">
    <element name="repository">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of a repository within which manuscripts are stored, possibly forming part of an institution. [10.4. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="collection">
    <element name="collection">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of a collection of manuscripts, not necessarily located within a single repository.  [10.4. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.naming.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="altIdentifier">
    <element name="altIdentifier">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternative identifier) contains an alternative or former structured identifier used for a manuscript, such as a former catalogue number. [10.4. ]</a:documentation>
      <group>
        <ref name="model.placeNamePart_sequenceOptional"/>
        <optional>
          <ref name="institution"/>
        </optional>
        <optional>
          <ref name="repository"/>
        </optional>
        <optional>
          <ref name="collection"/>
        </optional>
        <ref name="idno"/>
        <optional>
          <ref name="note"/>
        </optional>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="msName">
    <element name="msName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternative name) contains any form of unstructured alternative name used for a manuscript, such as an ocellus nominum, or nickname. [10.4. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="colophon">
    <element name="colophon">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the colophon of a manuscript item: that is, a statement providing information regarding the date, place, agency, or reason for production of the manuscript. [10.6.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="explicit">
    <element name="explicit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the explicit of a manuscript item, that is, the closing words of the text proper, exclusive of any rubric or colophon which might follow it. [10.6.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.msExcerpt.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="filiation">
    <element name="filiation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information concerning the manuscript's filiation, i.e. its relationship to other surviving manuscripts of the same text, its protographs, antigraphs and apographs. [10.6.1. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="finalRubric">
    <element name="finalRubric">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the string of words that denotes the end of a text division, often with an assertion as to its author and title, usually set off from the text itself by red ink, by a different size or type of script, or by some other such visual device. [10.6.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="incipit">
    <element name="incipit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the incipit of a manuscript item, that is the opening words of the text proper, exclusive of any rubric which might precede it, of sufficient length to identify the work uniquely; such incipts were, in fomer times, frequently used a means of reference to a work, in place of a title. [10.6.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.msExcerpt.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="msContents">
    <element name="msContents">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript contents) describes the intellectual content of a manuscript or manuscript part, either as a series of paragraphs or as a series of structured manuscript items. [10.6. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="summary"/>
          </optional>
          <optional>
            <ref name="textLang"/>
          </optional>
          <optional>
            <ref name="titlePage"/>
          </optional>
          <zeroOrMore>
            <choice>
              <ref name="msItem"/>
              <ref name="msItemStruct"/>
            </choice>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <ref name="att.msExcerpt.attributes"/>
      <optional>
        <attribute name="class">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the text types or classifications applicable to this object.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="msItem">
    <element name="msItem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript item) describes an individual work or item within the intellectual content of a manuscript or manuscript part.  [10.6.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="locus"/>
            <ref name="locusGrp"/>
          </choice>
        </zeroOrMore>
        <choice>
          <oneOrMore>
            <ref name="model.pLike"/>
          </oneOrMore>
          <oneOrMore>
            <choice>
              <ref name="model.titlepagePart"/>
              <ref name="model.msItemPart"/>
              <ref name="model.global"/>
            </choice>
          </oneOrMore>
        </choice>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.msExcerpt.attributes"/>
      <optional>
        <attribute name="class">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the text types or classifications applicable to this item</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="msItemStruct">
    <element name="msItemStruct">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(structured manuscript item) contains a structured description for an individual work or item within the intellectual content of a manuscript or manuscript part. [10.6.1. ]</a:documentation>
      <group>
        <optional>
          <choice>
            <ref name="locus"/>
            <ref name="locusGrp"/>
          </choice>
        </optional>
        <choice>
          <oneOrMore>
            <ref name="model.pLike"/>
          </oneOrMore>
          <group>
            <zeroOrMore>
              <ref name="author"/>
            </zeroOrMore>
            <zeroOrMore>
              <ref name="title"/>
            </zeroOrMore>
            <optional>
              <ref name="rubric"/>
            </optional>
            <optional>
              <ref name="incipit"/>
            </optional>
            <zeroOrMore>
              <ref name="msItemStruct"/>
            </zeroOrMore>
            <optional>
              <ref name="explicit"/>
            </optional>
            <optional>
              <ref name="finalRubric"/>
            </optional>
            <zeroOrMore>
              <ref name="colophon"/>
            </zeroOrMore>
            <zeroOrMore>
              <ref name="decoNote"/>
            </zeroOrMore>
            <zeroOrMore>
              <choice>
                <ref name="bibl"/>
                <ref name="biblStruct"/>
              </choice>
            </zeroOrMore>
            <zeroOrMore>
              <ref name="model.noteLike"/>
            </zeroOrMore>
            <optional>
              <ref name="textLang"/>
            </optional>
          </group>
        </choice>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.msExcerpt.attributes"/>
      <optional>
        <attribute name="class">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the text types or classifications applicable to this item</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="rubric">
    <element name="rubric">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the text of any rubric or heading attached to a particular manuscript item, that is, a string of words through which a manuscript signals the beginning of a text division, often with an assertion as to its author and title, which is in some way set off from the text itself, usually in red ink, or by use of different size or type of script, or some other such visual device. [10.6.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="summary">
    <element name="summary">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an overview of the available information concerning some aspect of an item (for example, its intellectual content, history, layout, typography etc.) as a complement or alternative to the more detailed information carried by more specific elements.</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="att.msExcerpt.attributes">
    <ref name="att.msExcerpt.attribute.defective"/>
  </define>
  <define name="att.msExcerpt.attribute.defective">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="defective" a:defaultValue="false">
        <a:documentation>indicates whether the passage being quoted is defective, i.e. incomplete through loss or damage.</a:documentation>
        <ref name="data.xTruthValue"/>
      </attribute>
    </optional>
  </define>
  <define name="physDesc">
    <element name="physDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(physical description) contains a full physical description of a manuscript or manuscript part, optionally subdivided using more specialized elements from the model.physDescPart class. [10.7. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.pLike"/>
        </zeroOrMore>
        <group>
          <ref name="model.physDescPart_sequenceOptional"/>
        </group>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="objectDesc">
    <element name="objectDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the physical components making up the object which is being described. [10.7.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="supportDesc"/>
          </optional>
          <optional>
            <ref name="layoutDesc"/>
          </optional>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="form">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a short project-specific name identifying the physical form of the carrier, for example as a codex, roll, fragment, partial leaf, cutting etc.</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="supportDesc">
    <element name="supportDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(support description) groups elements describing the physical support for the written part of a manuscript. [10.7.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="support"/>
          </optional>
          <optional>
            <ref name="extent"/>
          </optional>
          <zeroOrMore>
            <ref name="foliation"/>
          </zeroOrMore>
          <optional>
            <ref name="collation"/>
          </optional>
          <optional>
            <ref name="condition"/>
          </optional>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="material">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a short project-defined name for the material composing the majority of the support
Suggested values include: 1] paper (paper) ; 2] parch(parchment) ; 3] mixed</a:documentation>
          <choice>
            <value>paper</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (paper) </a:documentation>
            <value>parch</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(parchment) </a:documentation>
            <value>mixed</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="support">
    <element name="support">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the materials etc. which make up the physical support for the written part of a manuscript. [10.7.1. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="collation">
    <element name="collation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of how the leaves or bifolia are physically arranged. [10.7.1. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="foliation">
    <element name="foliation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the numbering system or systems used to count the leaves or pages in a codex. [10.7.1.4. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="condition">
    <element name="condition">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the physical condition of the manuscript.  [10.7.1.5. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="layoutDesc">
    <element name="layoutDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(layout description) collects the set of layout descriptions applicable to a manuscript. [10.7.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="summary"/>
          </optional>
          <oneOrMore>
            <ref name="layout"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="layout">
    <element name="layout">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes how text is laid out on the page, including information about any ruling, pricking, or other evidence of page-preparation techniques. [10.7.2. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="columns">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of columns per page</a:documentation>
          <list>
            <ref name="data.count"/>
            <optional>
              <ref name="data.count"/>
            </optional>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="ruledLines">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of ruled lines per column</a:documentation>
          <list>
            <ref name="data.count"/>
            <optional>
              <ref name="data.count"/>
            </optional>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="writtenLines">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of written lines per column</a:documentation>
          <list>
            <ref name="data.count"/>
            <optional>
              <ref name="data.count"/>
            </optional>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="handDesc">
    <element name="handDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(description of hands) contains a description of all the different kinds of writing used in a manuscript. [10.7.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="summary"/>
          </optional>
          <oneOrMore>
            <ref name="handNote"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="hands">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of distinct hands identified within the manuscript</a:documentation>
          <ref name="data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="typeDesc">
    <element name="typeDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the typefaces or other aspects of the printing of an incunable or other printed source. [10.7.2.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="summary"/>
          </optional>
          <oneOrMore>
            <ref name="typeNote"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="scriptDesc">
    <element name="scriptDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the scripts used in a manuscript or similar source. [10.7.2.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="summary"/>
          </optional>
          <oneOrMore>
            <ref name="scriptNote"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="musicNotation">
    <element name="musicNotation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains description of type of musical notation. [10.7.2. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="decoDesc">
    <element name="decoDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(decoration description) contains a description of the decoration of a manuscript, either as a sequence of paragraphs, or as a sequence of topically organized decoNote elements. [10.7.3. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="summary"/>
          </optional>
          <oneOrMore>
            <ref name="decoNote"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="decoNote">
    <element name="decoNote">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(note on decoration) contains a note describing either a decorative component of a manuscript, or a fairly homogenous class of such components. [10.7.3. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="additions">
    <element name="additions">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of any significant additions found within a manuscript, such as marginalia or other annotations.  [10.7.2. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="bindingDesc">
    <element name="bindingDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(binding description) describes the present and former bindings of a manuscript, either as a series of paragraphs or as a series of distinct binding elements, one for each binding of the manuscript. [10.7.3.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="model.pLike"/>
            <ref name="decoNote"/>
            <ref name="condition"/>
          </choice>
        </oneOrMore>
        <oneOrMore>
          <ref name="binding"/>
        </oneOrMore>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="binding">
    <element name="binding">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of one binding, i.e. type of covering, boards, etc. applied to a manuscript. [10.7.3.1. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="model.pLike"/>
          <ref name="condition"/>
          <ref name="decoNote"/>
        </choice>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <optional>
        <attribute name="contemporary">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies whether or not the binding is contemporary with the majority of its contents</a:documentation>
          <ref name="data.xTruthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="sealDesc">
    <element name="sealDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(seal description) describes the seals or other external items attached to a manuscript, either as a series of paragraphs or as a series of distinct seal elements, possibly with additional decoNotes. [10.7.3.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="summary"/>
          </optional>
          <oneOrMore>
            <choice>
              <ref name="decoNote"/>
              <ref name="seal"/>
              <ref name="condition"/>
            </choice>
          </oneOrMore>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="seal">
    <element name="seal">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of one seal or similar attachment applied to a manuscript. [10.7.3.2. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="model.pLike"/>
          <ref name="decoNote"/>
        </choice>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.datable.attributes"/>
      <optional>
        <attribute name="contemporary">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies whether or not the seal is contemporary with the item to which it is affixed</a:documentation>
          <ref name="data.xTruthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="accMat">
    <element name="accMat">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(accompanying material) contains details of any significant additional material which may be closely associated with the manuscript being described, such as non-contemporaneous documents or fragments bound in with the manuscript at some earlier historical period. [10.7.3.3. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="history">
    <element name="history">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups elements describing the full history of a manuscript or manuscript part. [10.8. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="summary"/>
          </optional>
          <optional>
            <ref name="origin"/>
          </optional>
          <zeroOrMore>
            <ref name="provenance"/>
          </zeroOrMore>
          <optional>
            <ref name="acquisition"/>
          </optional>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="origin">
    <element name="origin">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any descriptive or other information concerning the origin of a manuscript or manuscript part.  [10.8. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="provenance">
    <element name="provenance">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any descriptive or other information concerning a single identifiable episode during the history of a manuscript or manuscript part, after its creation but before its acquisition.  [10.8. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.responsibility.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="acquisition">
    <element name="acquisition">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any descriptive or other information concerning the process by which a manuscript or manuscript part entered the holding institution.  [10.8. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="additional">
    <element name="additional">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups additional information, combining bibliographic information about a manuscript, or surrogate copies of it with curatorial or administrative information.  [10.9. ]</a:documentation>
      <group>
        <optional>
          <ref name="adminInfo"/>
        </optional>
        <optional>
          <ref name="surrogates"/>
        </optional>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="adminInfo">
    <element name="adminInfo">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(administrative information) contains information about the present custody and availability of the manuscript, and also about the record description itself.  [10.9.1. ]</a:documentation>
      <group>
        <optional>
          <ref name="recordHist"/>
        </optional>
        <optional>
          <ref name="availability"/>
        </optional>
        <optional>
          <ref name="custodialHist"/>
        </optional>
        <optional>
          <ref name="model.noteLike"/>
        </optional>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="recordHist">
    <element name="recordHist">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(recorded history) provides information about the source and revision status of the parent manuscript description itself.  [10.9.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <group>
          <ref name="source"/>
          <zeroOrMore>
            <ref name="change"/>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="source">
    <element name="source">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the original source for the information contained with a manuscript description.  [10.9.1.1. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="custodialHist">
    <element name="custodialHist">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(custodial history) contains a description of a manuscript's custodial history, either as running prose or as a series of dated custodial events.  [10.9.1.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="custEvent"/>
        </oneOrMore>
      </choice>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="custEvent">
    <element name="custEvent">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(custodial event) describes a single event during the custodial history of a manuscript. [10.9.1.2. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="surrogates">
    <element name="surrogates">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about any representations of the manuscript being described which may exist in the holding institution or elsewhere.  [10.9. ]</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="msPart">
    <element name="msPart">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript part) contains information about an originally distinct manuscript or part of a manuscript, now forming part of a composite manuscript. [10.10. ]</a:documentation>
      <group>
        <choice>
          <ref name="altIdentifier"/>
          <ref name="msIdentifier"/>
        </choice>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <choice>
          <oneOrMore>
            <ref name="model.pLike"/>
          </oneOrMore>
          <group>
            <optional>
              <ref name="msContents"/>
            </optional>
            <optional>
              <ref name="physDesc"/>
            </optional>
            <optional>
              <ref name="history"/>
            </optional>
            <optional>
              <ref name="additional"/>
            </optional>
            <zeroOrMore>
              <ref name="msPart"/>
            </zeroOrMore>
          </group>
        </choice>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.  15.1. ]</a:documentation>
      <group>
        <ref name="teiHeader"/>
        <choice>
          <group>
            <oneOrMore>
              <ref name="model.resourceLike"/>
            </oneOrMore>
            <optional>
              <ref name="text"/>
            </optional>
          </group>
          <ref name="text"/>
        </choice>
      </group>
      <ns xmlns="http://purl.oclc.org/dsdl/schematron" prefix="tei" uri="http://www.tei-c.org/ns/1.0"/>
      <ns xmlns="http://purl.oclc.org/dsdl/schematron" prefix="rng" uri="http://relaxng.org/ns/structure/1.0"/>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="version">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the major version number of the TEI Guidelines against which this document is valid.</a:documentation>
          <ref name="data.version"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [4.  15.1. ]</a:documentation>
      <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>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
        <optional>
          <group>
            <group>
              <ref name="model.divTop"/>
            </group>
            <zeroOrMore>
              <choice>
                <ref name="model.global"/>
                <ref name="model.divTop"/>
              </choice>
            </zeroOrMore>
          </group>
        </optional>
        <optional>
          <group>
            <group>
              <ref name="model.divGenLike"/>
            </group>
            <zeroOrMore>
              <choice>
                <ref name="model.global"/>
                <ref name="model.divGenLike"/>
              </choice>
            </zeroOrMore>
          </group>
        </optional>
        <group>
          <choice>
            <oneOrMore>
              <group>
                <group>
                  <ref name="model.divLike"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="model.global"/>
                    <ref name="model.divGenLike"/>
                  </choice>
                </zeroOrMore>
              </group>
            </oneOrMore>
            <oneOrMore>
              <group>
                <group>
                  <ref name="model.div1Like"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="model.global"/>
                    <ref name="model.divGenLike"/>
                  </choice>
                </zeroOrMore>
              </group>
            </oneOrMore>
            <group>
              <oneOrMore>
                <group>
                  <ref name="model.common"/>
                </group>
                <zeroOrMore>
                  <ref name="model.global"/>
                </zeroOrMore>
              </oneOrMore>
              <optional>
                <choice>
                  <oneOrMore>
                    <group>
                      <group>
                        <ref name="model.divLike"/>
                      </group>
                      <zeroOrMore>
                        <choice>
                          <ref name="model.global"/>
                          <ref name="model.divGenLike"/>
                        </choice>
                      </zeroOrMore>
                    </group>
                  </oneOrMore>
                  <oneOrMore>
                    <group>
                      <group>
                        <ref name="model.div1Like"/>
                      </group>
                      <zeroOrMore>
                        <choice>
                          <ref name="model.global"/>
                          <ref name="model.divGenLike"/>
                        </choice>
                      </zeroOrMore>
                    </group>
                  </oneOrMore>
                </choice>
              </optional>
            </group>
          </choice>
        </group>
        <zeroOrMore>
          <group>
            <group>
              <ref name="model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </group>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.  4.3.1.  15.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.divTop"/>
            <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.divBottom"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.divTop"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
        <optional>
          <choice>
            <group>
              <oneOrMore>
                <choice>
                  <ref name="model.divLike"/>
                  <ref name="model.divGenLike"/>
                </choice>
                <zeroOrMore>
                  <ref name="model.global"/>
                </zeroOrMore>
              </oneOrMore>
            </group>
            <group>
              <oneOrMore>
                <group>
                  <ref name="model.common"/>
                </group>
                <zeroOrMore>
                  <ref name="model.global"/>
                </zeroOrMore>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="model.divLike"/>
                  <ref name="model.divGenLike"/>
                </choice>
                <zeroOrMore>
                  <ref name="model.global"/>
                </zeroOrMore>
              </zeroOrMore>
            </group>
          </choice>
          <zeroOrMore>
            <group>
              <ref name="model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.divLike.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="trailer">
    <element name="trailer">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a closing title or footer appearing at the end of a division of a text.  [4.2.4.  4.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.2.2.  4.5. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.phrase"/>
          <ref name="docAuthor"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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.  [4.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="epigraph">
    <element name="epigraph">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a quotation, anonymous or attributed, appearing at the start or end of a section or on a title page.  [4.2.3.  4.2.  4.6. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="model.common"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.phrase"/>
          <ref name="byline"/>
          <ref name="dateline"/>
          <ref name="epigraph"/>
          <ref name="salute"/>
          <ref name="signed"/>
          <ref name="model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="closer">
    <element name="closer">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups together salutations, datelines, and similar phrases appearing as a final group at the end of a division, especially of a letter. [4.2.2.  4.2. ]</a:documentation>
      <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>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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.  [4.2.2. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="postscript">
    <element name="postscript">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a postscript, e.g. to a letter. [4.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.global"/>
            <ref name="model.divTopPart"/>
          </choice>
        </zeroOrMore>
        <group>
          <ref name="model.common"/>
        </group>
        <zeroOrMore>
          <choice>
            <ref name="model.global"/>
            <ref name="model.common"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <group>
            <ref name="model.divBottomPart"/>
          </group>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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.  [4.6. ]</a:documentation>
      <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>
      <ref name="att.global.attributes"/>
      <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/>
    </element>
  </define>
  <define 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. [4.6. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.global"/>
        </zeroOrMore>
        <oneOrMore>
          <ref name="titlePart"/>
          <zeroOrMore>
            <ref name="model.global"/>
          </zeroOrMore>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="titlePart">
    <element name="titlePart">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a subsection or division of the title of a work, as indicated on a title page. [4.6. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="main">
          <a:documentation>specifies the role of this subdivision of the title.
Suggested values include: 1] main; 2] sub(subordinate) ; 3] alt(alternate) ; 4] short; 5] desc(descriptive) </a:documentation>
          <choice>
            <value>main</value>
            <a:documentation>main title of the work </a:documentation>
            <value>sub</value>
            <a:documentation>(subordinate) subtitle of the work </a:documentation>
            <value>alt</value>
            <a:documentation>(alternate) alternative title of the work </a:documentation>
            <value>short</value>
            <a:documentation>abbreviated form of title</a:documentation>
            <value>desc</value>
            <a:documentation>(descriptive) descriptive paraphrase of the work </a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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). [4.6. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.6. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.6. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.6. ]</a:documentation>
      <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>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.6. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="when">
          <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.w3c"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [4.6.  4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.frontPart"/>
            <ref name="model.pLike.front"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
        <group>
          <optional>
            <choice>
              <group>
                <group>
                  <ref name="model.div1Like"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="model.frontPart"/>
                    <ref name="model.div1Like"/>
                    <ref name="model.global"/>
                  </choice>
                </zeroOrMore>
              </group>
              <group>
                <group>
                  <ref name="model.divLike"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="model.frontPart"/>
                    <ref name="model.divLike"/>
                    <ref name="model.global"/>
                  </choice>
                </zeroOrMore>
              </group>
            </choice>
          </optional>
        </group>
        <group>
          <optional>
            <group>
              <ref name="model.divBottomPart"/>
            </group>
            <zeroOrMore>
              <choice>
                <ref name="model.divBottomPart"/>
                <ref name="model.global"/>
              </choice>
            </zeroOrMore>
          </optional>
        </group>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define 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. [4.7.  4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="model.frontPart"/>
            <ref name="model.pLike.front"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
        <group>
          <optional>
            <choice>
              <group>
                <group>
                  <ref name="model.div1Like"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="model.frontPart"/>
                    <ref name="model.div1Like"/>
                    <ref name="model.global"/>
                  </choice>
                </zeroOrMore>
              </group>
              <group>
                <group>
                  <ref name="model.divLike"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="model.frontPart"/>
                    <ref name="model.divLike"/>
                    <ref name="model.global"/>
                  </choice>
                </zeroOrMore>
              </group>
            </choice>
          </optional>
        </group>
        <group>
          <optional>
            <group>
              <ref name="model.divBottomPart"/>
            </group>
            <zeroOrMore>
              <choice>
                <ref name="model.divBottomPart"/>
                <ref name="model.global"/>
              </choice>
            </zeroOrMore>
          </optional>
        </group>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="att.metrical.attributes">
    <ref name="att.metrical.attribute.met"/>
    <ref name="att.metrical.attribute.real"/>
    <ref name="att.metrical.attribute.rhyme"/>
  </define>
  <define name="att.metrical.attribute.met">
    <optional>
      <attribute name="met">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(metrical structure, conventional) contains a user-specified encoding for the conventional metrical structure of the element.</a:documentation>
        <data type="token"/>
      </attribute>
    </optional>
  </define>
  <define name="att.metrical.attribute.real">
    <optional>
      <attribute name="real">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(metrical structure, realized) contains a user-specified encoding for the actual realization of the conventional metrical structure applicable to the element.</a:documentation>
        <data type="token"/>
      </attribute>
    </optional>
  </define>
  <define name="att.metrical.attribute.rhyme">
    <optional>
      <attribute name="rhyme">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rhyme scheme) specifies the rhyme scheme applicable to a group of verse lines.</a:documentation>
        <data type="token"/>
      </attribute>
    </optional>
  </define>
  <define name="att.enjamb.attributes">
    <ref name="att.enjamb.attribute.enjamb"/>
  </define>
  <define name="att.enjamb.attribute.enjamb">
    <optional>
      <attribute name="enjamb">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(enjambement) indicates that the end of a verse line is marked by enjambement.
Sample values include: 1] no; 2] yes; 3] weak; 4] strong</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="caesura">
    <element name="caesura">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks the point at which a metrical line may be divided. [6.2. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="rhyme">
    <element name="rhyme">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks the rhyming part of a metrical line. [6.4. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <optional>
        <attribute name="label">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a label to identify which part of a rhyme scheme this rhyming string instantiates.</a:documentation>
          <ref name="data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define 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. [8.4.2.  16.4. ]</a:documentation>
      <empty/>
      <ref name="att.global.attribute.n"/>
      <ref name="att.global.attribute.xmllang"/>
      <ref name="att.global.attribute.style"/>
      <ref name="att.global.attribute.xmlspace"/>
      <ref name="att.global.linking.attribute.corresp"/>
      <ref name="att.global.linking.attribute.synch"/>
      <ref name="att.global.linking.attribute.sameAs"/>
      <ref name="att.global.linking.attribute.copyOf"/>
      <ref name="att.global.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.global.analytic.attribute.ana"/>
      <ref name="att.global.facs.attribute.facs"/>
      <ref name="att.global.change.attribute.change"/>
      <attribute name="xml:id">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) provides a unique identifier for the element bearing the attribute.</a:documentation>
        <data type="ID"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define 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 name="att.global.linking.attribute.corresp">
    <optional>
      <attribute name="corresp">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(corresponds) points to elements that correspond to the current element in some way.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.global.linking.attribute.synch">
    <optional>
      <attribute name="synch">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(synchronous) points to elements that are synchronous with the current element.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define 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 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 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 name="att.global.linking.attribute.prev">
    <optional>
      <attribute name="prev">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(previous) 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 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>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define 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>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="w">
    <element name="w">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(word) represents a grammatical (not necessarily orthographic) word. [17.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="w"/>
          <ref name="c"/>
          <ref name="model.global"/>
          <ref name="model.lPart"/>
          <ref name="model.hiLike"/>
          <ref name="model.pPart.edit"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attribute.xmlid"/>
      <ref name="att.global.attribute.n"/>
      <ref name="att.global.attribute.xmllang"/>
      <ref name="att.global.attribute.style"/>
      <ref name="att.global.attribute.xmlspace"/>
      <ref name="att.global.linking.attribute.corresp"/>
      <ref name="att.global.linking.attribute.synch"/>
      <ref name="att.global.linking.attribute.sameAs"/>
      <ref name="att.global.linking.attribute.copyOf"/>
      <ref name="att.global.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.global.facs.attribute.facs"/>
      <ref name="att.global.change.attribute.change"/>
      <ref name="att.datcat.attribute.datcat"/>
      <ref name="att.datcat.attribute.valueDatcat"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
        <attribute name="lemma">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a lemma for the word, such as an uninflected dictionary entry form.</a:documentation>
          <ref name="data.text"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="lemmaRef">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a pointer to a definition of the lemma for the word, for example in an online lexicon. </a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="c">
    <element name="c">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character) represents a character. [17.1. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datcat.attribute.datcat"/>
      <ref name="att.datcat.attribute.valueDatcat"/>
      <ref name="att.typed.attribute.subtype"/>
      <empty/>
    </element>
  </define>
  <define name="pc">
    <element name="pc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (punctuation character) contains a character or string of characters regarded as constituting a single punctuation mark. [17.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="c"/>
          <ref name="model.pPart.edit"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.segLike.attributes"/>
      <ref name="att.typed.attributes"/>
      <optional>
        <attribute name="force">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the extent to which this punctuation mark conventionally separates words or phrases</a:documentation>
          <choice>
            <value>strong</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the punctuation mark is a word separator</a:documentation>
            <value>weak</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the punctuation mark is not a word separator</a:documentation>
            <value>inter</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the punctuation mark may or may not be a word separator</a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="unit">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a name for the kind of unit delimited by this punctuation mark.</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="pre">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether this punctuation mark precedes or follows the unit it delimits.</a:documentation>
          <ref name="data.truthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="att.global.analytic.attributes">
    <ref name="att.global.analytic.attribute.ana"/>
  </define>
  <define name="att.global.analytic.attribute.ana">
    <optional>
      <attribute name="ana">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(analysis) indicates one or more elements containing interpretations of the element on which the ana attribute appears.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="sourceDoc">
    <element name="sourceDoc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a transcription or other representation of a single source document potentially forming part of a dossier génétique or collection of sources.</a:documentation>
      <group>
        <oneOrMore>
          <choice>
            <ref name="model.global"/>
            <ref name="model.graphicLike"/>
            <ref name="surfaceGrp"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="att.global.facs.attributes">
    <ref name="att.global.facs.attribute.facs"/>
  </define>
  <define name="att.global.facs.attribute.facs">
    <optional>
      <attribute name="facs">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(facsimile) points to all or part of an image which corresponds with the content of the element.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.global.change.attributes">
    <ref name="att.global.change.attribute.change"/>
  </define>
  <define name="att.global.change.attribute.change">
    <optional>
      <attribute name="change">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to one or more change elements documenting a state or revision campaign to which the element bearing this attribute and its children have been assigned by the encoder.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="surfaceGrp">
    <element name="surfaceGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines any kind of useful grouping of written surfaces, for example the recto and verso of a single leaf, which the encoder wishes to treat as a single unit. </a:documentation>
      <oneOrMore>
        <choice>
          <ref name="model.global"/>
          <ref name="surfaceGrp"/>
        </choice>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.coordinated.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="att.coordinated.attributes">
    <ref name="att.coordinated.attribute.start"/>
    <ref name="att.coordinated.attribute.ulx"/>
    <ref name="att.coordinated.attribute.uly"/>
    <ref name="att.coordinated.attribute.lrx"/>
    <ref name="att.coordinated.attribute.lry"/>
  </define>
  <define name="att.coordinated.attribute.start">
    <optional>
      <attribute name="start">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the element within a transcription of the text containing at least the start of the writing represented by this zone or surface.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="att.coordinated.attribute.ulx">
    <optional>
      <attribute name="ulx">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the x coordinate value for the upper left corner of a rectangular space.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="att.coordinated.attribute.uly">
    <optional>
      <attribute name="uly">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the y coordinate value for the upper left corner of a rectangular space.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="att.coordinated.attribute.lrx">
    <optional>
      <attribute name="lrx">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the x coordinate value for the lower right corner of a rectangular space.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="att.coordinated.attribute.lry">
    <optional>
      <attribute name="lry">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the y coordinate value for the lower right corner of a rectangular space.</a:documentation>
        <ref name="data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="addSpan">
    <element name="addSpan">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(added span of text) marks the beginning of a longer sequence of text added by an author, scribe, annotator or corrector (see also add). [11.3.1.4. ]</a:documentation>
      <empty/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="addSpan-constraint-spanTo">
        <rule context="tei:addSpan">
          <sch:assert xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://www.tei-c.org/ns/1.0" test="@spanTo">The spanTo= attribute of <sch:name/> is required.</sch:assert>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="addSpan-constraint-spanTo_fr">
        <rule context="tei:addSpan">
          <sch:assert xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://www.tei-c.org/ns/1.0" test="@spanTo">L'attribut spanTo est requis.</sch:assert>
        </rule>
      </pattern>
      <ref name="att.global.attributes"/>
      <ref name="att.transcriptional.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.spanning.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="delSpan">
    <element name="delSpan">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(deleted span of text) marks the beginning of a longer sequence of text deleted, marked as deleted, or otherwise signaled as superfluous or spurious by an author, scribe, annotator, or corrector. [11.3.1.4. ]</a:documentation>
      <empty/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="delSpan-constraint-spanTo">
        <rule context="tei:delSpan">
          <assert xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" test="@spanTo">The spanTo= attribute of <name/> is required.</assert>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="delSpan-constraint-spanTo_fr">
        <rule context="tei:delSpan">
          <assert xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" test="@spanTo">L'attribut spanTo est requis.</assert>
        </rule>
      </pattern>
      <ref name="att.global.attributes"/>
      <ref name="att.transcriptional.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.spanning.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="handNotes">
    <element name="handNotes">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one or more handNote elements documenting the different hands identified within the source texts. [11.3.2.1. ]</a:documentation>
      <oneOrMore>
        <ref name="handNote"/>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="substJoin">
    <element name="substJoin">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(substitution join) identifies a series of possibly fragmented additions, deletions or other revisions on a manuscript that combine to make up a single intervention in the text</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="model.descLike"/>
          <ref name="model.certLike"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.pointing.attributes"/>
      <ref name="att.transcriptional.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="surplus">
    <element name="surplus">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks text present in the source which the editor believes to be superfluous or redundant. [11.3.3.1. ]</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <optional>
        <attribute name="reason">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the grounds for believing this text to be superfluous.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="line">
    <element name="line">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the transcription of a topographic line in the source document</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.global"/>
          <ref name="model.linePart"/>
        </choice>
      </zeroOrMore>
      <ref name="att.typed.attributes"/>
      <ref name="att.global.attributes"/>
      <ref name="att.coordinated.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="listTranspose">
    <element name="listTranspose">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a list of transpositions, each of which is indicated at some point in a document typically by means of metamarks.</a:documentation>
      <oneOrMore>
        <ref name="transpose"/>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="metamark">
    <element name="metamark">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains or describes any kind of graphic or written signal within a document the function of which is to determine how it should be read rather than forming part of the actual content of the document.</a:documentation>
      <ref name="macro.specialPara"/>
      <ref name="att.spanning.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.global.attributes"/>
      <optional>
        <attribute name="function">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the function (for example status, insertion, deletion, transposition) of the mark.</a:documentation>
          <ref name="data.word"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies one or more elements to which the function indicated by the metamark applies. </a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="mod">
    <element name="mod">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">represents any kind of modification identified within a single document.</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.transcriptional.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.spanning.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="redo">
    <element name="redo">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates one or more cancelled interventions in a document which have subsequently been marked as reaffirmed or repeated.</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.spanning.attributes"/>
      <ref name="att.transcriptional.attributes"/>
      <optional>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to one or more elements representing the interventions which are being reasserted.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="retrace">
    <element name="retrace">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a sequence of writing which has been retraced, for example by over-inking, to clarify or fix it.</a:documentation>
      <ref name="macro.paraContent"/>
      <ref name="att.global.attributes"/>
      <ref name="att.spanning.attributes"/>
      <ref name="att.transcriptional.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="transpose">
    <element name="transpose">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a single textual transposition as an ordered list of at least two pointers specifying the order in which the elements indicated should be re-combined. </a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="undo">
    <element name="undo">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates one or more marked-up interventions in a document which have subsequently been marked for cancellation.</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.spanning.attributes"/>
      <ref name="att.transcriptional.attributes"/>
      <optional>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to one or more elements representing the interventions which are to be reverted or undone.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="fs">
    <element name="fs">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit. [18.2. ]</a:documentation>
      <zeroOrMore>
        <ref name="f"/>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.datcat.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the type of the feature structure.</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="feats">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(features) references the feature-value specifications making up this feature structure.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="f">
    <element name="f">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types. [18.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="model.gLike"/>
          <ref name="model.featureVal"/>
        </choice>
      </zeroOrMore>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="f-constraint-fValConstraints">
        <rule xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" context="tei:fVal">
          <assert test="not(tei:* and text)"> A feature value cannot
    contain both text and element content</assert>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="f-constraint-fValConstraints">
        <rule xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" context="tei:fVal">
          <report test="count(tei:*)&gt;1"> A feature value can contain
    only one child element</report>
        </rule>
      </pattern>
      <ref name="att.global.attributes"/>
      <ref name="att.datcat.attributes"/>
      <attribute name="name">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a single word which follows the rules defining a legal XML name (see ), providing a name for the feature.</a:documentation>
        <ref name="data.name"/>
      </attribute>
      <optional>
        <attribute name="fVal">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature value) references any element which can be used to represent the value of a feature.</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="symbol">
    <element name="symbol">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(symbolic value) represents the value part of a feature-value specification which contains one of a finite list of symbols. [18.3. ]</a:documentation>
      <empty/>
      <ref name="att.global.attributes"/>
      <ref name="att.datcat.attributes"/>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the symbolic value for the feature, one of a finite list that may be specified in a feature declaration.</a:documentation>
        <ref name="data.word"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="fLib">
    <element name="fLib">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature library) assembles a library of feature elements. [18.4. ]</a:documentation>
      <oneOrMore>
        <ref name="f"/>
      </oneOrMore>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="att.datable.custom.attributes">
    <ref name="att.datable.custom.attribute.when-custom"/>
    <ref name="att.datable.custom.attribute.notBefore-custom"/>
    <ref name="att.datable.custom.attribute.notAfter-custom"/>
    <ref name="att.datable.custom.attribute.from-custom"/>
    <ref name="att.datable.custom.attribute.to-custom"/>
    <ref name="att.datable.custom.attribute.datingPoint"/>
    <ref name="att.datable.custom.attribute.datingMethod"/>
  </define>
  <define name="att.datable.custom.attribute.when-custom">
    <optional>
      <attribute name="when-custom">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the value of a date or time in some standard form.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.custom.attribute.notBefore-custom">
    <optional>
      <attribute name="notBefore-custom">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the earliest possible date for the event in some custom standard form.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.custom.attribute.notAfter-custom">
    <optional>
      <attribute name="notAfter-custom">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the latest possible date for the event in some custom standard form.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.custom.attribute.from-custom">
    <optional>
      <attribute name="from-custom">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the starting point of the period in some standard form.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.custom.attribute.to-custom">
    <optional>
      <attribute name="to-custom">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the ending point of the period in some standard form.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.custom.attribute.datingPoint">
    <optional>
      <attribute name="datingPoint">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a pointer to some location defining a named point in time with reference to which the datable item is understood to have occurred</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.custom.attribute.datingMethod">
    <optional>
      <attribute name="datingMethod">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a pointer to a calendar element or other means of interpreting the values of the custom dating attributes.</a:documentation>
        <ref name="data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="model.persNamePart">
    <choice>
      <ref name="surname"/>
      <ref name="forename"/>
      <ref name="genName"/>
      <ref name="nameLink"/>
      <ref name="addName"/>
      <ref name="roleName"/>
    </choice>
  </define>
  <define name="model.persNamePart_alternation">
    <choice>
      <ref name="surname"/>
      <ref name="forename"/>
      <ref name="genName"/>
      <ref name="nameLink"/>
      <ref name="addName"/>
      <ref name="roleName"/>
    </choice>
  </define>
  <define name="model.persNamePart_sequence">
    <ref name="surname"/>
    <ref name="forename"/>
    <ref name="genName"/>
    <ref name="nameLink"/>
    <ref name="addName"/>
    <ref name="roleName"/>
  </define>
  <define name="model.persNamePart_sequenceOptional">
    <optional>
      <ref name="surname"/>
    </optional>
    <optional>
      <ref name="forename"/>
    </optional>
    <optional>
      <ref name="genName"/>
    </optional>
    <optional>
      <ref name="nameLink"/>
    </optional>
    <optional>
      <ref name="addName"/>
    </optional>
    <optional>
      <ref name="roleName"/>
    </optional>
  </define>
  <define name="model.persNamePart_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="surname"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="forename"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="genName"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="nameLink"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="addName"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="roleName"/>
    </zeroOrMore>
  </define>
  <define name="model.persNamePart_sequenceRepeatable">
    <oneOrMore>
      <ref name="surname"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="forename"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="genName"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="nameLink"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="addName"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="roleName"/>
    </oneOrMore>
  </define>
  <define name="orgName">
    <element name="orgName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organization name) contains an organizational name.  [13.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.personal.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="persName">
    <element name="persName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(personal name) contains a proper noun or proper-noun phrase referring to a person, possibly including one or more of the person's forenames, surnames, honorifics, added names, etc. [13.2.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.personal.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="surname">
    <element name="surname">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a family (inherited) name, as opposed to a given, baptismal, or nick name. [13.2.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.personal.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="forename">
    <element name="forename">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a forename, given or baptismal name. [13.2.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.personal.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="genName">
    <element name="genName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(generational name component) contains a name component used to distinguish otherwise similar names on the basis of the relative ages or generations of the persons named. [13.2.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.personal.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="nameLink">
    <element name="nameLink">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(name link) contains a connecting phrase or link used within a name but not regarded as part of it, such as van der or of. [13.2.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="addName">
    <element name="addName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(additional name) contains an additional name component, such as a nickname, epithet, or alias, or any other descriptive phrase used within a personal name. [13.2.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.personal.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="roleName">
    <element name="roleName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a name component which indicates that the referent has a particular role or position in society, such as an official title or rank. [13.2.1. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.personal.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="country">
    <element name="country">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(country) contains the name of a geo-political unit, such as a nation, country, colony, or commonwealth, larger than or administratively superior to a region and smaller than a bloc. [13.2.3. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.naming.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="settlement">
    <element name="settlement">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
      <text/>
    </element>
  </define>
  <define name="offset">
    <element name="offset">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks that part of a relative temporal or spatial expression which indicates the direction of the offset between the two place names, dates, or times involved in the expression.  [13.2.3. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="geogFeat">
    <element name="geogFeat">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(geographical feature name) contains a common noun identifying some geographical feature contained within a geographic name, such as valley, mount, etc. [13.2.3. ]</a:documentation>
      <ref name="macro.xtext"/>
      <ref name="att.global.attributes"/>
      <ref name="att.naming.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="affiliation">
    <element name="affiliation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(affiliation) contains an informal description of a person's present or past affiliation with some organization, for example an employer or sponsor. [15.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="age">
    <element name="age">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(age) specifies the age of a person.</a:documentation>
      <ref name="macro.phraseSeq.limited"/>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.datable.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a numeric code representing the age or age group</a:documentation>
          <ref name="data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="birth">
    <element name="birth">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(birth) contains information about a person's birth, such as its date and place. [15.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="climate">
    <element name="climate">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(climate) contains information about the physical climate of a place.</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <choice>
          <group>
            <oneOrMore>
              <ref name="model.pLike"/>
            </oneOrMore>
          </group>
          <group>
            <oneOrMore>
              <ref name="model.labelLike"/>
            </oneOrMore>
          </group>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="model.noteLike"/>
            <ref name="model.biblLike"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="climate"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.naming.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="death">
    <element name="death">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(death) contains information about a person's death, such as its date and place. [15.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="education">
    <element name="education">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the educational experience of a person. [15.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="event">
    <element name="event">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(event) contains data relating to any kind of significant event associated with a person, place, or organization.</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <choice>
          <group>
            <oneOrMore>
              <ref name="model.pLike"/>
            </oneOrMore>
          </group>
          <group>
            <oneOrMore>
              <ref name="model.labelLike"/>
            </oneOrMore>
          </group>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="model.noteLike"/>
            <ref name="model.biblLike"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="event"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.naming.attributes"/>
      <ref name="att.sortable.attributes"/>
      <optional>
        <attribute name="where">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location of an event by pointing to a place element</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="faith">
    <element name="faith">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the faith, religion, or belief set of a person.</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="floruit">
    <element name="floruit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about a person's period of activity.</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="geo">
    <element name="geo">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(geographical coordinates) contains any expression of a set of geographic coordinates, representing a point, line, or area on the surface of the earth in some notation. [13.3.4.1. ]</a:documentation>
      <text/>
      <ref name="att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="langKnowledge">
    <element name="langKnowledge">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language knowledge) summarizes the state of a person's linguistic knowledge, either as prose or by a list of langKnown elements.</a:documentation>
      <choice>
        <ref name="model.pLike"/>
        <oneOrMore>
          <ref name="langKnown"/>
        </oneOrMore>
      </choice>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <optional>
        <attribute name="tags">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies one or more valid language tags for the languages specified</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.language"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="langKnown">
    <element name="langKnown">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language known) summarizes the state of a person's linguistic competence, i.e., knowledge of a single language. [15.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq.limited"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <attribute name="tag">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a valid language tag for the language concerned.</a:documentation>
        <ref name="data.language"/>
      </attribute>
      <optional>
        <attribute name="level">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a code indicating the person's level of knowledge for this language </a:documentation>
          <ref name="data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="listOrg">
    <element name="listOrg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of organizations) contains a list of elements, each of which provides information about an identifiable organization.  [13.2.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="org"/>
            <ref name="listOrg"/>
          </choice>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="listRelation"/>
            <ref name="relationGrp"/>
            <ref name="relation"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="listEvent">
    <element name="listEvent">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of events) contains a list of descriptions, each of which provides information about an identifiable event. </a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="event"/>
            <ref name="listEvent"/>
          </choice>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="relation"/>
            <ref name="relationGrp"/>
            <ref name="listRelation"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="listPerson">
    <element name="listPerson">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of persons) contains a list of descriptions, each of which provides information about an identifiable person or a group of people, for example the participants in a language interaction, or the people referred to in a historical source.  [13.3.2.  15.2.  2.4.  15.3.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="model.personLike"/>
            <ref name="listPerson"/>
          </choice>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="relation"/>
            <ref name="listRelation"/>
            <ref name="relationGrp"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="listPlace">
    <element name="listPlace">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of places) contains a list of places, optionally followed by a list of relationships (other than containment) defined amongst them. </a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="model.placeLike"/>
            <ref name="listPlace"/>
          </choice>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="listRelation"/>
            <ref name="relationGrp"/>
            <ref name="relation"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="location">
    <element name="location">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines the location of a place as a set of geographical coordinates, in terms of other named geo-political entities, or as an address.</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="model.labelLike"/>
          <ref name="model.placeNamePart"/>
          <ref name="model.offsetLike"/>
          <ref name="model.measureLike"/>
          <ref name="model.addressLike"/>
          <ref name="model.noteLike"/>
          <ref name="model.biblLike"/>
        </choice>
      </zeroOrMore>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="nationality">
    <element name="nationality">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an informal description of a person's present or past nationality or citizenship. [15.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="occupation">
    <element name="occupation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an informal description of a person's trade, profession or occupation. [15.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.naming.attributes"/>
      <optional>
        <attribute name="scheme">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the classification system or taxonomy in use by supplying the identifier of a taxonomy element typically but not necessarily elsewhere in the current document header.</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="code">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies an occupation code defined within the classification system or taxonomy defined by the scheme attribute.</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="org">
    <element name="org">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organization) provides information about an identifiable organization such as a business, a tribe, or any other grouping of people. [13.2.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <choice>
          <group>
            <zeroOrMore>
              <ref name="model.pLike"/>
            </zeroOrMore>
          </group>
          <zeroOrMore>
            <choice>
              <ref name="model.labelLike"/>
              <ref name="model.nameLike"/>
              <ref name="model.placeLike"/>
              <ref name="model.orgPart"/>
            </choice>
          </zeroOrMore>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="model.noteLike"/>
            <ref name="model.biblLike"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="model.personLike"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.sortable.attributes"/>
      <optional>
        <attribute name="role">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a primary role or classification for the organization.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="listRelation">
    <element name="listRelation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides information about relationships identified amongst people, places, and organizations, either informally as prose or as formally expressed relation links.  [15.2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="relation"/>
        </oneOrMore>
      </choice>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="relationGrp">
    <element name="relationGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(relation group) provides information about relationships identified amongst people, places, and organizations, either informally as prose or as formally expressed relation links.  [15.2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="relation"/>
        </oneOrMore>
      </choice>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="person">
    <element name="person">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides information about an identifiable individual, for example a participant in a language interaction, or a person referred to in a historical source. [15.2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="model.personPart"/>
            <ref name="model.global"/>
          </choice>
        </zeroOrMore>
      </choice>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.sortable.attributes"/>
      <optional>
        <attribute name="role">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a primary role or classification for the person.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.enumerated"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="sex">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sex of the person.</a:documentation>
          <ref name="data.sex"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="age">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies an age group for the person.</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="personGrp">
    <element name="personGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(personal group) describes a group of individuals treated as a single person for analytic purposes. [15.2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="model.pLike"/>
        </oneOrMore>
        <zeroOrMore>
          <ref name="model.personPart"/>
        </zeroOrMore>
      </choice>
      <ref name="att.global.attributes"/>
      <ref name="att.sortable.attributes"/>
      <optional>
        <attribute name="role">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the role of this group of participants in the interaction.</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="sex">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sex of the participant group.</a:documentation>
          <choice>
            <ref name="data.sex"/>
            <value>mixed</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="age">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the age group of the participants.</a:documentation>
          <ref name="data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="size">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the size or approximate size of the group.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="place">
    <element name="place">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains data about a geographic location</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <choice>
          <group>
            <zeroOrMore>
              <ref name="model.pLike"/>
            </zeroOrMore>
          </group>
          <zeroOrMore>
            <choice>
              <ref name="model.labelLike"/>
              <ref name="model.placeStateLike"/>
              <ref name="model.placeEventLike"/>
            </choice>
          </zeroOrMore>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="model.noteLike"/>
            <ref name="model.biblLike"/>
            <ref name="idno"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <choice>
            <ref name="model.placeLike"/>
            <ref name="listPlace"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="population">
    <element name="population">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about the population of a place.</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <optional>
          <choice>
            <group>
              <oneOrMore>
                <ref name="model.pLike"/>
              </oneOrMore>
            </group>
            <group>
              <oneOrMore>
                <ref name="model.labelLike"/>
              </oneOrMore>
            </group>
          </choice>
          <zeroOrMore>
            <choice>
              <ref name="model.noteLike"/>
              <ref name="model.biblLike"/>
            </choice>
          </zeroOrMore>
        </optional>
        <zeroOrMore>
          <ref name="population"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.naming.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="relation">
    <element name="relation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(relationship) describes any kind of relationship or linkage amongst a specified group of objects, places, events or people. [15.2.2. ]</a:documentation>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="relation-constraint-activemutual">
        <rule context="tei:relation">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" test="@active and @mutual">Only one of the attributes
@active and @mutual may be supplied</report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="relation-constraint-activepassive">
        <rule context="tei:relation">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" test="@passive and not(@active)">the attribute 'passive'
	may be supplied only if the attribute 'active' is
	supplied</report>
        </rule>
      </pattern>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.canonical.attributes"/>
      <ref name="att.sortable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="personal">
          <a:documentation>categorizes the relationship in some respect, e.g. as social, personal or other.
Suggested values include: 1] social; 2] personal; 3] other</a:documentation>
          <choice>
            <value>social</value>
            <a:documentation>relationship concerned with social roles</a:documentation>
            <value>personal</value>
            <a:documentation>relationship concerned with personal roles, e.g. kinship, marriage, etc.</a:documentation>
            <value>other</value>
            <a:documentation>other kinds of relationship</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <attribute name="name">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a name for the kind of relationship of which this is an instance.</a:documentation>
        <ref name="data.enumerated"/>
      </attribute>
      <choice>
        <optional>
          <attribute name="active">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the active participants in a non-mutual relationship, or all the participants in a mutual one.</a:documentation>
            <list>
              <oneOrMore>
                <ref name="data.pointer"/>
              </oneOrMore>
            </list>
          </attribute>
        </optional>
        <optional>
          <attribute name="mutual">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a list of participants amongst all of whom the relationship holds equally.</a:documentation>
            <list>
              <oneOrMore>
                <ref name="data.pointer"/>
              </oneOrMore>
            </list>
          </attribute>
        </optional>
      </choice>
      <optional>
        <attribute name="passive">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the passive participants in a non-mutual relationship.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="residence">
    <element name="residence">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(residence) describes a person's present or past places of residence. [15.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="sex">
    <element name="sex">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sex of a person.</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.datable.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a coded value for sex</a:documentation>
          <ref name="data.sex"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="socecStatus">
    <element name="socecStatus">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(socio-economic status) contains an informal description of a person's perceived social or economic status. [15.2.2. ]</a:documentation>
      <ref name="macro.phraseSeq"/>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.naming.attributes"/>
      <optional>
        <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>
      </optional>
      <optional>
        <attribute name="code">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies a status code defined within the classification system or taxonomy defined by the scheme attribute.</a:documentation>
          <ref name="data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="terrain">
    <element name="terrain">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about the physical terrain of a place.</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <choice>
          <group>
            <oneOrMore>
              <ref name="model.pLike"/>
            </oneOrMore>
          </group>
          <group>
            <oneOrMore>
              <ref name="model.labelLike"/>
            </oneOrMore>
          </group>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="model.noteLike"/>
            <ref name="model.biblLike"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="terrain"/>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.naming.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="trait">
    <element name="trait">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of some status or quality attributed to a person, place, or organization typically, but not necessarily, independent of the volition or action of the holder and usually not at some specific time or for a specific date range.</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="trait"/>
        </oneOrMore>
        <group>
          <zeroOrMore>
            <ref name="model.headLike"/>
          </zeroOrMore>
          <oneOrMore>
            <ref name="model.pLike"/>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="model.noteLike"/>
              <ref name="model.biblLike"/>
            </choice>
          </zeroOrMore>
        </group>
        <group>
          <zeroOrMore>
            <choice>
              <ref name="model.labelLike"/>
              <ref name="model.noteLike"/>
              <ref name="model.biblLike"/>
            </choice>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.editLike.attributes"/>
      <ref name="att.naming.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="nym">
    <element name="nym">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(canonical name) contains the definition for a canonical name or name component of any kind. [13.3.5. ]</a:documentation>
      <group>
        <group>
          <zeroOrMore>
            <ref name="model.entryPart"/>
          </zeroOrMore>
        </group>
        <group>
          <zeroOrMore>
            <ref name="model.pLike"/>
          </zeroOrMore>
        </group>
        <group>
          <zeroOrMore>
            <ref name="nym"/>
          </zeroOrMore>
        </group>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.sortable.attributes"/>
      <optional>
        <attribute name="parts">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to constituent nyms </a:documentation>
          <list>
            <oneOrMore>
              <ref name="data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="listNym">
    <element name="listNym">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of canonical names) contains a list of nyms, that is, standardized names for any thing.  [13.3.5. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="nym"/>
            <ref name="listNym"/>
          </choice>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="listRelation"/>
            <ref name="relationGrp"/>
            <ref name="relation"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="att.global.attributes"/>
      <ref name="att.typed.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="att.datable.iso.attributes">
    <ref name="att.datable.iso.attribute.when-iso"/>
    <ref name="att.datable.iso.attribute.notBefore-iso"/>
    <ref name="att.datable.iso.attribute.notAfter-iso"/>
    <ref name="att.datable.iso.attribute.from-iso"/>
    <ref name="att.datable.iso.attribute.to-iso"/>
  </define>
  <define name="att.datable.iso.attribute.when-iso">
    <optional>
      <attribute name="when-iso">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the value of a date or time in a standard form.</a:documentation>
        <ref name="data.temporal.iso"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.iso.attribute.notBefore-iso">
    <optional>
      <attribute name="notBefore-iso">
        <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.iso"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.iso.attribute.notAfter-iso">
    <optional>
      <attribute name="notAfter-iso">
        <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.iso"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.iso.attribute.from-iso">
    <optional>
      <attribute name="from-iso">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the starting point of the period in standard form.</a:documentation>
        <ref name="data.temporal.iso"/>
      </attribute>
    </optional>
  </define>
  <define name="att.datable.iso.attribute.to-iso">
    <optional>
      <attribute name="to-iso">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the ending point of the period in standard form.</a:documentation>
        <ref name="data.temporal.iso"/>
      </attribute>
    </optional>
  </define>
  <start>
    <choice>
      <ref name="TEI"/>
    </choice>
  </start>
</grammar>