<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
         xmlns:tei="http://www.tei-c.org/ns/1.0"
         xmlns:teix="http://www.tei-c.org/ns/Examples"
         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 2025-08-25T10:23:34Z. . 
TEI Edition: P5 Version 4.10.0. Last updated on 15th August 2025, revision ebf0834e1 
TEI Edition Location: https://www.tei-c.org/Vault/P5/4.10.0/ 
  
--><!---->
   <define name="macro.abContent">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.paraPart"/>
            <ref name="ab"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="macro.paraContent">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.paraPart"/>
         </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.attributable"/>
            <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="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>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </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>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.cReferencing.attributes">
      <ref name="att.cReferencing.attribute.cRef"/>
   </define>
   <define name="att.cReferencing.attribute.cRef">
      <optional>
         <attribute name="cRef">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(canonical reference) specifies the destination of the pointer by supplying a canonical reference expressed using the scheme defined in a <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;refsDecl&gt;</code> element in the TEI header.</a:documentation>
            <data type="string"/>
         </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>
            <data type="string"/>
         </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 or identity for the entity being named by means of one or more URIs.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.citing.attributes">
      <ref name="att.citing.attribute.unit"/>
      <ref name="att.citing.attribute.from"/>
      <ref name="att.citing.attribute.to"/>
   </define>
   <define name="att.citing.attribute.unit">
      <optional>
         <attribute name="unit">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the unit of information conveyed by the element.
Suggested values include: 1] volume (volume); 2] issue; 3] page (page); 4] line; 5] chapter (chapter); 6] part; 7] column; 8] entry</a:documentation>
            <choice>
               <value>volume</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>page</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page) the element contains a page number or page range.</a:documentation>
               <value>line</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element contains a line number or line range.</a:documentation>
               <value>chapter</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>
               <value>column</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element identifies a column.</a:documentation>
               <value>entry</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element identifies an entry number or label in a list of entries.</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.citing.attribute.from">
      <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 <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@unit</code> attribute.</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.citing.attribute.to">
      <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 <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@unit</code> attribute.</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.cmc.attributes">
      <ref name="att.cmc.attribute.generatedBy"/>
   </define>
   <define name="att.cmc.attribute.generatedBy">
      <optional>
         <attribute name="generatedBy">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(generated by) categorizes how the content of an element was generated in a CMC environment.
Suggested values include: 1] human; 2] template; 3] system; 4] bot; 5] unspecified</a:documentation>
            <choice>
               <value>human</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the content was naturally typed or spoken by a human user</a:documentation>
               <value>template</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the content was generated after a human user activated a template for its insertion</a:documentation>
               <value>system</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the content was generated by the system, i.e. the CMC environment</a:documentation>
               <value>bot</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the content was generated by a bot, i.e. a non-human agent, typically one that is not part of the CMC environment itself</a:documentation>
               <value>unspecified</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the content was generated by an unknown or unspecified process</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </choice>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.cmc-generatedBy-CMC_generatedBy_within_post-constraint-rule-1">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@generatedBy]">
         <sch:assert test="ancestor-or-self::tei:post">The @generatedBy attribute is for use within a &lt;post&gt; element.</sch:assert>
      </sch:rule>
   </pattern>
   <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>
            <choice>
               <data type="date"/>
               <data type="gYear"/>
               <data type="gMonth"/>
               <data type="gDay"/>
               <data type="gYearMonth"/>
               <data type="gMonthDay"/>
               <data type="time"/>
               <data type="dateTime"/>
            </choice>
         </attribute>
      </optional>
   </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>
            <choice>
               <data type="date"/>
               <data type="gYear"/>
               <data type="gMonth"/>
               <data type="gDay"/>
               <data type="gYearMonth"/>
               <data type="gMonthDay"/>
               <data type="time"/>
               <data type="dateTime"/>
            </choice>
         </attribute>
      </optional>
   </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>
            <choice>
               <data type="date"/>
               <data type="gYear"/>
               <data type="gMonth"/>
               <data type="gDay"/>
               <data type="gYearMonth"/>
               <data type="gMonthDay"/>
               <data type="time"/>
               <data type="dateTime"/>
            </choice>
         </attribute>
      </optional>
   </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>
            <choice>
               <data type="date"/>
               <data type="gYear"/>
               <data type="gMonth"/>
               <data type="gDay"/>
               <data type="gYearMonth"/>
               <data type="gMonthDay"/>
               <data type="time"/>
               <data type="dateTime"/>
            </choice>
         </attribute>
      </optional>
   </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>
            <choice>
               <data type="date"/>
               <data type="gYear"/>
               <data type="gMonth"/>
               <data type="gDay"/>
               <data type="gYearMonth"/>
               <data type="gMonthDay"/>
               <data type="time"/>
               <data type="dateTime"/>
            </choice>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.datable.w3c-att-datable-w3c-when-constraint-rule-2">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@when]">
         <sch:report role="nonfatal" test="@notBefore|@notAfter|@from|@to">The @when attribute cannot be used with any other att.datable.w3c attributes.</sch:report>
      </sch:rule>
   </pattern>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.datable.w3c-att-datable-w3c-from-constraint-rule-3">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@from]">
         <sch:report role="nonfatal" test="@notBefore">The @from and @notBefore attributes cannot be used together.</sch:report>
      </sch:rule>
   </pattern>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.datable.w3c-att-datable-w3c-to-constraint-rule-4">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@to]">
         <sch:report role="nonfatal" test="@notAfter">The @to and @notAfter attributes cannot be used together.</sch:report>
      </sch:rule>
   </pattern>
   <define name="att.datcat.attributes">
      <ref name="att.datcat.attribute.datcat"/>
      <ref name="att.datcat.attribute.valueDatcat"/>
      <ref name="att.datcat.attribute.targetDatcat"/>
   </define>
   <define name="att.datcat.attribute.datcat">
      <optional>
         <attribute name="datcat">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a pointer to a definition of, and/or general information about, (a) an information container (element or attribute) or (b) a value of an information container (element content or attribute value), by referencing an external taxonomy or ontology. If <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@valueDatcat</code> is present in the immediate context, this attribute takes on role (a), while <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@valueDatcat</code> performs role (b).</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.datcat.attribute.valueDatcat">
      <optional>
         <attribute name="valueDatcat">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a definition of, and/or general information about a value of an information container (element content or attribute value), by reference to an external taxonomy or ontology. Used especially where a contrast with <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@datcat</code> is needed.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.datcat.attribute.targetDatcat">
      <optional>
         <attribute name="targetDatcat">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a definition of, and/or general information about, information structure of an object referenced or modeled by the containing element, by reference to an external taxonomy or ontology. This attribute has the characteristics of the <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@datcat</code> attribute, except that it addresses not its containing element, but an object that is being referenced or modeled by its containing element.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </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>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                abstract="true"
                id="declarable">
      <sch:rule context="$tde[ ancestor::tei:teiHeader                                  and                                  following-sibling::$tde                                  and                                  not( preceding-sibling::$tde ) ]">
         <sch:report test="../child::$tde[ not( @xml:id ) ]">
            When there is more than one <sch:name/>, each must have an @xml:id
          </sch:report>
         <sch:assert test="count( ../child::$tde[ normalize-space( @default ) = ('1','true') ] ) eq 1">
            When there is more than one <sch:name/>, one and only one must have a @default of 'true'.
          </sch:assert>
      </sch:rule>
   </sch:pattern>
   <define name="att.declaring.attributes">
      <ref name="att.declaring.attribute.decls"/>
   </define>
   <define name="att.declaring.attribute.decls">
      <optional>
         <attribute name="decls">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(declarations) identifies one or more declarable elements within the header, which are understood to apply to the element bearing this attribute and its content.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </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>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.editLike.attributes">
      <ref name="att.editLike.attribute.evidence"/>
      <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="token">
                        <param name="pattern">[^\p{C}\p{Z}]+</param>
                     </data>
                  </choice>
               </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>
            <choice>
               <data type="boolean"/>
               <choice>
                  <value>unknown</value>
                  <a:documentation/>
                  <value>inapplicable</value>
                  <a:documentation/>
               </choice>
            </choice>
         </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 a sigil or other arbitrary identifier for the source edition in which the associated feature (for example, a page, column, or line beginning) occurs at this point in the text.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </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 beginning) occurs at this point in the text.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </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) 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.global.rendition.attributes">
      <ref name="att.global.rendition.attribute.rend"/>
      <ref name="att.global.rendition.attribute.rendition"/>
   </define>
   <define name="att.global.rendition.attribute.rend">
      <optional>
         <attribute name="rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rendition) indicates how the element in question was rendered or presented in the source text.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.global.rendition.attribute.rendition">
      <optional>
         <attribute name="rendition">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to a description of the rendering or presentation used for this element in the source text.
Suggested values include: 1] simple:allcaps; 2] simple:blackletter; 3] simple:bold; 4] simple:bottombraced; 5] simple:boxed; 6] simple:centre; 7] simple:cursive; 8] simple:display; 9] simple:doublestrikethrough; 10] simple:doubleunderline; 11] simple:dropcap; 12] simple:float; 13] simple:hyphen; 14] simple:inline; 15] simple:justify; 16] simple:italic; 17] simple:larger; 18] simple:left; 19] simple:leftbraced; 20] simple:letterspace; 21] simple:literal; 22] simple:normalstyle; 23] simple:normalweight; 24] simple:right; 25] simple:rightbraced; 26] simple:rotateleft; 27] simple:rotateright; 28] simple:smallcaps; 29] simple:smaller; 30] simple:strikethrough; 31] simple:subscript; 32] simple:superscript; 33] simple:topbraced; 34] simple:typewriter; 35] simple:underline; 36] simple:wavyunderline</a:documentation>
            <list>
               <oneOrMore>
                  <choice>
                     <value>simple:allcaps</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">all capitals</a:documentation>
                     <value>simple:blackletter</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">black letter or gothic typeface</a:documentation>
                     <value>simple:bold</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bold typeface</a:documentation>
                     <value>simple:bottombraced</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marked with a brace under the bottom of the text</a:documentation>
                     <value>simple:boxed</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">border around the text</a:documentation>
                     <value>simple:centre</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">centred</a:documentation>
                     <value>simple:cursive</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cursive typeface</a:documentation>
                     <value>simple:display</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">block display</a:documentation>
                     <value>simple:doublestrikethrough</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">strikethrough with double line</a:documentation>
                     <value>simple:doubleunderline</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">underlined with double line</a:documentation>
                     <value>simple:dropcap</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">initial letter larger or decorated</a:documentation>
                     <value>simple:float</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">floated out of main flow</a:documentation>
                     <value>simple:hyphen</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">with a hyphen here (eg in line break)</a:documentation>
                     <value>simple:inline</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">inline rendering</a:documentation>
                     <value>simple:justify</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">justified text</a:documentation>
                     <value>simple:italic</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">italic typeface</a:documentation>
                     <value>simple:larger</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">larger type</a:documentation>
                     <value>simple:left</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">aligned to the left or left-justified</a:documentation>
                     <value>simple:leftbraced</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marked with a brace on the left side of the text</a:documentation>
                     <value>simple:letterspace</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">larger-than-normal spacing between letters, usually for emphasis</a:documentation>
                     <value>simple:literal</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fixed-width typeface, spacing preserved</a:documentation>
                     <value>simple:normalstyle</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">upright shape and default weight of typeface</a:documentation>
                     <value>simple:normalweight</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">normal typeface weight</a:documentation>
                     <value>simple:right</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">aligned to the right or right-justified</a:documentation>
                     <value>simple:rightbraced</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marked with a brace to the right of the text</a:documentation>
                     <value>simple:rotateleft</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rotated to the left</a:documentation>
                     <value>simple:rotateright</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rotated to the right</a:documentation>
                     <value>simple:smallcaps</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">small caps</a:documentation>
                     <value>simple:smaller</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">smaller type</a:documentation>
                     <value>simple:strikethrough</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">strike through</a:documentation>
                     <value>simple:subscript</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">subscript</a:documentation>
                     <value>simple:superscript</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">superscript</a:documentation>
                     <value>simple:topbraced</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marked with a brace above the text</a:documentation>
                     <value>simple:typewriter</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fixed-width typeface, like typewriter</a:documentation>
                     <value>simple:underline</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">underlined with single line</a:documentation>
                     <value>simple:wavyunderline</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">underlined with wavy line</a:documentation>
                     <data type="anyURI">
                        <param name="pattern">\S+</param>
                     </data>
                  </choice>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.global.rendition-rendition-renditionpointer-constraint-rule-6">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@rendition]">
         <sch:let name="results"
                  value="for $val in tokenize(normalize-space(@rendition),'\s+') return starts-with($val,'simple:') or (starts-with($val,'#') and //tei:rendition[@xml:id=substring($val,2)])"/>
         <sch:assert test="every $x in $results satisfies $x"> error
                        @rendition.wrongOrUndeclaredValue: Each of the rendition values in
                          "<sch:value-of select="@rendition"/>" must point to a localy defined
                        rendition or a rendition defined in the TEI-Simple scheme (<sch:value-of select="$results"/>) </sch:assert>
      </sch:rule>
   </pattern>
   <define name="att.global.responsibility.attributes">
      <ref name="att.global.responsibility.attribute.cert"/>
      <ref name="att.global.responsibility.attribute.resp"/>
   </define>
   <define name="att.global.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>
            <choice>
               <data type="double">
                  <param name="minInclusive">0</param>
                  <param name="maxInclusive">1</param>
               </data>
               <choice>
                  <value>high</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  <value>medium</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  <value>low</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  <value>unknown</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               </choice>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.global.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>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.global.source.attributes">
      <ref name="att.global.source.attribute.source"/>
   </define>
   <define name="att.global.source.attribute.source">
      <optional>
         <attribute name="source">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the source from which some aspect of this element is drawn.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.global.source-source-only_1_ODD_source-constraint-rule-7">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@source]">
         <sch:let name="srcs" value="tokenize( normalize-space(@source),' ')"/>
         <sch:report test="(   self::tei:classRef                                 | self::tei:dataRef                                 | self::tei:elementRef                                 | self::tei:macroRef                                 | self::tei:moduleRef                                 | self::tei:schemaSpec )                                   and                                   $srcs[2]">
              When used on a schema description element (like
              <sch:value-of select="name(.)"/>), the @source attribute
              should have only 1 value. (This one has <sch:value-of select="count($srcs)"/>.)
            </sch:report>
      </sch:rule>
   </pattern>
   <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>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.notated.attributes">
      <ref name="att.notated.attribute.notation"/>
   </define>
   <define name="att.notated.attribute.notation">
      <optional>
         <attribute name="notation">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">names the notation used for the content of the element.</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </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] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf; 6] above; 7] right; 8] below; 9] left; 10] end; 11] inline; 12] inspace</a:documentation>
            <list>
               <oneOrMore>
                  <choice>
                     <value>top</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the top of the page</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>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>right</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">to the right, e.g. to the right of a vertical line of text, or to the right of a figure</a:documentation>
                     <value>below</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">below the line</a:documentation>
                     <value>left</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">to the left, e.g. to the left of a vertical line of text, or to the left of a figure</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="token">
                        <param name="pattern">[^\p{C}\p{Z}]+</param>
                     </data>
                  </choice>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <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 <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@target</code>, using a language tag generated according to <a xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">BCP 47</a>.</a:documentation>
            <choice>
               <data type="language"/>
               <choice>
                  <value/>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               </choice>
            </choice>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.pointing-targetLang-targetLang-constraint-rule-8">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[not(self::tei:schemaSpec)][@targetLang]">
         <sch:assert test="@target">@targetLang should only be used on <sch:name/> 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>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </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">(evaluate) 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.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>
            <choice>
               <data type="double"/>
               <data type="token">
                  <param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
               </data>
               <data type="decimal"/>
            </choice>
         </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>
            <choice>
               <data type="double"/>
               <data type="token">
                  <param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
               </data>
               <data type="decimal"/>
            </choice>
         </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>
            <choice>
               <data type="double"/>
               <data type="token">
                  <param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
               </data>
               <data type="decimal"/>
            </choice>
         </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>
            <choice>
               <data type="double"/>
               <data type="token">
                  <param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
               </data>
               <data type="decimal"/>
            </choice>
         </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 <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@min</code> and <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@max</code>, or the proportion of observed values that fall within that range.</a:documentation>
            <data type="double">
               <param name="minInclusive">0</param>
               <param name="maxInclusive">1</param>
            </data>
         </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>
         <data type="anyURI">
            <param name="pattern">\S+</param>
         </data>
      </attribute>
   </define>
   <define name="att.scope.attributes">
      <ref name="att.scope.attribute.scope"/>
   </define>
   <define name="att.scope.attribute.scope">
      <optional>
         <attribute name="scope">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the scope of application of the element
Suggested values include: 1] sole; 2] major; 3] minor</a:documentation>
            <choice>
               <value>sole</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">only this particular feature is used throughout the document</a:documentation>
               <value>major</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">this feature is used through most of the document</a:documentation>
               <value>minor</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">this feature is used occasionally through the document</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </choice>
         </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>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </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>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[ starts-with( @spanTo, '#') ]">
         <sch:assert test="id( substring( @spanTo, 2 ) ) &gt;&gt; .">
	      The element indicated by @spanTo (<sch:value-of select="@spanTo"/>) must follow the current <sch:name/> element 
            </sch:assert>
      </sch:rule>
   </pattern>
   <define name="att.styleDef.attributes">
      <ref name="att.styleDef.attribute.scheme"/>
      <ref name="att.styleDef.attribute.schemeVersion"/>
   </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.styleDef.attribute.schemeVersion">
      <optional>
         <attribute name="schemeVersion">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a version number for the style language provided in <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@scheme</code>.</a:documentation>
            <data type="token">
               <param name="pattern">[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}</param>
            </data>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@schemeVersion]">
         <sch:assert test="@scheme and not(@scheme = 'free')">
              @schemeVersion can only be used if @scheme is specified.
            </sch:assert>
      </sch:rule>
   </pattern>
   <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>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </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">(subtype) provides a sub-categorization of the element, if needed.</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.typed-subtypeTyped-constraint-rule-11">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@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.written.attributes">
      <ref name="att.written.attribute.hand"/>
   </define>
   <define name="att.written.attribute.hand">
      <optional>
         <attribute name="hand">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to a <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;handNote&gt;</code> element describing the hand considered responsible for the content of the element concerned.</a:documentation>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.datable.attributes">
      <ref name="att.datable.custom.attributes"/>
      <ref name="att.datable.iso.attributes"/>
      <ref name="att.datable.w3c.attributes"/>
      <ref name="att.datable.attribute.period"/>
   </define>
   <define name="att.datable.attribute.period">
      <optional>
         <attribute name="period">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies pointers to one or more definitions of named periods of time (typically <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;category&gt;</code>s, <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;date&gt;</code>s, or <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;event&gt;</code>s) within which the datable item is understood to have occurred.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </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] line; 5] char (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>line</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lines of text</a:documentation>
               <value>char</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(characters) characters of text</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </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>
            <choice>
               <data type="double"/>
               <data type="token">
                  <param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
               </data>
               <data type="decimal"/>
            </choice>
         </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>
            <data type="string"/>
         </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>
            <choice>
               <value>high</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>medium</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>low</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>unknown</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            </choice>
         </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>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.divLike.attributes">
      <ref name="att.fragmentable.attributes"/>
      <ref name="att.divLike.attribute.org"/>
      <ref name="att.divLike.attribute.sample"/>
   </define>
   <define name="att.divLike.attribute.org">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                    name="org"
                    a:defaultValue="uniform">
            <a:documentation>(organization) specifies how the content of the division is organized.</a:documentation>
            <choice>
               <value>composite</value>
               <a:documentation>no claim is made about the sequence in which the immediate contents of this division are to be processed, or their inter-relationships.</a:documentation>
               <value>uniform</value>
               <a:documentation>the immediate contents of this element are regarded as forming a logical unit, to be processed in sequence.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.divLike.attribute.sample">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                    name="sample"
                    a:defaultValue="complete">
            <a:documentation>indicates whether this division is a sample of the original source and if so, from which part.</a:documentation>
            <choice>
               <value>initial</value>
               <a:documentation>division lacks material present at end in source.</a:documentation>
               <value>medial</value>
               <a:documentation>division lacks material at start and end.</a:documentation>
               <value>final</value>
               <a:documentation>division lacks material at start.</a:documentation>
               <value>unknown</value>
               <a:documentation>position of sampled material within original unknown.</a:documentation>
               <value>complete</value>
               <a:documentation>division is not a sample.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.global.attributes">
      <ref name="att.global.change.attributes"/>
      <ref name="att.global.facs.attributes"/>
      <ref name="att.global.linking.attributes"/>
      <ref name="att.global.rendition.attributes"/>
      <ref name="att.global.responsibility.attributes"/>
      <ref name="att.global.source.attributes"/>
      <ref name="att.global.attribute.xmlid"/>
      <ref name="att.global.attribute.n"/>
      <ref name="att.global.attribute.xmllang"/>
      <ref name="att.global.attribute.xmlbase"/>
      <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>
            <data type="string"/>
         </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 <a xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">BCP 47</a>.</a:documentation>
            <choice>
               <data type="language"/>
               <choice>
                  <value/>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               </choice>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.global.attribute.xmlbase">
      <optional>
         <attribute name="xml:base">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a base URI reference with which applications can resolve relative URI references into absolute URI references.</a:documentation>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </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.scope.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"/>
   </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>
            <data type="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 <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;person&gt;</code> element elsewhere in the description.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </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>
                  <data type="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 <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;scriptNote&gt;</code> element elsewhere in the description.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </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>
            <list>
               <oneOrMore>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </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 in the form of a set of whitespace-separated values, for example the occupation of a person, or the status of a place.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </oneOrMore>
            </list>
         </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>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.segLike.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">(function) characterizes the function of the segment.</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.transcriptional.attributes">
      <ref name="att.editLike.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.written.attributes"/>
      <ref name="att.transcriptional.attribute.status"/>
      <ref name="att.transcriptional.attribute.cause"/>
      <ref name="att.transcriptional.attribute.seq"/>
   </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>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </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>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </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>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.damaged.attribute.group">
      <optional>
         <attribute name="group">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">assigns an arbitrary number to each stretch of damage regarded as forming part of the same physical phenomenon.</a:documentation>
            <data type="nonNegativeInteger"/>
         </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>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </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>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </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="seg"/>
      </choice>
   </define>
   <define name="model.segLike_alternation">
      <choice>
         <ref name="seg"/>
      </choice>
   </define>
   <define name="model.segLike_sequence">
      <ref name="seg"/>
   </define>
   <define name="model.segLike_sequenceOptional">
      <optional>
         <ref name="seg"/>
      </optional>
   </define>
   <define name="model.segLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="seg"/>
      </zeroOrMore>
   </define>
   <define name="model.segLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="seg"/>
      </oneOrMore>
   </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="term"/>
         <ref name="title"/>
      </choice>
   </define>
   <define name="model.emphLike_alternation">
      <choice>
         <ref name="term"/>
         <ref name="title"/>
      </choice>
   </define>
   <define name="model.emphLike_sequence">
      <ref name="term"/>
      <ref name="title"/>
   </define>
   <define name="model.emphLike_sequenceOptional">
      <optional>
         <ref name="term"/>
      </optional>
      <optional>
         <ref name="title"/>
      </optional>
   </define>
   <define name="model.emphLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="term"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="title"/>
      </zeroOrMore>
   </define>
   <define name="model.emphLike_sequenceRepeatable">
      <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.highlighted_alternation">
      <choice>
         <ref name="model.hiLike_alternation"/>
         <ref name="model.emphLike_alternation"/>
      </choice>
   </define>
   <define name="model.highlighted_sequence">
      <ref name="model.hiLike_sequence"/>
      <ref name="model.emphLike_sequence"/>
   </define>
   <define name="model.highlighted_sequenceOptional">
      <optional>
         <ref name="model.hiLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.emphLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.highlighted_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.hiLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.emphLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.highlighted_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.hiLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.emphLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.dateLike">
      <choice>
         <ref name="date"/>
      </choice>
   </define>
   <define name="model.dateLike_alternation">
      <choice>
         <ref name="date"/>
      </choice>
   </define>
   <define name="model.dateLike_sequence">
      <ref name="date"/>
   </define>
   <define name="model.dateLike_sequenceOptional">
      <optional>
         <ref name="date"/>
      </optional>
   </define>
   <define name="model.dateLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="date"/>
      </zeroOrMore>
   </define>
   <define name="model.dateLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="date"/>
      </oneOrMore>
   </define>
   <define name="model.measureLike">
      <choice>
         <ref name="dim"/>
         <ref name="height"/>
         <ref name="depth"/>
         <ref name="width"/>
      </choice>
   </define>
   <define name="model.measureLike_alternation">
      <choice>
         <ref name="dim"/>
         <ref name="height"/>
         <ref name="depth"/>
         <ref name="width"/>
      </choice>
   </define>
   <define name="model.measureLike_sequence">
      <ref name="dim"/>
      <ref name="height"/>
      <ref name="depth"/>
      <ref name="width"/>
   </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>
   </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>
   </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>
   </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">
      <notAllowed/>
   </define>
   <define name="model.graphicLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.graphicLike_sequence">
      <empty/>
   </define>
   <define name="model.graphicLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.graphicLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.graphicLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.offsetLike">
      <notAllowed/>
   </define>
   <define name="model.offsetLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.offsetLike_sequence">
      <empty/>
   </define>
   <define name="model.offsetLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.offsetLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.offsetLike_sequenceRepeatable">
      <notAllowed/>
   </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.msdesc_alternation">
      <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.msdesc_sequence">
      <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"/>
   </define>
   <define name="model.pPart.msdesc_sequenceOptional">
      <optional>
         <ref name="catchwords"/>
      </optional>
      <optional>
         <ref name="dimensions"/>
      </optional>
      <optional>
         <ref name="heraldry"/>
      </optional>
      <optional>
         <ref name="locus"/>
      </optional>
      <optional>
         <ref name="locusGrp"/>
      </optional>
      <optional>
         <ref name="material"/>
      </optional>
      <optional>
         <ref name="objectType"/>
      </optional>
      <optional>
         <ref name="origDate"/>
      </optional>
      <optional>
         <ref name="origPlace"/>
      </optional>
      <optional>
         <ref name="secFol"/>
      </optional>
      <optional>
         <ref name="signatures"/>
      </optional>
      <optional>
         <ref name="stamp"/>
      </optional>
      <optional>
         <ref name="watermark"/>
      </optional>
   </define>
   <define name="model.pPart.msdesc_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="catchwords"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="dimensions"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="heraldry"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="locus"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="locusGrp"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="material"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="objectType"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="origDate"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="origPlace"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="secFol"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="signatures"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="stamp"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="watermark"/>
      </zeroOrMore>
   </define>
   <define name="model.pPart.msdesc_sequenceRepeatable">
      <oneOrMore>
         <ref name="catchwords"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="dimensions"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="heraldry"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="locus"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="locusGrp"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="material"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="objectType"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="origDate"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="origPlace"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="secFol"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="signatures"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="stamp"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="watermark"/>
      </oneOrMore>
   </define>
   <define name="model.pPart.editorial">
      <choice>
         <ref name="choice"/>
         <ref name="abbr"/>
         <ref name="expan"/>
      </choice>
   </define>
   <define name="model.pPart.editorial_alternation">
      <choice>
         <ref name="choice"/>
         <ref name="abbr"/>
         <ref name="expan"/>
      </choice>
   </define>
   <define name="model.pPart.editorial_sequence">
      <ref name="choice"/>
      <ref name="abbr"/>
      <ref name="expan"/>
   </define>
   <define name="model.pPart.editorial_sequenceOptional">
      <optional>
         <ref name="choice"/>
      </optional>
      <optional>
         <ref name="abbr"/>
      </optional>
      <optional>
         <ref name="expan"/>
      </optional>
   </define>
   <define name="model.pPart.editorial_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="choice"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="abbr"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="expan"/>
      </zeroOrMore>
   </define>
   <define name="model.pPart.editorial_sequenceRepeatable">
      <oneOrMore>
         <ref name="choice"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="abbr"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="expan"/>
      </oneOrMore>
   </define>
   <define name="model.pPart.transcriptional">
      <choice>
         <ref name="sic"/>
         <ref name="corr"/>
         <ref name="orig"/>
         <ref name="add"/>
         <ref name="del"/>
         <ref name="unclear"/>
         <ref name="damage"/>
         <ref name="supplied"/>
         <ref name="surplus"/>
      </choice>
   </define>
   <define name="model.pPart.transcriptional_alternation">
      <choice>
         <ref name="sic"/>
         <ref name="corr"/>
         <ref name="orig"/>
         <ref name="add"/>
         <ref name="del"/>
         <ref name="unclear"/>
         <ref name="damage"/>
         <ref name="supplied"/>
         <ref name="surplus"/>
      </choice>
   </define>
   <define name="model.pPart.transcriptional_sequence">
      <ref name="sic"/>
      <ref name="corr"/>
      <ref name="orig"/>
      <ref name="add"/>
      <ref name="del"/>
      <ref name="unclear"/>
      <ref name="damage"/>
      <ref name="supplied"/>
      <ref name="surplus"/>
   </define>
   <define name="model.pPart.transcriptional_sequenceOptional">
      <optional>
         <ref name="sic"/>
      </optional>
      <optional>
         <ref name="corr"/>
      </optional>
      <optional>
         <ref name="orig"/>
      </optional>
      <optional>
         <ref name="add"/>
      </optional>
      <optional>
         <ref name="del"/>
      </optional>
      <optional>
         <ref name="unclear"/>
      </optional>
      <optional>
         <ref name="damage"/>
      </optional>
      <optional>
         <ref name="supplied"/>
      </optional>
      <optional>
         <ref name="surplus"/>
      </optional>
   </define>
   <define name="model.pPart.transcriptional_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="sic"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="corr"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="orig"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="add"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="del"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="unclear"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="damage"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="supplied"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="surplus"/>
      </zeroOrMore>
   </define>
   <define name="model.pPart.transcriptional_sequenceRepeatable">
      <oneOrMore>
         <ref name="sic"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="corr"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="orig"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="add"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="del"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="unclear"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="damage"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="supplied"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="surplus"/>
      </oneOrMore>
   </define>
   <define name="model.pPart.edit">
      <choice>
         <ref name="model.pPart.editorial"/>
         <ref name="model.pPart.transcriptional"/>
      </choice>
   </define>
   <define name="model.pPart.edit_alternation">
      <choice>
         <ref name="model.pPart.editorial_alternation"/>
         <ref name="model.pPart.transcriptional_alternation"/>
      </choice>
   </define>
   <define name="model.pPart.edit_sequence">
      <ref name="model.pPart.editorial_sequence"/>
      <ref name="model.pPart.transcriptional_sequence"/>
   </define>
   <define name="model.pPart.edit_sequenceOptional">
      <optional>
         <ref name="model.pPart.editorial_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.pPart.transcriptional_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.pPart.edit_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.pPart.editorial_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.pPart.transcriptional_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.pPart.edit_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.pPart.editorial_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.pPart.transcriptional_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.ptrLike">
      <choice>
         <ref name="ref"/>
      </choice>
   </define>
   <define name="model.ptrLike_alternation">
      <choice>
         <ref name="ref"/>
      </choice>
   </define>
   <define name="model.ptrLike_sequence">
      <ref name="ref"/>
   </define>
   <define name="model.ptrLike_sequenceOptional">
      <optional>
         <ref name="ref"/>
      </optional>
   </define>
   <define name="model.ptrLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="ref"/>
      </zeroOrMore>
   </define>
   <define name="model.ptrLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="ref"/>
      </oneOrMore>
   </define>
   <define name="model.lPart">
      <notAllowed/>
   </define>
   <define name="model.lPart_alternation">
      <notAllowed/>
   </define>
   <define name="model.lPart_sequence">
      <empty/>
   </define>
   <define name="model.lPart_sequenceOptional">
      <empty/>
   </define>
   <define name="model.lPart_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.lPart_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.global.meta">
      <notAllowed/>
   </define>
   <define name="model.global.meta_alternation">
      <notAllowed/>
   </define>
   <define name="model.global.meta_sequence">
      <empty/>
   </define>
   <define name="model.global.meta_sequenceOptional">
      <empty/>
   </define>
   <define name="model.global.meta_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.global.meta_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.milestoneLike">
      <choice>
         <ref name="milestone"/>
         <ref name="pb"/>
         <ref name="lb"/>
         <ref name="cb"/>
      </choice>
   </define>
   <define name="model.milestoneLike_alternation">
      <choice>
         <ref name="milestone"/>
         <ref name="pb"/>
         <ref name="lb"/>
         <ref name="cb"/>
      </choice>
   </define>
   <define name="model.milestoneLike_sequence">
      <ref name="milestone"/>
      <ref name="pb"/>
      <ref name="lb"/>
      <ref name="cb"/>
   </define>
   <define name="model.milestoneLike_sequenceOptional">
      <optional>
         <ref name="milestone"/>
      </optional>
      <optional>
         <ref name="pb"/>
      </optional>
      <optional>
         <ref name="lb"/>
      </optional>
      <optional>
         <ref name="cb"/>
      </optional>
   </define>
   <define name="model.milestoneLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="milestone"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="pb"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="lb"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="cb"/>
      </zeroOrMore>
   </define>
   <define name="model.milestoneLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="milestone"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="pb"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="lb"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="cb"/>
      </oneOrMore>
   </define>
   <define name="model.gLike">
      <choice>
         <ref name="g"/>
      </choice>
   </define>
   <define name="model.oddDecl">
      <notAllowed/>
   </define>
   <define name="model.oddDecl_alternation">
      <notAllowed/>
   </define>
   <define name="model.oddDecl_sequence">
      <empty/>
   </define>
   <define name="model.oddDecl_sequenceOptional">
      <empty/>
   </define>
   <define name="model.oddDecl_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.oddDecl_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.phrase.xml">
      <notAllowed/>
   </define>
   <define name="model.phrase.xml_alternation">
      <notAllowed/>
   </define>
   <define name="model.phrase.xml_sequence">
      <empty/>
   </define>
   <define name="model.phrase.xml_sequenceOptional">
      <empty/>
   </define>
   <define name="model.phrase.xml_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.phrase.xml_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.specDescLike">
      <notAllowed/>
   </define>
   <define name="model.specDescLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.specDescLike_sequence">
      <empty/>
   </define>
   <define name="model.specDescLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.specDescLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.specDescLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.biblLike">
      <choice>
         <ref name="bibl"/>
         <ref name="biblStruct"/>
         <ref name="listBibl"/>
         <ref name="msDesc"/>
      </choice>
   </define>
   <define name="model.biblLike_alternation">
      <choice>
         <ref name="bibl"/>
         <ref name="biblStruct"/>
         <ref name="listBibl"/>
         <ref name="msDesc"/>
      </choice>
   </define>
   <define name="model.biblLike_sequence">
      <ref name="bibl"/>
      <ref name="biblStruct"/>
      <ref name="listBibl"/>
      <ref name="msDesc"/>
   </define>
   <define name="model.biblLike_sequenceOptional">
      <optional>
         <ref name="bibl"/>
      </optional>
      <optional>
         <ref name="biblStruct"/>
      </optional>
      <optional>
         <ref name="listBibl"/>
      </optional>
      <optional>
         <ref name="msDesc"/>
      </optional>
   </define>
   <define name="model.biblLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="bibl"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="biblStruct"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="listBibl"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="msDesc"/>
      </zeroOrMore>
   </define>
   <define name="model.biblLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="bibl"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="biblStruct"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="listBibl"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="msDesc"/>
      </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">
      <notAllowed/>
   </define>
   <define name="model.labelLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.labelLike_sequence">
      <empty/>
   </define>
   <define name="model.labelLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.labelLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.labelLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.listLike">
      <choice>
         <ref name="list"/>
      </choice>
   </define>
   <define name="model.listLike_alternation">
      <choice>
         <ref name="list"/>
      </choice>
   </define>
   <define name="model.listLike_sequence">
      <ref name="list"/>
   </define>
   <define name="model.listLike_sequenceOptional">
      <optional>
         <ref name="list"/>
      </optional>
   </define>
   <define name="model.listLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="list"/>
      </zeroOrMore>
   </define>
   <define name="model.listLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="list"/>
      </oneOrMore>
   </define>
   <define name="model.noteLike">
      <choice>
         <ref name="note"/>
      </choice>
   </define>
   <define name="model.noteLike_alternation">
      <choice>
         <ref name="note"/>
      </choice>
   </define>
   <define name="model.noteLike_sequence">
      <ref name="note"/>
   </define>
   <define name="model.noteLike_sequenceOptional">
      <optional>
         <ref name="note"/>
      </optional>
   </define>
   <define name="model.noteLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="note"/>
      </zeroOrMore>
   </define>
   <define name="model.noteLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="note"/>
      </oneOrMore>
   </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"/>
         <ref name="ab"/>
      </choice>
   </define>
   <define name="model.pLike_alternation">
      <choice>
         <ref name="p"/>
         <ref name="ab"/>
      </choice>
   </define>
   <define name="model.pLike_sequence">
      <ref name="p"/>
      <ref name="ab"/>
   </define>
   <define name="model.pLike_sequenceOptional">
      <optional>
         <ref name="p"/>
      </optional>
      <optional>
         <ref name="ab"/>
      </optional>
   </define>
   <define name="model.pLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="p"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="ab"/>
      </zeroOrMore>
   </define>
   <define name="model.pLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="p"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="ab"/>
      </oneOrMore>
   </define>
   <define name="model.stageLike">
      <notAllowed/>
   </define>
   <define name="model.stageLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.stageLike_sequence">
      <empty/>
   </define>
   <define name="model.stageLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.stageLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.stageLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.eventLike">
      <choice>
         <ref name="event"/>
      </choice>
   </define>
   <define name="model.global.edit">
      <choice>
         <ref name="gap"/>
         <ref name="space"/>
      </choice>
   </define>
   <define name="model.global.edit_alternation">
      <choice>
         <ref name="gap"/>
         <ref name="space"/>
      </choice>
   </define>
   <define name="model.global.edit_sequence">
      <ref name="gap"/>
      <ref name="space"/>
   </define>
   <define name="model.global.edit_sequenceOptional">
      <optional>
         <ref name="gap"/>
      </optional>
      <optional>
         <ref name="space"/>
      </optional>
   </define>
   <define name="model.global.edit_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="gap"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="space"/>
      </zeroOrMore>
   </define>
   <define name="model.global.edit_sequenceRepeatable">
      <oneOrMore>
         <ref name="gap"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="space"/>
      </oneOrMore>
   </define>
   <define name="model.divPart">
      <choice>
         <ref name="model.lLike"/>
         <ref name="model.pLike"/>
         <ref name="lg"/>
      </choice>
   </define>
   <define name="model.personLike">
      <notAllowed/>
   </define>
   <define name="model.placeNamePart">
      <choice>
         <ref name="placeName"/>
         <ref name="country"/>
         <ref name="settlement"/>
      </choice>
   </define>
   <define name="model.placeNamePart_alternation">
      <choice>
         <ref name="placeName"/>
         <ref name="country"/>
         <ref name="settlement"/>
      </choice>
   </define>
   <define name="model.placeNamePart_sequence">
      <ref name="placeName"/>
      <ref name="country"/>
      <ref name="settlement"/>
   </define>
   <define name="model.placeNamePart_sequenceOptional">
      <optional>
         <ref name="placeName"/>
      </optional>
      <optional>
         <ref name="country"/>
      </optional>
      <optional>
         <ref name="settlement"/>
      </optional>
   </define>
   <define name="model.placeNamePart_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="placeName"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="country"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="settlement"/>
      </zeroOrMore>
   </define>
   <define name="model.placeNamePart_sequenceRepeatable">
      <oneOrMore>
         <ref name="placeName"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="country"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="settlement"/>
      </oneOrMore>
   </define>
   <define name="model.placeStateLike">
      <choice>
         <ref name="model.placeNamePart"/>
      </choice>
   </define>
   <define name="model.placeStateLike_alternation">
      <choice>
         <ref name="model.placeNamePart_alternation"/>
      </choice>
   </define>
   <define name="model.placeStateLike_sequence">
      <ref name="model.placeNamePart_sequence"/>
   </define>
   <define name="model.placeStateLike_sequenceOptional">
      <optional>
         <ref name="model.placeNamePart_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.placeStateLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.placeNamePart_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.placeStateLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.placeNamePart_sequenceRepeatable"/>
      </oneOrMore>
   </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.attributable">
      <choice>
         <ref name="model.quoteLike"/>
      </choice>
   </define>
   <define name="model.attributable_alternation">
      <choice>
         <ref name="model.quoteLike_alternation"/>
      </choice>
   </define>
   <define name="model.attributable_sequence">
      <ref name="model.quoteLike_sequence"/>
   </define>
   <define name="model.attributable_sequenceOptional">
      <optional>
         <ref name="model.quoteLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.attributable_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.quoteLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.attributable_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.quoteLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.respLike">
      <choice>
         <ref name="author"/>
         <ref name="editor"/>
         <ref name="respStmt"/>
         <ref name="sponsor"/>
         <ref name="funder"/>
      </choice>
   </define>
   <define name="model.divWrapper">
      <notAllowed/>
   </define>
   <define name="model.divTopPart">
      <choice>
         <ref name="model.headLike"/>
      </choice>
   </define>
   <define name="model.divTop">
      <choice>
         <ref name="model.divWrapper"/>
         <ref name="model.divTopPart"/>
      </choice>
   </define>
   <define name="model.divBottomPart">
      <notAllowed/>
   </define>
   <define name="model.divBottom">
      <choice>
         <ref name="model.divWrapper"/>
         <ref name="model.divBottomPart"/>
      </choice>
   </define>
   <define name="model.titlepagePart">
      <notAllowed/>
   </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.biblLike"/>
         <ref name="model.quoteLike"/>
         <ref name="model.respLike"/>
         <ref name="model.msQuoteLike"/>
         <ref name="textLang"/>
         <ref name="idno"/>
         <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="orig"/>
         <ref name="unclear"/>
         <ref name="abbr"/>
         <ref name="expan"/>
         <ref name="seg"/>
         <ref name="supplied"/>
      </choice>
   </define>
   <define name="model.imprintPart">
      <choice>
         <ref name="publisher"/>
         <ref name="biblScope"/>
         <ref name="pubPlace"/>
      </choice>
   </define>
   <define name="model.addressLike">
      <notAllowed/>
   </define>
   <define name="model.addressLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.addressLike_sequence">
      <empty/>
   </define>
   <define name="model.addressLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.addressLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.addressLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.nameLike">
      <choice>
         <ref name="model.nameLike.agent"/>
         <ref name="model.offsetLike"/>
         <ref name="model.placeStateLike"/>
         <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="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="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="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="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="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"/>
      </choice>
   </define>
   <define name="model.biblPart">
      <choice>
         <ref name="model.respLike"/>
         <ref name="model.imprintPart"/>
         <ref name="quote"/>
         <ref name="bibl"/>
         <ref name="textLang"/>
         <ref name="extent"/>
         <ref name="availability"/>
         <ref name="msIdentifier"/>
         <ref name="explicit"/>
         <ref name="incipit"/>
         <ref name="decoNote"/>
      </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.pPart.data_alternation">
      <choice>
         <ref name="model.dateLike_alternation"/>
         <ref name="model.measureLike_alternation"/>
         <ref name="model.addressLike_alternation"/>
         <ref name="model.nameLike_alternation"/>
      </choice>
   </define>
   <define name="model.pPart.data_sequence">
      <ref name="model.dateLike_sequence"/>
      <ref name="model.measureLike_sequence"/>
      <ref name="model.addressLike_sequence"/>
      <ref name="model.nameLike_sequence"/>
   </define>
   <define name="model.pPart.data_sequenceOptional">
      <optional>
         <ref name="model.dateLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.measureLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.addressLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.nameLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.pPart.data_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.dateLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.measureLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.addressLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.nameLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.pPart.data_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.dateLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.measureLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.addressLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.nameLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.inter">
      <choice>
         <ref name="model.egLike"/>
         <ref name="model.oddDecl"/>
         <ref name="model.biblLike"/>
         <ref name="model.labelLike"/>
         <ref name="model.listLike"/>
         <ref name="model.stageLike"/>
         <ref name="model.attributable"/>
      </choice>
   </define>
   <define name="model.cmc">
      <notAllowed/>
   </define>
   <define name="model.common">
      <choice>
         <ref name="model.divPart"/>
         <ref name="model.inter"/>
         <ref name="model.cmc"/>
      </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.phrase.xml"/>
         <ref name="model.specDescLike"/>
         <ref name="model.pPart.data"/>
      </choice>
   </define>
   <define name="model.paraPart">
      <choice>
         <ref name="model.gLike"/>
         <ref name="model.lLike"/>
         <ref name="model.global"/>
         <ref name="model.inter"/>
         <ref name="model.phrase"/>
         <ref name="lg"/>
      </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.phrase.xml"/>
         <ref name="model.pPart.data"/>
      </choice>
   </define>
   <define name="model.divLike">
      <notAllowed/>
   </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.encodingDescPart">
      <choice>
         <ref name="schemaRef"/>
         <ref name="editorialDecl"/>
         <ref name="tagsDecl"/>
         <ref name="styleDefDecl"/>
         <ref name="charDecl"/>
      </choice>
   </define>
   <define name="model.editorialDeclPart">
      <notAllowed/>
   </define>
   <define name="att.locatable.attributes">
      <ref name="att.locatable.attribute.where"/>
   </define>
   <define name="att.locatable.attribute.where">
      <optional>
         <attribute name="where">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates one or more locations by pointing to a <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;place&gt;</code> element or other canonical description.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="model.resource">
      <choice>
         <ref name="text"/>
      </choice>
   </define>
   <define name="model.objectLike">
      <notAllowed/>
   </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>(yes) 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">(sort) specifies the sort order of the name component in relation to others within the name.</a:documentation>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="model.placeLike">
      <notAllowed/>
   </define>
   <define name="att.calendarSystem.attributes">
      <ref name="att.calendarSystem.attribute.calendar"/>
   </define>
   <define name="att.calendarSystem.attribute.calendar">
      <optional>
         <attribute name="calendar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates one or more systems or calendars to which the date represented by the content of this element belongs.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.calendarSystem-calendar-calendar_attr_on_empty_element-constraint-rule-12">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@calendar]">
         <sch:assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more
              systems or calendars 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.milestoneUnit.attributes">
      <ref name="att.milestoneUnit.attribute.unit"/>
   </define>
   <define name="att.milestoneUnit.attribute.unit">
      <attribute name="unit">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a conventional name for the kind of section changing at this milestone.
Suggested values include: 1] page; 2] column; 3] line; 4] book; 5] poem; 6] canto; 7] speaker; 8] stanza; 9] act; 10] scene; 11] section; 12] absent; 13] unnumbered</a:documentation>
         <choice>
            <value>page</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">physical page beginnings (synonymous with the <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;pb&gt;</code> element).</a:documentation>
            <value>column</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">column beginnings.</a:documentation>
            <value>line</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">line beginnings (synonymous with the <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;lb&gt;</code> element).</a:documentation>
            <value>book</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">any units termed book, liber, etc.</a:documentation>
            <value>poem</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">individual poems in a collection.</a:documentation>
            <value>canto</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cantos or other major sections of a poem.</a:documentation>
            <value>speaker</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">changes of speaker or narrator.</a:documentation>
            <value>stanza</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stanzas within a poem, book, or canto.</a:documentation>
            <value>act</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">acts within a play.</a:documentation>
            <value>scene</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">scenes within a play or act.</a:documentation>
            <value>section</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sections of any kind.</a:documentation>
            <value>absent</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">passages not present in the reference edition.</a:documentation>
            <value>unnumbered</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">passages present in the text, but not to be included as part of the reference.</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </choice>
      </attribute>
   </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. Paragraphs 7.2.5. Speech Contents]</a:documentation>
         <ref name="macro.paraContent"/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-p-abstractModel-structure-p-in-ab-or-p-constraint-rule-13">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      context="tei:p">
               <sch:report test="(ancestor::tei:ab or ancestor::tei:p) and                        not( ancestor::tei:floatingText                           | parent::tei:exemplum                           | parent::tei:item                           | parent::tei:note                           | parent::tei:q                           | parent::tei:quote                           | parent::tei:remarks                           | parent::tei:said                           | parent::tei:sp                           | parent::tei:stage                           | parent::tei:cell                           | parent::tei:figure )">
          Abstract model violation: Paragraphs may not occur inside other paragraphs or ab elements.
        </sch:report>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-p-abstractModel-structure-p-in-l-constraint-rule-14">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      context="tei:l//tei:p">
               <sch:assert test="ancestor::tei:floatingText | parent::tei:figure | parent::tei:note">
          Abstract model violation: Metrical lines may not contain higher-level structural elements such as div, p, or ab, unless p is a child of figure or note, or is a descendant of floatingText.
        </sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.fragmentable.attributes"/>
         <ref name="att.written.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. Emphatic Words and Phrases 3.3.2. Emphasis, Foreign Words, and Unusual Language]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.written.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. Quotation 4.3.1. Grouped Texts]</a:documentation>
         <ref name="macro.specialPara"/>
         <ref name="att.global.attribute.xmlid"/>
         <ref name="att.global.attribute.xmllang"/>
         <ref name="att.global.attribute.xmlbase"/>
         <ref name="att.global.attribute.xmlspace"/>
         <ref name="att.global.linking.attribute.sameAs"/>
         <ref name="att.global.linking.attribute.next"/>
         <ref name="att.global.linking.attribute.prev"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.typed.attributes"/>
         <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. Quotation 4.3.1. Grouped Texts 10.3.5.1. Examples]</a:documentation>
         <ref name="quote"/>
         <group>
            <zeroOrMore>
               <ref name="note"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="bibl"/>
            </zeroOrMore>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.typed.attribute.subtype"/>
         <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>
            <choice>
               <value>verbatim</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>paraphrase</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="term">
      <element name="term">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(term) contains a single-word, multi-word, or symbolic designation which is regarded as a technical term. [3.4.1. Terms and Glosses]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cReferencing.attributes"/>
         <ref name="att.canonical.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.sortable.attributes"/>
         <ref name="att.typed.attributes"/>
         <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.5.1. Apparent Errors]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <empty/>
      </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.5.1. Apparent Errors]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.editLike.attributes"/>
         <ref name="att.global.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="choice">
      <element name="choice">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(choice) groups a number of alternative encodings for the same point in a text. [3.5. Simple Editorial Changes]</a:documentation>
         <choice>
            <ref name="model.choicePart"/>
            <ref name="choice"/>
         </choice>
         <choice>
            <ref name="model.choicePart"/>
            <ref name="choice"/>
         </choice>
         <zeroOrMore>
            <choice>
               <ref name="model.choicePart"/>
               <ref name="choice"/>
            </choice>
         </zeroOrMore>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <empty/>
      </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.5.2. Regularization and
Normalization 13. Critical Apparatus]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <empty/>
      </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.5.3. Additions, Deletions, and Omissions]</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.descLike"/>
               <ref name="model.certLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <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"/>
         <ref name="att.editLike.attributes"/>
         <ref name="att.timed.attributes"/>
         <optional>
            <attribute name="unit">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>character</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The unit to be measured is a character.</a:documentation>
                  <value>line</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The unit to be measured is a line.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="reason">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>lost</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The material is entirely gone, i.e. there is no physical carrier to bear text information any more.</a:documentation>
                  <value>cancelled</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The scribe or sculptor stopped the further execution of the text.</a:documentation>
                  <value>omitted</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The material is entirely gone, i.e. there is no physical carrier to bear text information any more.</a:documentation>
                  <value>unknown</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the type of gap is unknown.</a:documentation>
                  <value>damage</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Any physical harm to the surface that entirely ereases information.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="agent">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(agent) 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 (rubbing); 2] mildew (mildew); 3] smoke (smoke)</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="add">
      <element name="add">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(addition) contains letters, words, or phrases inserted in the source text by an author, scribe, or a previous annotator or corrector. [3.5.3. Additions, Deletions, and Omissions]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.dimensions.attributes"/>
         <ref name="att.transcriptional.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="del">
      <element name="del">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(deletion) contains a letter, word, or passage deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, or a previous annotator or corrector. [3.5.3. Additions, Deletions, and Omissions]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.placement.attribute.place"/>
         <optional>
            <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                       name="rend"
                       a:defaultValue="strikethrough">
               <a:documentation>(rendition) indicates how the element in question was rendered or presented in the source text.
Sample values include: 1] strikethrough</a:documentation>
               <list>
                  <oneOrMore>
                     <data type="token">
                        <param name="pattern">[^\p{C}\p{Z}]+</param>
                     </data>
                  </oneOrMore>
               </list>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="unclear">
      <element name="unclear">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unclear) contains a word, phrase, or passage which cannot be transcribed with certainty because it is illegible or inaudible in the source. [12.3.3.1. Damage, Illegibility, and Supplied Text 3.5.3. Additions, Deletions, and Omissions]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.dimensions.attributes"/>
         <ref name="att.editLike.attributes"/>
         <optional>
            <attribute name="reason">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>damage</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">One or more glyphs are damaged and therefore not clearly readably.</a:documentation>
                  <value>illegible</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(illegible)</a:documentation>
                  <value>faded</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(faded)</a:documentation>
                  <value>eccentric_ductus</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(eccentric ductus) indicates illegibility due to an unusual, awkward, or incompetent execution of a glyph or glyphs</a:documentation>
               </choice>
            </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>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="date">
      <element name="date">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(date) contains a date in any format. [3.6.4. Dates and Times 2.2.4. Publication, Distribution, Licensing, etc. 2.6. The Revision Description 3.12.2.4. Imprint, Size of a Document, and Reprint Information 16.2.3. The Setting Description 14.4. Dates]</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.calendarSystem.attributes"/>
         <ref name="att.canonical.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.dimensions.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.6.5. Abbreviations and Their Expansions]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.typed.attribute.subtype"/>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(type) allows the encoder to classify the abbreviation according to some convenient typology.
Sample values include: 1] suspension (suspension); 2] contraction (contraction); 3] brevigraph; 4] superscription (superscription); 5] acronym (acronym); 6] title (title); 7] organization (organization); 8] geographic (geographic)</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </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.6.5. Abbreviations and Their Expansions]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.editLike.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="ref">
      <element name="ref">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference) defines a reference to another location, possibly modified by additional text or comment. [3.7. Simple Links and Cross-References 17.1. Links]</a:documentation>
         <ref name="macro.paraContent"/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-ref-refAtts-constraint-rule-15">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      context="tei:ref">
               <sch:report test="@target and @cRef">Only one of the attributes @target and @cRef may be supplied on <sch:name/>.</sch:report>
            </sch:rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.cReferencing.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.internetMedia.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.typed.attributes"/>
         <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.8. Lists]</a:documentation>
         <group>
            <zeroOrMore>
               <choice>
                  <ref name="model.divTop"/>
                  <ref name="model.global"/>
               </choice>
            </zeroOrMore>
            <choice>
               <oneOrMore>
                  <ref name="item"/>
                  <zeroOrMore>
                     <ref name="model.global"/>
                  </zeroOrMore>
               </oneOrMore>
               <group>
                  <oneOrMore>
                     <zeroOrMore>
                        <ref name="model.global"/>
                     </zeroOrMore>
                     <ref name="item"/>
                     <zeroOrMore>
                        <ref name="model.global"/>
                     </zeroOrMore>
                  </oneOrMore>
               </group>
            </choice>
            <zeroOrMore>
               <ref name="model.divBottom"/>
               <zeroOrMore>
                  <ref name="model.global"/>
               </zeroOrMore>
            </zeroOrMore>
         </group>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-list-gloss-list-must-have-labels-constraint-rule-16">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      context="tei:list[@type='gloss']">
               <sch:assert test="tei:label">The content of a "gloss" list should include a sequence of one or more pairs of a label element followed by an item element</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.sortable.attributes"/>
         <ref name="att.typed.attribute.subtype"/>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(type) describes the nature of the items in the list.
Suggested values include: 1] gloss (gloss); 2] index (index); 3] instructions (instructions); 4] litany (litany); 5] syllogism (syllogism)</a:documentation>
               <choice>
                  <value>gloss</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(gloss) each list item glosses some term or concept, which is given by a <code xmlns="http://www.w3.org/1999/xhtml"
                           xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;label&gt;</code> element preceding the list item.</a:documentation>
                  <value>index</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(index) each list item is an entry in an index such as the alphabetical topical index at the back of a print volume.</a:documentation>
                  <value>instructions</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(instructions) each list item is a step in a sequence of instructions, as in a recipe.</a:documentation>
                  <value>litany</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(litany) each list item is one of a sequence of petitions, supplications or invocations, typically in a religious ritual.</a:documentation>
                  <value>syllogism</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(syllogism) each list item is part of an argument consisting of two or more propositions and a final conclusion derived from them.</a:documentation>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="item">
      <element name="item">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(item) contains one component of a list. [3.8. Lists 2.6. The Revision Description]</a:documentation>
         <ref name="macro.specialPara"/>
         <ref name="att.global.attributes"/>
         <ref name="att.sortable.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. Headings and Trailers]</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.cmc.attributes"/>
         <ref name="att.placement.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.written.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="note">
      <element name="note">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(note) contains a note or annotation. [3.9.1. Notes and Simple Annotation 2.2.6. The Notes Statement 3.12.2.8. Notes and Statement of Language 10.3.5.4. Notes within Entries]</a:documentation>
         <ref name="macro.specialPara"/>
         <ref name="att.global.attribute.xmlid"/>
         <ref name="att.global.attribute.xmllang"/>
         <ref name="att.global.attribute.xmlbase"/>
         <ref name="att.global.attribute.xmlspace"/>
         <ref name="att.global.linking.attribute.corresp"/>
         <ref name="att.global.responsibility.attribute.resp"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.written.attributes"/>
         <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>
               <choice>
                  <value>parallel-text</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  <value>original-phrase</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  <value>manuscript_page_beginning</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="milestone">
      <element name="milestone">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(milestone) 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.11.3. Milestone
Elements]</a:documentation>
         <empty/>
         <ref name="att.global.attributes"/>
         <ref name="att.breaking.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.edition.attributes"/>
         <ref name="att.milestoneUnit.attributes"/>
         <ref name="att.spanning.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pb">
      <element name="pb">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page beginning) marks the beginning of a new page in a paginated document. [3.11.3. Milestone
Elements]</a:documentation>
         <empty/>
         <ref name="att.global.attributes"/>
         <ref name="att.breaking.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.edition.attributes"/>
         <ref name="att.spanning.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="lb">
      <element name="lb">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(line beginning) marks the beginning of a topographic line in some edition or version of a text. [3.11.3. Milestone
Elements 7.2.5. Speech Contents]</a:documentation>
         <empty/>
         <ref name="att.global.attribute.xmlid"/>
         <ref name="att.cmc.attributes"/>
         <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>
            <choice>
               <value>no</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="cb">
      <element name="cb">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(column beginning) marks the beginning of a new column of a text on a multi-column page. [3.11.3. Milestone
Elements]</a:documentation>
         <empty/>
         <ref name="att.global.attributes"/>
         <ref name="att.breaking.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.edition.attributes"/>
         <ref name="att.spanning.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="analytic">
      <element name="analytic">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(analytic level) contains bibliographic elements describing an item (e.g. an article or poem) published within a monograph or journal and not as an independent publication. [3.12.2.1. Analytic, Monographic, and Series Levels]</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="author"/>
               <ref name="editor"/>
               <ref name="respStmt"/>
               <ref name="title"/>
               <ref name="model.ptrLike"/>
               <ref name="date"/>
               <ref name="textLang"/>
               <ref name="idno"/>
               <ref name="availability"/>
            </choice>
         </zeroOrMore>
         <ref name="att.global.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.12.2.1. Analytic, Monographic, and Series Levels]</a:documentation>
         <group>
            <optional>
               <choice>
                  <group>
                     <choice>
                        <ref name="author"/>
                        <ref name="editor"/>
                        <ref name="respStmt"/>
                     </choice>
                     <zeroOrMore>
                        <choice>
                           <ref name="author"/>
                           <ref name="editor"/>
                           <ref name="respStmt"/>
                        </choice>
                     </zeroOrMore>
                     <oneOrMore>
                        <ref name="title"/>
                     </oneOrMore>
                     <zeroOrMore>
                        <choice>
                           <ref name="model.ptrLike"/>
                           <ref name="idno"/>
                           <ref name="textLang"/>
                           <ref name="editor"/>
                           <ref name="respStmt"/>
                        </choice>
                     </zeroOrMore>
                  </group>
                  <group>
                     <oneOrMore>
                        <choice>
                           <ref name="title"/>
                           <ref name="model.ptrLike"/>
                           <ref name="idno"/>
                        </choice>
                     </oneOrMore>
                     <zeroOrMore>
                        <choice>
                           <ref name="textLang"/>
                           <ref name="author"/>
                           <ref name="editor"/>
                           <ref name="respStmt"/>
                        </choice>
                     </zeroOrMore>
                  </group>
                  <group>
                     <ref name="authority"/>
                     <ref name="idno"/>
                  </group>
               </choice>
            </optional>
            <zeroOrMore>
               <ref name="availability"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.noteLike"/>
            </zeroOrMore>
            <zeroOrMore>
               <choice>
                  <ref name="idno"/>
                  <ref name="model.ptrLike"/>
                  <ref name="editor"/>
                  <ref name="sponsor"/>
                  <ref name="funder"/>
                  <ref name="respStmt"/>
               </choice>
            </zeroOrMore>
            <ref name="imprint"/>
            <zeroOrMore>
               <choice>
                  <ref name="imprint"/>
                  <ref name="extent"/>
                  <ref name="biblScope"/>
               </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">(author) 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.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.datable.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.12.2.2. Titles, Authors, and Editors]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.naming.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="respStmt">
      <element name="respStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(statement of responsibility) supplies a statement of responsibility for the intellectual content of a text, edition, recording, or series, where the specialized elements for authors, editors, etc. do not suffice or do not apply. May also be used to encode information about individuals or organizations which have played a role in the production or distribution of a bibliographic work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement]</a:documentation>
         <group>
            <choice>
               <group>
                  <oneOrMore>
                     <ref name="resp"/>
                  </oneOrMore>
                  <oneOrMore>
                     <ref name="model.nameLike.agent"/>
                  </oneOrMore>
               </group>
               <group>
                  <oneOrMore>
                     <ref name="model.nameLike.agent"/>
                  </oneOrMore>
                  <oneOrMore>
                     <ref name="resp"/>
                  </oneOrMore>
               </group>
            </choice>
            <zeroOrMore>
               <ref name="note"/>
            </zeroOrMore>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.canonical.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="resp">
      <element name="resp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsibility) contains a phrase describing the nature of a person's intellectual responsibility, or an organization's role in the production or distribution of a work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement]</a:documentation>
         <ref name="macro.phraseSeq.limited"/>
         <ref name="att.global.attributes"/>
         <ref name="att.canonical.attributes"/>
         <ref name="att.datable.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="title">
      <element name="title">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title) contains a title for any kind of work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.5. The Series Statement]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.global.attributes"/>
         <ref name="att.canonical.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.typed.attribute.subtype"/>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <choice>
               <value>main</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title) the main title of a resource</a:documentation>
               <value>alt</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternative title) an alternative title of a resource</a:documentation>
               <value>sub</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(subordinate title) subtitle, title of part</a:documentation>
               <value>short</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(short title) abbreviated title of a resource</a:documentation>
            </choice>
         </attribute>
         <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) the title applies to an analytic item, such as an article, poem, or other work 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) the title applies to a monograph such as a book or other item considered to be a distinct publication, 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) the title applies to any serial or periodical publication such as a journal, magazine, or newspaper</a:documentation>
                  <value>s</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series) the title applies to a series of otherwise distinct publications such as a collection</a:documentation>
                  <value>u</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unpublished) the title applies to any 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.12.2.4. Imprint, Size of a Document, and Reprint Information]</a:documentation>
         <group>
            <zeroOrMore>
               <empty/>
            </zeroOrMore>
            <oneOrMore>
               <choice>
                  <ref name="model.imprintPart"/>
                  <ref name="model.dateLike"/>
               </choice>
               <zeroOrMore>
                  <ref name="respStmt"/>
               </zeroOrMore>
               <zeroOrMore>
                  <ref name="model.global"/>
               </zeroOrMore>
            </oneOrMore>
         </group>
         <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">(publisher) provides the name of the organization responsible for the publication or distribution of a bibliographic item. [3.12.2.4. Imprint, Size of a Document, and Reprint Information 2.2.4. Publication, Distribution, Licensing, etc.]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.canonical.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="biblScope">
      <element name="biblScope">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(scope of bibliographic reference) defines the scope of a bibliographic reference, for example as a list of page numbers, or a named subdivision of a larger work. [3.12.2.5. Scopes and Ranges in Bibliographic Citations]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.citing.attributes"/>
         <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.12.2.4. Imprint, Size of a Document, and Reprint Information]</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.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2.7. The Source Description 16.3.2. Declarable Elements]</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>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      is-a="declarable">
            <sch:param name="tde" value="tei:bibl"/>
         </sch:pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.canonical.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.declarable.attributes"/>
         <ref name="att.docStatus.attributes"/>
         <ref name="att.sortable.attributes"/>
         <ref name="att.typed.attribute.subtype"/>
         <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>
               <choice>
                  <value>provided-by-editor</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               </choice>
            </attribute>
         </optional>
         <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.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2.7. The Source Description 16.3.2. Declarable Elements]</a:documentation>
         <group>
            <zeroOrMore>
               <ref name="analytic"/>
            </zeroOrMore>
            <oneOrMore>
               <ref name="monogr"/>
            </oneOrMore>
            <zeroOrMore>
               <choice>
                  <ref name="model.noteLike"/>
                  <ref name="model.ptrLike"/>
               </choice>
            </zeroOrMore>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      is-a="declarable">
            <sch:param name="tde" value="tei:biblStruct"/>
         </sch:pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.canonical.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.declarable.attributes"/>
         <ref name="att.docStatus.attributes"/>
         <ref name="att.sortable.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="listBibl">
      <element name="listBibl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(citation list) contains a list of bibliographic citations of any kind. [3.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2.7. The Source Description 16.3.2. Declarable Elements]</a:documentation>
         <group>
            <zeroOrMore>
               <ref name="model.headLike"/>
            </zeroOrMore>
            <zeroOrMore>
               <choice>
                  <ref name="model.milestoneLike"/>
               </choice>
            </zeroOrMore>
            <oneOrMore>
               <oneOrMore>
                  <ref name="model.biblLike"/>
               </oneOrMore>
               <zeroOrMore>
                  <choice>
                     <ref name="model.milestoneLike"/>
                  </choice>
               </zeroOrMore>
            </oneOrMore>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      is-a="declarable">
            <sch:param name="tde" value="tei:listBibl"/>
         </sch:pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.declarable.attributes"/>
         <ref name="att.sortable.attributes"/>
         <ref name="att.typed.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.13.1. Core Tags for Verse 3.13. Passages of Verse or Drama 7.2.5. Speech Contents]</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.gLike"/>
               <ref name="model.phrase"/>
               <ref name="model.inter"/>
               <ref name="model.global"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-l-abstractModel-structure-l-in-l-constraint-rule-17">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      context="tei:l">
               <sch:report test="ancestor::tei:l[not(.//tei:note//tei:l[. = current()])]">Abstract model violation: Lines may not contain lines or lg elements.</sch:report>
            </sch:rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.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.13.1. Core Tags for Verse 3.13. Passages of Verse or Drama 7.2.5. Speech Contents]</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="model.pPart.transcriptional"/>
               <ref name="lg"/>
            </choice>
            <zeroOrMore>
               <choice>
                  <ref name="model.lLike"/>
                  <ref name="model.stageLike"/>
                  <ref name="model.labelLike"/>
                  <ref name="model.pPart.transcriptional"/>
                  <ref name="model.global"/>
                  <ref name="lg"/>
               </choice>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.divBottom"/>
               <zeroOrMore>
                  <ref name="model.global"/>
               </zeroOrMore>
            </zeroOrMore>
         </group>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-lg-atleast1oflggapl-constraint-rule-18">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      context="tei:lg">
               <sch:assert 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>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-lg-abstractModel-structure-lg-in-l-constraint-rule-19">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      context="tei:lg">
               <sch:report test="ancestor::tei:l[not(.//tei:note//tei:lg[. = current()])]">Abstract model violation: Lines may not contain line groups.</sch:report>
            </sch:rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.divLike.attributes"/>
         <ref name="att.typed.attribute.subtype"/>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>colophon</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(colophon) Inline colophon.</a:documentation>
               </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.12.2.4. Imprint, Size of a Document, and Reprint Information 11.6.6. Languages and Writing Systems]</a:documentation>
         <ref name="macro.specialPara"/>
         <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>
               <choice>
                  <data type="language"/>
                  <choice>
                     <value/>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  </choice>
               </choice>
            </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>
                     <choice>
                        <data type="language"/>
                        <choice>
                           <value/>
                           <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                        </choice>
                     </choice>
                  </zeroOrMore>
               </list>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="att.citeStructurePart.attributes">
      <ref name="att.citeStructurePart.attribute.use"/>
   </define>
   <define name="att.citeStructurePart.attribute.use">
      <attribute name="use">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(use) supplies an XPath selection pattern using the syntax defined in . The XPath pattern is relative to the context given in <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">@match</code>, which will either be a sibling attribute in the case of `&lt;citeStructure&gt;` or on the parent `&lt;citeStructure&gt;` in the case of `&lt;citeData&gt;`.</a:documentation>
         <text/>
      </attribute>
   </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>
         <data type="token"/>
      </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, that is, the skeleton of a relative or absolute URI containing references to groups in the <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">@matchPattern</code> which, once subpattern substitution has been performed, complete the URI.</a:documentation>
         <text/>
      </attribute>
   </define>
   <define name="teiHeader">
      <element name="teiHeader">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI header) supplies descriptive and declarative metadata associated with a digital resource or set of resources. [2.1.1. The TEI Header and Its Components 16.1. Varieties of Composite Text]</a:documentation>
         <group>
            <ref name="fileDesc"/>
            <zeroOrMore>
               <ref name="model.teiHeaderPart"/>
            </zeroOrMore>
            <optional>
               <ref name="revisionDesc"/>
            </optional>
         </group>
         <ref name="att.global.attributes"/>
         <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. The File Description 2.1.1. The TEI Header and Its Components]</a:documentation>
         <group>
            <group>
               <ref name="titleStmt"/>
               <optional>
                  <ref name="extent"/>
               </optional>
               <ref name="publicationStmt"/>
               <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. The Title Statement 2.2. The File Description]</a:documentation>
         <group>
            <oneOrMore>
               <ref name="title"/>
            </oneOrMore>
            <zeroOrMore>
               <ref name="model.respLike"/>
            </zeroOrMore>
         </group>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-titleStmt-titleMandatoryMain-constraint-rule-20">
            <rule xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                  xmlns:xi="http://www.w3.org/2001/XInclude"
                  context="tei:titleStmt">
               <assert test="tei:title[@type='main']"> error titleStmt.maintitle.1: The
                    titleStmt must contain a main title (tei:title[@type="main"])!
                </assert>
            </rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="sponsor">
      <element name="sponsor">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(sponsor) specifies the name of a sponsoring organization or institution. [2.2.1. The Title Statement]</a:documentation>
         <ref name="macro.phraseSeq.limited"/>
         <ref name="att.global.attributes"/>
         <ref name="att.canonical.attributes"/>
         <ref name="att.datable.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="funder">
      <element name="funder">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(funding body) specifies the name of an individual, institution, or organization responsible for the funding of a project or text. [2.2.1. The Title Statement]</a:documentation>
         <ref name="macro.phraseSeq.limited"/>
         <ref name="att.global.attributes"/>
         <ref name="att.canonical.attributes"/>
         <ref name="att.datable.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="extent">
      <element name="extent">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(extent) 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. Type and Extent of File 2.2. The File Description 3.12.2.4. Imprint, Size of a Document, and Reprint Information 11.7.1. Object Description]</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. Publication, Distribution, Licensing, etc. 2.2. The File Description]</a:documentation>
         <group>
            <ref name="authority"/>
            <ref name="availability"/>
         </group>
         <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. Publication, Distribution, Licensing, etc.]</a:documentation>
         <ref name="macro.phraseSeq.limited"/>
         <ref name="att.global.attributes"/>
         <ref name="att.canonical.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. [14.3.1. Basic Principles 2.2.4. Publication, Distribution, Licensing, etc. 2.2.5. The Series Statement 3.12.2.4. Imprint, Size of a Document, and Reprint Information]</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.gLike"/>
               <ref name="idno"/>
            </choice>
         </zeroOrMore>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.sortable.attributes"/>
         <ref name="att.typed.attribute.subtype"/>
         <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.
Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] OCLC</a:documentation>
               <choice>
                  <value>ISBN</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">International Standard Book Number: a 13- or (if assigned prior to 2007) 10-digit identifying number assigned by the publishing industry to a published book or similar item, registered with the <a xmlns="http://www.w3.org/1999/xhtml"
                        xmlns:rng="http://relaxng.org/ns/structure/1.0"
                        href="https://www.isbn-international.org"> International ISBN Agency.</a>
                  </a:documentation>
                  <value>ISSN</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">International Standard Serial Number: an eight-digit number to uniquely identify a serial publication.</a:documentation>
                  <value>DOI</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Digital Object Identifier: a unique string of letters and numbers assigned to an electronic document.</a:documentation>
                  <value>URI</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Uniform Resource Identifier: a string of characters to uniquely identify a resource, following the syntax of <a xmlns="http://www.w3.org/1999/xhtml"
                        xmlns:rng="http://relaxng.org/ns/structure/1.0"
                        href="https://datatracker.ietf.org/doc/html/rfc3986">RFC 3986</a>.</a:documentation>
                  <value>VIAF</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A data number in the Virtual Internet Authority File assigned to link different names in catalogs around the world for the same entity.</a:documentation>
                  <value>ESTC</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">English Short-Title Catalogue number: an identifying number assigned to a document in English printed in the British Isles or North America before 1801.</a:documentation>
                  <value>OCLC</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">OCLC control number (record number) for the union catalog record in WorldCat, a union catalog for member libraries in the Online Computer Library Center global cooperative.</a:documentation>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="availability">
      <element name="availability">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(availability) 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. Publication, Distribution, Licensing, etc.]</a:documentation>
         <group>
            <rng:optional xmlns:rng="http://relaxng.org/ns/structure/1.0">
               <rng:ref name="ab"/>
            </rng:optional>
            <ref name="licence"/>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      is-a="declarable">
            <sch:param name="tde" value="tei:availability"/>
         </sch:pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.declarable.attributes"/>
         <optional>
            <attribute name="status">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(status) supplies a code identifying the current availability of the text.</a:documentation>
               <choice>
                  <value>free</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(free) the text is freely available.</a:documentation>
                  <value>unknown</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unknown) the status of the text is unknown.</a:documentation>
                  <value>restricted</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(restricted) 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. Publication, Distribution, Licensing, etc.]</a:documentation>
         <ref name="macro.specialPara"/>
         <ref name="att.global.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.pointing.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. The Notes Statement 2.2. The File Description]</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="model.noteLike"/>
            </choice>
         </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(s) 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. The Source Description]</a:documentation>
         <group>
            <optional>
               <ref name="msDesc"/>
            </optional>
            <zeroOrMore>
               <choice>
                  <optional>
                     <ref name="biblStruct"/>
                  </optional>
                  <zeroOrMore>
                     <ref name="listBibl"/>
                  </zeroOrMore>
                  <ref name="model.listLike"/>
               </choice>
            </zeroOrMore>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      is-a="declarable">
            <sch:param name="tde" value="tei:sourceDesc"/>
         </sch:pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.declarable.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. The Encoding Description 2.1.1. The TEI Header and Its Components]</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="model.encodingDescPart"/>
               <ref name="model.pLike"/>
            </choice>
         </oneOrMore>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="schemaRef">
      <element name="schemaRef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(schema reference) describes or points to a related customization or schema file. [2.3.10. The Schema Specification]</a:documentation>
         <optional>
            <ref name="model.descLike"/>
         </optional>
         <ref name="att.global.attributes"/>
         <ref name="att.resourced.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="key">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the identifier used for the customization or schema.</a:documentation>
               <data type="NCName"/>
            </attribute>
         </optional>
         <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. The Editorial Practices Declaration 2.3. The Encoding Description 16.3.2. Declarable Elements]</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="model.pLike"/>
               <ref name="model.editorialDeclPart"/>
            </choice>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      is-a="declarable">
            <sch:param name="tde" value="tei:editorialDecl"/>
         </sch:pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.declarable.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="tagsDecl">
      <element name="tagsDecl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tagging declaration) provides detailed information about the tagging applied to a document. [2.3.4. The Tagging Declaration 2.3. The Encoding Description]</a:documentation>
         <group>
            <zeroOrMore>
               <ref name="rendition"/>
            </zeroOrMore>
         </group>
         <ref name="att.global.attributes"/>
         <optional>
            <attribute name="partial">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether the element types listed exhaustively include all those found within <code xmlns="http://www.w3.org/1999/xhtml"
                        xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;text&gt;</code>, or represent only a subset.</a:documentation>
               <data type="boolean"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="rendition">
      <element name="rendition">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rendition) supplies information about the rendition or appearance of one or more elements in the source text. [2.3.4. The Tagging Declaration]</a:documentation>
         <ref name="macro.limitedContent"/>
         <ref name="att.global.attributes"/>
         <ref name="att.styleDef.attributes"/>
         <optional>
            <attribute name="scope">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">where CSS is used, provides a way of defining pseudo-elements, that is, styling rules applicable to specific sub-portions of an element.
Sample values include: 1] first-line; 2] first-letter; 3] before; 4] after</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="selector">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a selector or series of selectors specifying the elements to which the contained style description applies, expressed in the language specified in the <code xmlns="http://www.w3.org/1999/xhtml"
                        xmlns:rng="http://relaxng.org/ns/structure/1.0">@scheme</code> attribute.</a:documentation>
               <data type="string"/>
            </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. The specific version of the scheme may also be supplied. [2.3.5. The Default Style Definition Language Declaration]</a:documentation>
         <zeroOrMore>
            <ref name="model.pLike"/>
         </zeroOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      is-a="declarable">
            <sch:param name="tde" value="tei:styleDefDecl"/>
         </sch:pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.declarable.attributes"/>
         <ref name="att.styleDef.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="citeStructure">
      <element name="citeStructure">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(citation structure) declares a structure and method for citing the current document. [3.11.4. Declaring Reference Systems 17.2.5.4. Citation Structures]</a:documentation>
         <group>
            <zeroOrMore>
               <ref name="citeData"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="citeStructure"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.descLike"/>
            </zeroOrMore>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.citeStructurePart.attributes"/>
         <optional>
            <attribute name="delim">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(delimiter) supplies a delimiting string preceding the structural component.</a:documentation>
               <data type="string">
                  <param name="pattern">.+</param>
               </data>
            </attribute>
         </optional>
         <attribute name="match">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(match) supplies an XPath selection pattern using the syntax defined in  which identifies a set of nodes which are citable structural components. The expression may be absolute (beginning with `/`) or relative. <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@match</code> on a <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;citeStructure&gt;</code> without a <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;citeStructure&gt;</code> parent must be an absolute XPath. If it is relative, its context is set by the <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@match</code> of the parent <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;citeStructure&gt;</code>.</a:documentation>
            <text/>
         </attribute>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-citeStructure-match-citestructure-outer-match-constraint-rule-21">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:citeStructure[not(parent::tei:citeStructure)]">
               <sch:assert test="starts-with(@match,'/')">An XPath in @match on the outer <sch:name/> must start with '/'.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-citeStructure-match-citestructure-inner-match-constraint-rule-22">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:citeStructure[parent::tei:citeStructure]">
               <sch:assert test="not(starts-with(@match,'/'))">An XPath in @match must not start with '/' except on the outer <sch:name/>.</sch:assert>
            </sch:rule>
         </pattern>
         <optional>
            <attribute name="unit">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unit) describes the structural unit indicated by the <code xmlns="http://www.w3.org/1999/xhtml"
                        xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;citeStructure&gt;</code>.
Sample values include: 1] book; 2] chapter; 3] entry; 4] poem; 5] letter; 6] line; 7] section; 8] verse; 9] volume</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="citeData">
      <element name="citeData">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(citation data) specifies how information may be extracted from citation structures. [3.11.4. Declaring Reference Systems 17.2.5.4. Citation Structures]</a:documentation>
         <empty/>
         <ref name="att.global.attributes"/>
         <ref name="att.citeStructurePart.attributes"/>
         <attribute name="property">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(property) A URI indicating a property definition.</a:documentation>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </attribute>
         <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. The Profile Description 2.1.1. The TEI Header and Its Components]</a:documentation>
         <group>
            <ref name="abstract"/>
            <ref name="textClass"/>
            <ref name="langUsage"/>
         </group>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="abstract">
      <element name="abstract">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a summary or formal abstract prefixed to an existing source document by the encoder. [2.4.4. Abstracts]</a:documentation>
         <oneOrMore>
            <ref name="p"/>
         </oneOrMore>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="langUsage">
      <element name="langUsage">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language usage) describes the languages, sublanguages, registers, dialects, etc. represented within a text. [2.4.2. Language Usage 2.4. The Profile Description 16.3.2. Declarable Elements]</a:documentation>
         <choice>
            <oneOrMore>
               <ref name="model.pLike"/>
            </oneOrMore>
            <oneOrMore>
               <ref name="language"/>
            </oneOrMore>
         </choice>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      is-a="declarable">
            <sch:param name="tde" value="tei:langUsage"/>
         </sch:pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.declarable.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="language">
      <element name="language">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language) characterizes a single language or sublanguage used within a text. [2.4.2. Language Usage]</a:documentation>
         <ref name="macro.phraseSeq.limited"/>
         <ref name="att.global.attributes"/>
         <ref name="att.scope.attributes"/>
         <attribute name="ident">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) Supplies a language code constructed as defined in <a xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  href="https://tools.ietf.org/html/bcp47">BCP 47</a> which is used to identify the language documented by this element, and which may be referenced by the global <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@xml:lang</code> attribute.</a:documentation>
            <choice>
               <data type="language"/>
               <choice>
                  <value/>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               </choice>
            </choice>
         </attribute>
         <optional>
            <attribute name="usage">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the approximate percentage of the text which uses this language.</a:documentation>
               <data type="nonNegativeInteger"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="textClass">
      <element name="textClass">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text classification) groups information which describes the nature or topic of a text in terms of a standard classification scheme, thesaurus, etc. [2.4.3. The Text Classification]</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="keywords"/>
            </choice>
         </zeroOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      is-a="declarable">
            <sch:param name="tde" value="tei:textClass"/>
         </sch:pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.declarable.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="keywords">
      <element name="keywords">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(keywords) contains a list of keywords or phrases identifying the topic or nature of a text. [2.4.3. The Text Classification]</a:documentation>
         <choice>
            <oneOrMore>
               <ref name="term"/>
            </oneOrMore>
            <ref name="list"/>
         </choice>
         <ref name="att.global.attributes"/>
         <optional>
            <attribute name="scheme">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the controlled vocabulary within which the set of keywords concerned is defined, for example by a <code xmlns="http://www.w3.org/1999/xhtml"
                        xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;taxonomy&gt;</code> element, or by some other resource.</a:documentation>
               <data type="anyURI">
                  <param name="pattern">\S+</param>
               </data>
            </attribute>
         </optional>
         <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.6. The Revision Description 2.1.1. The TEI Header and Its Components]</a:documentation>
         <choice>
            <oneOrMore>
               <ref name="list"/>
            </oneOrMore>
            <oneOrMore>
               <ref name="listChange"/>
            </oneOrMore>
            <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">(change) documents a change or set of changes made during the production of a source document, or during the revision of an electronic file. [2.6. The Revision Description 2.4.1. Creation 12.7. Identifying Changes and Revisions]</a:documentation>
         <ref name="macro.specialPara"/>
         <ref name="att.global.attributes"/>
         <ref name="att.ascribed.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.docStatus.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="target">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(target) points to one or more elements that belong to this change.</a:documentation>
               <list>
                  <oneOrMore>
                     <data type="anyURI">
                        <param name="pattern">\S+</param>
                     </data>
                  </oneOrMore>
               </list>
            </attribute>
         </optional>
         <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. [2.6. The Revision Description 12.7. Identifying Changes and Revisions]</a:documentation>
         <group>
            <oneOrMore>
               <choice>
                  <ref name="listChange"/>
                  <ref name="change"/>
               </choice>
            </oneOrMore>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.sortable.attributes"/>
         <ref name="att.typed.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 <code xmlns="http://www.w3.org/1999/xhtml"
                        xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;change&gt;</code> elements is to be considered significant or not.</a:documentation>
               <data type="boolean"/>
            </attribute>
         </optional>
         <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, combining a single TEI header with one or more members of the model.resource class. Multiple <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;TEI&gt;</code> elements may be combined within a <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;TEI&gt;</code> (or <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;teiCorpus&gt;</code>) element. [4. Default Text Structure 16.1. Varieties of Composite Text]</a:documentation>
         <group>
            <ref name="teiHeader"/>
            <choice>
               <group>
                  <oneOrMore>
                     <ref name="model.resource"/>
                  </oneOrMore>
                  <zeroOrMore>
                     <ref name="TEI"/>
                  </zeroOrMore>
               </group>
               <oneOrMore>
                  <ref name="TEI"/>
               </oneOrMore>
            </choice>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="version">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the version number of the TEI Guidelines against which this document is valid.</a:documentation>
               <data type="token">
                  <param name="pattern">[\d]+(\.[\d]+){0,2}</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="text">
      <element name="text">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text) 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. Default Text Structure 16.1. Varieties of Composite Text]</a:documentation>
         <group>
            <rng:zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
               <rng:ref name="model.global"/>
            </rng:zeroOrMore>
            <choice>
               <ref name="body"/>
               <ref name="group"/>
            </choice>
            <rng:zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
               <rng:ref name="model.global"/>
            </rng:zeroOrMore>
         </group>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-text-standoffGroup-constraint-rule-23">
            <rule xmlns:sch="http://purl.oclc.org/dsdl/schematron" context="tei:TEI/tei:text">
               <assert test="tei:group"> error
                    textGroup.exists(false): ahiqar TEI-P5 resources must contain a tei:group in the
                    first tei:text element to encode the different standoff markup layers! Add one
                    to the first tei:text. </assert>
            </rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-text-standoffLayers-constraint-rule-24">
            <rule xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                  context="tei:TEI/tei:text/tei:group">
               <assert test="tei:text[@type='transcription']"> error standoff.transcription(false): an
                    ahiqar TEI-P5 resources must contain a transcription layer
                    (tei:text[@type='transcription']). Add one to tei:group! </assert>
               <assert test="tei:text[@type='transliteration']"> error standoff.transliteration(false):
                    an ahiqar TEI-P5 resources must contain a transliteration layer
                    (tei:text[@type='transliteration']). Add one to tei:group! </assert>
               <assert test="tei:text[@type='translation']"> error standoff.translation(false): an
                    ahiqar TEI-P5 resources must contain a translation layer
                    (tei:text[@type='translation']). Add one to tei:group!
                </assert>
            </rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.typed.attribute.subtype"/>
         <ref name="att.written.attributes"/>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>transliteration</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(edition) the edition section.</a:documentation>
                  <value>translation</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(translation) the translation section.</a:documentation>
                  <value>transcription</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(translations) the translation section.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <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. Default Text Structure]</a:documentation>
         <group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
            <rng:optional xmlns:rng="http://relaxng.org/ns/structure/1.0">
               <rng:group>
                  <rng:ref name="model.divTop"/>
                  <rng:zeroOrMore>
                     <rng:choice>
                        <rng:ref name="model.global"/>
                        <rng:ref name="model.divTop"/>
                     </rng:choice>
                  </rng:zeroOrMore>
               </rng:group>
            </rng:optional>
            <rng:optional xmlns:rng="http://relaxng.org/ns/structure/1.0">
               <rng:group>
                  <rng:ref name="model.divGenLike"/>
                  <rng:zeroOrMore>
                     <rng:choice>
                        <rng:ref name="model.global"/>
                        <rng:ref name="model.divGenLike"/>
                     </rng:choice>
                  </rng:zeroOrMore>
               </rng:group>
            </rng:optional>
            <choice>
               <oneOrMore>
                  <ref name="model.divLike"/>
                  <zeroOrMore>
                     <choice>
                        <ref name="model.global"/>
                        <ref name="model.divGenLike"/>
                     </choice>
                  </zeroOrMore>
               </oneOrMore>
               <oneOrMore>
                  <ref name="model.div1Like"/>
                  <zeroOrMore>
                     <choice>
                        <ref name="model.global"/>
                        <ref name="model.divGenLike"/>
                     </choice>
                  </zeroOrMore>
               </oneOrMore>
               <group>
                  <oneOrMore>
                     <choice>
                        <ref name="model.common"/>
                     </choice>
                     <zeroOrMore>
                        <ref name="model.global"/>
                     </zeroOrMore>
                  </oneOrMore>
                  <optional>
                     <choice>
                        <oneOrMore>
                           <ref name="model.divLike"/>
                           <zeroOrMore>
                              <choice>
                                 <ref name="model.global"/>
                                 <ref name="model.divGenLike"/>
                              </choice>
                           </zeroOrMore>
                        </oneOrMore>
                        <oneOrMore>
                           <ref name="model.div1Like"/>
                           <zeroOrMore>
                              <choice>
                                 <ref name="model.global"/>
                                 <ref name="model.divGenLike"/>
                              </choice>
                           </zeroOrMore>
                        </oneOrMore>
                     </choice>
                  </optional>
               </group>
            </choice>
            <zeroOrMore>
               <ref name="model.divBottom"/>
               <zeroOrMore>
                  <ref name="model.global"/>
               </zeroOrMore>
            </zeroOrMore>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.declaring.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="group">
      <element name="group">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(group) 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. Default Text Structure 4.3.1. Grouped Texts 16.1. Varieties of Composite Text]</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"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.typed.attributes"/>
         <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>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ahiqar_base-att.global.linking-corresp-corresp-validation-uwe-constraint-rule-25">
      <rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
            xmlns:sch="http://purl.oclc.org/dsdl/schematron"
            xmlns:xi="http://www.w3.org/2001/XInclude"
            context="@corresp">
         <let name="pointer"
              value="for $pointer in tokenize(., ' ') return if ( id( translate($pointer, '#', '') ) ) then () else ($pointer)"/>
         <let name="urls"
              value="for $pointer in tokenize(., ' ') return if ( not(starts-with($pointer, '#')) ) then ($pointer) else ()"/>
         <assert test="not( count($pointer) &gt; 0 )"> error @corresp.1:The
                        referenced ID <value-of select="$pointer"/> in @<name/> does not exist!
                      </assert>
      </rule>
   </pattern>
   <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>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </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>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </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>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </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">(next) points to the next element of a virtual aggregate of which the current element is part.</a:documentation>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </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>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </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>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </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>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="ab">
      <element name="ab">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(anonymous block) contains any component-level unit of text, acting as a container for phrase or inter level elements analogous to, but without the same constraints as, a paragraph. [17.3. Blocks, Segments, and Anchors]</a:documentation>
         <ref name="macro.abContent"/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-ab-abstractModel-structure-ab-in-l-constraint-rule-26">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:l//tei:ab">
               <sch:assert test="ancestor::tei:floatingText | parent::tei:figure | parent::tei:note">
          Abstract model violation: Metrical lines may not contain higher-level divisions such as p or ab, unless ab is a child of figure or note, or is a descendant of floatingText.
        </sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.global.attribute.xmlid"/>
         <ref name="att.global.attribute.xmllang"/>
         <ref name="att.global.linking.attribute.next"/>
         <ref name="att.cmc.attributes"/>
         <optional>
            <attribute name="rend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rendition) indicates how the element in question was rendered or presented in the source text.</a:documentation>
               <list>
                  <oneOrMore>
                     <choice>
                        <value>border-bottom</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(A horizontal border under the container.) </a:documentation>
                     </choice>
                  </oneOrMore>
               </list>
            </attribute>
         </optional>
         <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.
Sample values include: 1] head colophon</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="seg">
      <element name="seg">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(arbitrary segment) represents any segmentation of text below the chunk level. [17.3. Blocks, Segments, and Anchors 6.2. Components of the Verse Line 7.2.5. Speech Contents]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.notated.attributes"/>
         <ref name="att.segLike.attributes"/>
         <ref name="att.typed.attribute.subtype"/>
         <ref name="att.written.attributes"/>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>margin</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(margin) Eine Marginalie.</a:documentation>
                  <value>colophon</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(colophon) Inline colophon.</a:documentation>
                  <value>label</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(label) Enumeration label.</a:documentation>
                  <value>verse</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(verse) A (part of a) verse that's part of the running text.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <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 one or more images, portions of an image, or surfaces which correspond to the current element.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </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 <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;change&gt;</code> 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>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="damage">
      <element name="damage">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(damage) contains an area of damage to the text witness. [12.3.3.1. Damage, Illegibility, and Supplied Text]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.global.attributes"/>
         <ref name="att.damaged.attribute.group"/>
         <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"/>
         <ref name="att.written.attribute.hand"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="agent">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>environment</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Any damage to anorganic materials caused by exposure to environmental forces, such as erosion, weathering, vitrification, oxidation.</a:documentation>
                  <value>abrasion</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Any damage caused by mechanical scraping of the surface such as abrasive wear or use wear.</a:documentation>
                  <value>burning</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Any damage caused by fire, such as the direct exposure of heat or the sooting of a surface.</a:documentation>
                  <value>fracture</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Any damage caused by mechanical stress with or without the loss of material, such as cracking, flaking, chipping.</a:documentation>
                  <value>decay</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Any damage to organic materials caused by exposure to environmental or biological forces, such as decomposition, fouling, galleries, feces. </a:documentation>
                  <value>mutilation</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Any damage caused by intentional destruction of the surface, such as kill holes, damnatio memoriae, looting, sawing, smearing, painting.</a:documentation>
                  <value>unknown</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the type of damage is unknown.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="degree">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>0.25</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">low damage</a:documentation>
                  <value>0.5</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">medium damage</a:documentation>
                  <value>0.75</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">high damage</a:documentation>
                  <value>1</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">total damage</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="space">
      <element name="space">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(space) indicates the location of a significant space in the text. [12.4.1. Space]</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.descLike"/>
               <ref name="model.certLike"/>
            </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.xmlbase"/>
         <ref name="att.global.attribute.xmlspace"/>
         <ref name="att.global.change.attribute.change"/>
         <ref name="att.global.facs.attribute.facs"/>
         <ref name="att.global.linking.attribute.corresp"/>
         <ref name="att.global.linking.attribute.synch"/>
         <ref name="att.global.linking.attribute.sameAs"/>
         <ref name="att.global.linking.attribute.copyOf"/>
         <ref name="att.global.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.rendition.attribute.rend"/>
         <ref name="att.global.rendition.attribute.rendition"/>
         <ref name="att.global.responsibility.attribute.cert"/>
         <ref name="att.global.source.attribute.source"/>
         <ref name="att.dimensions.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="resp">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsible party) (responsible party) indicates the individual responsible for identifying and measuring the space.</a:documentation>
               <list>
                  <oneOrMore>
                     <data type="anyURI">
                        <param name="pattern">\S+</param>
                     </data>
                  </oneOrMore>
               </list>
            </attribute>
         </optional>
         <optional>
            <attribute name="dim">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(dimension) indicates whether the space is horizontal or vertical.</a:documentation>
               <choice>
                  <value>horizontal</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the space is horizontal.</a:documentation>
                  <value>vertical</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the space is vertical.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="supplied">
      <element name="supplied">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(supplied) signifies text supplied by the transcriber or editor for any reason; for example because the original cannot be read due to physical damage, or because of an obvious omission by the author or scribe. [12.3.3.1. Damage, Illegibility, and Supplied Text]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.global.attribute.xmlid"/>
         <ref name="att.global.attribute.n"/>
         <ref name="att.global.attribute.xmllang"/>
         <ref name="att.global.attribute.xmlbase"/>
         <ref name="att.global.attribute.xmlspace"/>
         <ref name="att.global.change.attribute.change"/>
         <ref name="att.global.facs.attribute.facs"/>
         <ref name="att.global.linking.attribute.corresp"/>
         <ref name="att.global.linking.attribute.synch"/>
         <ref name="att.global.linking.attribute.sameAs"/>
         <ref name="att.global.linking.attribute.copyOf"/>
         <ref name="att.global.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.rendition.attribute.rend"/>
         <ref name="att.global.rendition.attribute.rendition"/>
         <ref name="att.global.responsibility.attribute.resp"/>
         <ref name="att.global.source.attribute.source"/>
         <ref name="att.dimensions.attribute.unit"/>
         <ref name="att.dimensions.attribute.quantity"/>
         <ref name="att.dimensions.attribute.extent"/>
         <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"/>
         <ref name="att.editLike.attributes"/>
         <optional>
            <attribute name="cert">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>low</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  <value>medium</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  <value>high</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="precision">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>low</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  <value>high</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="reason">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>gap</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">One or more signs that are completely obliterated are reconstructed.</a:documentation>
                  <value>damage</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">One or more signs that are not (entirely) recognisable because of surface modifications are reconstructed.</a:documentation>
                  <value>unclear</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">One or more signs that are not (entirely) recognisable because of surface modifications are reconstructed.</a:documentation>
                  <value>omitted</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">One ore more signs are intentionally not displayed (in full) on the text carrier due to its design, e.g. an overlaying frame or picture.</a:documentation>
                  <value>unknown</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the type of reason is unknown.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-supplied-reason-suppliedreason-constraint-rule-27">
            <rule xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                  xmlns:xi="http://www.w3.org/2001/XInclude"
                  context="tei:supplied/@reason">
               <report test="ancestor::node()[self::tei:unclear or self::tei:gap or self::tei:damage]">error supplied.1: Don't supply "<value-of select="."/>" if already implied
                        by <value-of select="ancestor::node()[self::tei:unclear or self::tei:gap or self::tei:damage]/name()"/>
               </report>
            </rule>
         </pattern>
         <empty/>
      </element>
   </define>
   <define name="surplus">
      <element name="surplus">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(surplus) marks text present in the source which the editor believes to be superfluous or redundant. [12.3.3.1. Damage, Illegibility, and Supplied Text]</a:documentation>
         <ref name="macro.paraContent"/>
         <ref name="att.global.attributes"/>
         <ref name="att.dimensions.attributes"/>
         <ref name="att.editLike.attributes"/>
         <optional>
            <attribute name="reason">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">one or more words indicating why this text is believed to be superfluous, e.g. repeated, interpolated etc.</a:documentation>
               <list>
                  <oneOrMore>
                     <data type="token">
                        <param name="pattern">[^\p{C}\p{Z}]+</param>
                     </data>
                  </oneOrMore>
               </list>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="att.msExcerpt.attributes">
      <ref name="att.msExcerpt.attribute.defective"/>
   </define>
   <define name="att.msExcerpt.attribute.defective">
      <optional>
         <attribute name="defective">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether the passage being quoted is defective, i.e. incomplete through loss or damage.</a:documentation>
            <choice>
               <data type="boolean"/>
               <choice>
                  <value>unknown</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  <value>inapplicable</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               </choice>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.msClass.attributes">
      <ref name="att.msClass.attribute.class"/>
   </define>
   <define name="att.msClass.attribute.class">
      <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 by pointing to other elements or resources defining the classification concerned.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="anyURI">
                     <param name="pattern">\S+</param>
                  </data>
               </oneOrMore>
            </list>
         </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 such as an early printed book. [11.1. Overview]</a:documentation>
         <group>
            <ref name="msIdentifier"/>
            <group>
               <optional>
                  <ref name="msContents"/>
               </optional>
               <optional>
                  <ref name="physDesc"/>
               </optional>
               <optional>
                  <ref name="history"/>
               </optional>
               <optional>
                  <ref name="additional"/>
               </optional>
            </group>
         </group>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-msDesc-one_ms_singleton_max-constraint-rule-28">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:msContents|tei:physDesc|tei:history|tei:additional">
               <sch:let name="gi" value="name(.)"/>
               <sch:report test="preceding-sibling::*[ name(.) eq $gi ]                           and                           not( following-sibling::*[ name(.) eq $gi ] )">
          Only one <sch:name/> is allowed as a child of <sch:value-of select="name(..)"/>.
        </sch:report>
            </sch:rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.docStatus.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">(catchwords) describes the system used to ensure correct ordering of the quires or similar making up a codex, incunable, or other object typically by means of annotations at the foot of the page. [11.3.7. Catchwords, Signatures, Secundo Folio]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-catchwords-catchword_in_msDesc-constraint-rule-29">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:catchwords">
               <sch:assert test="ancestor::tei:msDesc or ancestor::tei:egXML">The <sch:name/> element should not be used outside of msDesc.</sch:assert>
            </sch:rule>
         </pattern>
         <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">(dimensions) contains a dimensional specification. [11.3.4. Dimensions]</a:documentation>
         <group>
            <ref name="height"/>
            <ref name="width"/>
         </group>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-dimensions-duplicateDim-constraint-rule-30">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:dimensions">
               <sch:report test="count(tei:width) gt 1">
          The element <sch:name/> may appear once only
        </sch:report>
               <sch:report test="count(tei:height) gt 1">
          The element <sch:name/> may appear once only
        </sch:report>
               <sch:report test="count(tei:depth) gt 1">
          The element <sch:name/> may appear once only
        </sch:report>
            </sch:rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <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"/>
         <ref name="att.typed.attribute.subtype"/>
         <optional>
            <attribute name="unit">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <value>cm</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(centimetre) </a:documentation>
               </choice>
            </attribute>
         </optional>
         <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>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </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. [11.3.4. Dimensions]</a:documentation>
         <ref name="macro.xtext"/>
         <ref name="att.global.attributes"/>
         <ref name="att.dimensions.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="height">
      <element name="height">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(height) contains a measurement measured along the axis at a right angle to the bottom of the object. [11.3.4. Dimensions]</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">(depth) contains a measurement from the front to the back of an object, perpendicular to the measurement given by the <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;width&gt;</code> element. [11.3.4. Dimensions]</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">(width) contains a measurement of an object along the axis parallel to its bottom, e.g. perpendicular to the spine of a book or codex. [11.3.4. Dimensions]</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">(heraldry) contains a heraldic formula or phrase, typically found as part of a blazon, coat of arms, etc. [11.3.8. Heraldry]</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">(locus) defines a location within a manuscript, manuscript part, or other object typically as a (possibly discontinuous) sequence of folio references. [11.3.5. References to Locations within a Manuscript]</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.gLike"/>
               <ref name="hi"/>
               <ref name="locus"/>
            </choice>
         </zeroOrMore>
         <ref name="att.global.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="scheme">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(scheme) identifies the foliation scheme in terms of which the location is being specified by pointing to some <code xmlns="http://www.w3.org/1999/xhtml"
                        xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;foliation&gt;</code> element defining it, or to some other equivalent resource.</a:documentation>
               <data type="anyURI">
                  <param name="pattern">\S+</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="from">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(from) specifies the starting point of the location in a normalized form, typically a page number.</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="to">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(to) specifies the end-point of the location in a normalized form, typically as a page number.</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="locusGrp">
      <element name="locusGrp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(locus group) groups a number of locations which together form a distinct but discontinuous item within a manuscript, manuscript part, or other object. [11.3.5. References to Locations within a Manuscript]</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">(scheme) identifies the foliation scheme in terms of which all the locations contained by the group are specified by pointing to some <code xmlns="http://www.w3.org/1999/xhtml"
                        xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;foliation&gt;</code> element defining it, or to some other equivalent resource.</a:documentation>
               <data type="anyURI">
                  <param name="pattern">\S+</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="material">
      <element name="material">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(material) contains a word or phrase describing the material of which the object being described is composed. [11.3.2. Material and Object Type]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.canonical.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="function">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the function or use of the material in relation to the object as a whole.
Sample values include: 1] binding; 2] endband; 3] slipcase; 4] support; 5] tie</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </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 metamark applies.</a:documentation>
               <list>
                  <oneOrMore>
                     <data type="anyURI">
                        <param name="pattern">\S+</param>
                     </data>
                  </oneOrMore>
               </list>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="objectType">
      <element name="objectType">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(object type) contains a word or phrase describing the type of object being referred to. [11.3.2. Material and Object Type]</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, manuscript part, or other object. [11.3.1. Origination]</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.calendarSystem.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.dimensions.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, manuscript part, or other object. [11.3.1. Origination]</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"/>
         <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. [11.3.7. Catchwords, Signatures, Secundo Folio]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-secFol-secFol_in_msDesc-constraint-rule-31">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:secFol">
               <sch:assert test="ancestor::tei:msDesc or ancestor::tei:egXML">The <sch:name/> element should not be used outside of msDesc.</sch:assert>
            </sch:rule>
         </pattern>
         <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">(signatures) contains discussion of the leaf or quire signatures found within a codex or similar object. [11.3.7. Catchwords, Signatures, Secundo Folio]</a:documentation>
         <ref name="macro.specialPara"/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-signatures-signatures_in_msDesc-constraint-rule-32">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:signatures">
               <sch:assert test="ancestor::tei:msDesc or ancestor::tei:egXML">The <sch:name/> element should not be used outside of msDesc.</sch:assert>
            </sch:rule>
         </pattern>
         <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">(stamp) contains a word or phrase describing a stamp or similar device. [11.3.3. Watermarks and Stamps]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="watermark">
      <element name="watermark">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(watermark) contains a word or phrase describing a watermark or similar device. [11.3.3. Watermarks and Stamps]</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 or similar object being described. [11.4. The Manuscript Identifier]</a:documentation>
         <group>
            <group>
               <ref name="settlement"/>
               <ref name="institution"/>
               <optional>
                  <ref name="repository"/>
               </optional>
               <ref name="idno"/>
            </group>
            <zeroOrMore>
               <ref name="altIdentifier"/>
            </zeroOrMore>
         </group>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-msIdentifier-msIdentifierSettlement-constraint-rule-33">
            <rule xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                  xmlns:xi="http://www.w3.org/2001/XInclude"
                  context="tei:msIdentifier/tei:settlement">
               <assert test="tei:country"> error
                    msIdentifier.country.1: tei:msIdentifier must contain a settlement specifying a
                    country the manuscript is associated with! </assert>
            </rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ahiqar_base-msIdentifier-msId_minimal-constraint-rule-34">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:msIdentifier">
               <sch:report test="not( parent::tei:msPart )                           and                           ( child::*[1]/self::idno  or  child::*[1]/self::altIdentifier  or  normalize-space(.) eq '')">An msIdentifier must contain either a repository or location.</sch:report>
            </sch: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">(institution) contains the name of an organization such as a university or library, with which a manuscript or other object is identified, generally its holding institution. [11.4. The Manuscript Identifier]</a:documentation>
         <ref name="macro.phraseSeq.limited"/>
         <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">(repository) contains the name of a repository within which manuscripts or other objects are stored, possibly forming part of an institution. [11.4. The Manuscript Identifier]</a:documentation>
         <ref name="macro.phraseSeq.limited"/>
         <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">(collection) contains the name of a collection of manuscripts or other objects, not necessarily located within a single repository. [11.4. The Manuscript Identifier]</a:documentation>
         <ref name="macro.phraseSeq.limited"/>
         <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 or other object, such as a former catalogue number. [11.4. The Manuscript Identifier]</a:documentation>
         <group>
            <optional>
               <ref name="placeName"/>
            </optional>
            <optional>
               <ref name="country"/>
            </optional>
            <optional>
               <ref name="settlement"/>
            </optional>
            <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.datable.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">(colophon) contains the colophon of an item: that is, a statement providing information regarding the date, place, agency, or reason for production of the manuscript or other object. [11.6.1. The msItem and msItemStruct Elements]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.msExcerpt.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="explicit">
      <element name="explicit">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(explicit) contains the explicit of a item, that is, the closing words of the text proper, exclusive of any rubric or colophon which might follow it. [11.6.1. The msItem and msItemStruct Elements]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.msExcerpt.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="filiation">
      <element name="filiation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(filiation) contains information concerning the manuscript or other object's filiation, i.e. its relationship to other surviving manuscripts or other objects of the same text or contents, its protographs, antigraphs and apographs. [11.6.1. The msItem and msItemStruct Elements]</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">(final rubric) 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. [11.6.1. The msItem and msItemStruct Elements]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.msExcerpt.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 or similar object 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 incipits were, in former times, frequently used a means of reference to a work, in place of a title. [11.6.1. The msItem and msItemStruct Elements]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.msExcerpt.attributes"/>
         <ref name="att.typed.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, manuscript part, or other object either as a series of paragraphs or as a series of structured manuscript items. [11.6. Intellectual Content]</a:documentation>
         <group>
            <optional>
               <ref name="summary"/>
            </optional>
            <oneOrMore>
               <ref name="msItem"/>
            </oneOrMore>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.msClass.attributes"/>
         <ref name="att.msExcerpt.attributes"/>
         <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, manuscript part, or other object. [11.6.1. The msItem and msItemStruct Elements]</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.msClass.attributes"/>
         <ref name="att.msExcerpt.attributes"/>
         <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, manuscript part, or other object. [11.6.1. The msItem and msItemStruct Elements]</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="respStmt"/>
                  </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>
                     <ref name="listBibl"/>
                  </zeroOrMore>
                  <zeroOrMore>
                     <choice>
                        <ref name="bibl"/>
                        <ref name="biblStruct"/>
                     </choice>
                  </zeroOrMore>
                  <optional>
                     <ref name="filiation"/>
                  </optional>
                  <zeroOrMore>
                     <ref name="model.noteLike"/>
                  </zeroOrMore>
                  <optional>
                     <ref name="textLang"/>
                  </optional>
               </group>
            </choice>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.msClass.attributes"/>
         <ref name="att.msExcerpt.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="rubric">
      <element name="rubric">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rubric) contains the text of any rubric or heading attached to a particular manuscript item, that is, a string of words through which a manuscript or other object 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, typically in red ink, or by use of different size or type of script, or some other such visual device. [11.6.1. The msItem and msItemStruct Elements]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.msExcerpt.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 or object (for example, its intellectual content, history, layout, typography etc.) as a complement or alternative to the more detailed information carried by more specific elements. [11.6. Intellectual Content]</a:documentation>
         <ref name="macro.specialPara"/>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </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, manuscript part, or other object optionally subdivided using more specialized elements from the model.physDescPart class. [11.7. Physical Description]</a:documentation>
         <group>
            <ref name="objectDesc"/>
            <optional>
               <ref name="handDesc"/>
            </optional>
         </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">(object description) contains a description of the physical components making up the object which is being described. [11.7.1. Object Description]</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">(form) 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>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </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 or other object. [11.7.1. Object Description]</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"/>
         <attribute name="material">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <choice>
               <value>paper</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(paper) </a:documentation>
               <value>parchment</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">(mixed material) </a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="support">
      <element name="support">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(support) contains a description of the materials etc. which make up the physical support for the written part of a manuscript or other object. [11.7.1. Object Description]</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">(collation) contains a description of how the leaves, bifolia, or similar objects are physically arranged. [11.7.1. Object Description]</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">(foliation) describes the numbering system or systems used to count the leaves or pages in a codex or similar object. [11.7.1.4. Foliation]</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">(condition) contains a description of the physical condition of the manuscript or object. [11.7.1.5. Condition]</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 or other object. [11.7.2. Writing, Decoration, and Other Notations]</a:documentation>
         <group>
            <optional>
               <ref name="summary"/>
            </optional>
            <ref name="layout"/>
         </group>
         <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">(layout) describes how text is laid out on the page or surface of the object, including information about any ruling, pricking, or other evidence of page-preparation techniques. [11.7.2. Writing, Decoration, and Other Notations]</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">(columns) specifies the number of columns per page.</a:documentation>
               <list>
                  <data type="nonNegativeInteger"/>
                  <optional>
                     <data type="nonNegativeInteger"/>
                  </optional>
               </list>
            </attribute>
         </optional>
         <optional>
            <attribute name="streams">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(textual streams) indicates the number of streams per page, each of which contains an independent textual stream.</a:documentation>
               <list>
                  <data type="nonNegativeInteger"/>
                  <optional>
                     <data type="nonNegativeInteger"/>
                  </optional>
               </list>
            </attribute>
         </optional>
         <optional>
            <attribute name="ruledLines">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(ruled lines) specifies the number of ruled lines per column.</a:documentation>
               <list>
                  <data type="nonNegativeInteger"/>
                  <optional>
                     <data type="nonNegativeInteger"/>
                  </optional>
               </list>
            </attribute>
         </optional>
         <optional>
            <attribute name="writtenLines">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(written lines) specifies the number of written lines per column.</a:documentation>
               <list>
                  <data type="nonNegativeInteger"/>
                  <optional>
                     <data type="nonNegativeInteger"/>
                  </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 hands used in a manuscript or other object. [11.7.2. Writing, Decoration, and Other Notations]</a:documentation>
         <choice>
            <oneOrMore>
               <ref name="model.pLike"/>
            </oneOrMore>
            <group>
               <optional>
                  <ref name="summary"/>
               </optional>
            </group>
         </choice>
         <ref name="att.global.attributes"/>
         <optional>
            <attribute name="hands">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hands) specifies the number of distinct hands identified within the manuscript.</a:documentation>
               <data type="nonNegativeInteger"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="typeNote">
      <element name="typeNote">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(typographic note) describes a particular font or other significant typographic feature distinguished within the description of a printed resource. [11.7.2. Writing, Decoration, and Other Notations]</a:documentation>
         <ref name="macro.specialPara"/>
         <ref name="att.global.attributes"/>
         <ref name="att.handFeatures.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 other object, or a fairly homogenous class of such components. [11.7.3. Bindings, Seals, and Additional Material]</a:documentation>
         <ref name="macro.specialPara"/>
         <ref name="att.global.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="binding">
      <element name="binding">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(binding) contains a description of one binding, i.e. type of covering, boards, etc. applied to a manuscript or other object. [11.7.3.1. Binding Descriptions]</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">(contemporary) specifies whether or not the binding is contemporary with the majority of its contents.</a:documentation>
               <choice>
                  <data type="boolean"/>
                  <choice>
                     <value>unknown</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                     <value>inapplicable</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  </choice>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="seal">
      <element name="seal">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(seal) contains a description of one seal or similar applied to the object described. [11.7.3.2. Seals]</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="model.pLike"/>
               <ref name="decoNote"/>
            </choice>
         </oneOrMore>
         <ref name="att.global.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="contemporary">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(contemporary) specifies whether or not the seal is contemporary with the item to which it is affixed</a:documentation>
               <choice>
                  <data type="boolean"/>
                  <choice>
                     <value>unknown</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                     <value>inapplicable</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  </choice>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="history">
      <element name="history">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(history) groups elements describing the full history of a manuscript, manuscript part, or other object. [11.8. History]</a:documentation>
         <group>
            <optional>
               <ref name="origin"/>
            </optional>
            <zeroOrMore>
               <ref name="provenance"/>
            </zeroOrMore>
         </group>
         <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">(origin) contains any descriptive or other information concerning the origin of a manuscript, manuscript part, or other object. [11.8. History]</a:documentation>
         <ref name="macro.specialPara"/>
         <ref name="att.global.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.editLike.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="provenance">
      <element name="provenance">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(provenance) contains any descriptive or other information concerning a single identifiable episode during the history of a manuscript, manuscript part, or other object after its creation but before its acquisition. [11.8. History]</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="additional">
      <element name="additional">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(additional) groups additional information, combining bibliographic information about a manuscript or other object, or surrogate copies of it, with curatorial or administrative information. [11.9. Additional Information]</a:documentation>
         <choice>
            <group>
               <optional>
                  <ref name="adminInfo"/>
               </optional>
               <optional>
                  <ref name="surrogates"/>
               </optional>
               <optional>
                  <ref name="listBibl"/>
               </optional>
            </group>
            <oneOrMore>
               <ref name="model.pLike"/>
            </oneOrMore>
         </choice>
         <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 or other object, and also about the record description itself. [11.9.1. Administrative Information]</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 or object description itself. [11.9.1. Administrative Information]</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">(source) describes the original source for the information contained with a manuscript or object description. [11.9.1.1. Record History]</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 or other object's custodial history, either as running prose or as a series of dated custodial events. [11.9.1.2. Availability and Custodial History]</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 or other object. [11.9.1.2. Availability and Custodial History]</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">(surrogates) contains information about any representations of the manuscript or other object being described which may exist in the holding institution or elsewhere. [11.9. Additional Information]</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, which is now part of a composite manuscript. [11.10. Manuscript Parts]</a:documentation>
         <group>
            <ref name="msIdentifier"/>
            <zeroOrMore>
               <ref name="model.headLike"/>
            </zeroOrMore>
            <choice>
               <oneOrMore>
                  <ref name="model.pLike"/>
               </oneOrMore>
               <zeroOrMore>
                  <choice>
                     <ref name="msContents"/>
                     <ref name="physDesc"/>
                     <ref name="history"/>
                     <ref name="additional"/>
                     <ref name="msPart"/>
                  </choice>
               </zeroOrMore>
            </choice>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.typed.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 custom standard form.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </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>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </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>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </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 custom standard form.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </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 custom standard form.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="token">
                     <param name="pattern">[^\p{C}\p{Z}]+</param>
                  </data>
               </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>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </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 <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;calendar&gt;</code> element or other means of interpreting the values of the custom dating attributes.</a:documentation>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="model.persNamePart">
      <notAllowed/>
   </define>
   <define name="model.persNamePart_alternation">
      <notAllowed/>
   </define>
   <define name="model.persNamePart_sequence">
      <empty/>
   </define>
   <define name="model.persNamePart_sequenceOptional">
      <empty/>
   </define>
   <define name="model.persNamePart_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.persNamePart_sequenceRepeatable">
      <notAllowed/>
   </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>
            <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>
         </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>
            <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>
         </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>
            <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>
         </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>
            <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>
         </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>
            <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>
         </attribute>
      </optional>
   </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. [14.2.2. Organizational Names]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.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. [14.2.1. Personal Names]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.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="placeName">
      <element name="placeName">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(place name) contains an absolute or relative place name. [14.2.3. Place Names]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.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="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. [14.2.3. Place Names]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.naming.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="settlement">
      <element name="settlement">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(settlement) contains the name of a settlement such as a city, town, or village identified as a single geo-political or administrative unit. [14.2.3. Place Names]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.cmc.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.naming.attributes"/>
         <ref name="att.typed.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 anything of significance that happens in time. [14.3.1. Basic Principles]</a:documentation>
         <group>
            <zeroOrMore>
               <ref name="idno"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.headLike"/>
            </zeroOrMore>
            <choice>
               <oneOrMore>
                  <ref name="model.pLike"/>
               </oneOrMore>
               <oneOrMore>
                  <ref name="model.labelLike"/>
               </oneOrMore>
            </choice>
            <zeroOrMore>
               <choice>
                  <ref name="model.noteLike"/>
                  <ref name="model.biblLike"/>
                  <ref name="model.ptrLike"/>
                  <ref name="idno"/>
               </choice>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.eventLike"/>
            </zeroOrMore>
            <zeroOrMore>
               <choice>
                  <ref name="model.personLike"/>
               </choice>
            </zeroOrMore>
            <zeroOrMore>
               <choice>
                  <ref name="model.placeLike"/>
               </choice>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.objectLike"/>
            </zeroOrMore>
            <zeroOrMore>
               <empty/>
            </zeroOrMore>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.editLike.attributes"/>
         <ref name="att.locatable.attributes"/>
         <ref name="att.naming.attributes"/>
         <ref name="att.sortable.attributes"/>
         <ref name="att.typed.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. Characters, Glyphs, and Writing Modes]</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>
               <data type="anyURI">
                  <param name="pattern">\S+</param>
               </data>
            </attribute>
         </optional>
         <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. [5.2. Markup Constructs for Representation of Characters and Glyphs]</a:documentation>
         <group>
            <oneOrMore>
               <choice>
                  <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. [5.2. Markup Constructs for Representation of Characters and Glyphs]</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.graphicLike"/>
               <ref name="model.noteLike"/>
               <ref name="model.descLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <start>
      <ref name="TEI"/>
   </start>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           prefix="tei"
           uri="http://www.tei-c.org/ns/1.0"/>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           prefix="xs"
           uri="http://www.w3.org/2001/XMLSchema"/>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           prefix="rng"
           uri="http://relaxng.org/ns/structure/1.0"/>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           prefix="rna"
           uri="http://relaxng.org/ns/compatibility/annotations/1.0"/>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           prefix="sch"
           uri="http://purl.oclc.org/dsdl/schematron"/>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           prefix="sch1x"
           uri="http://www.ascc.net/xml/schematron"/>
</grammar>
