<?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"
         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"><!--Schema generated 2025-08-28T16:49:00Z
Edition: P5 Version 4.10.1. Last updated on
        28th August 2025, revision 3cd82e7a3
This material is dual-licensed.
[http://creativecommons.org/licenses/by/3.0/] Distributed under a Creative Commons Attribution 3.0 Unported License.  [http://www.opensource.org/licenses/BSD-2-Clause] Copyright 2025 TEI Consortium. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright holder or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. TEI material can be licensed differently depending on the use you intend to make of it. Hence it is made available under both the CC+BY and BSD-2 licences. The CC+BY licence is generally appropriate for usages which treat TEI content as data or documentation. The BSD-2 licence is generally appropriate for usage of TEI content in a software environment. For further information or clarification, please contact the  TEI
          Consortium . The TEI header--><!--Definitions from module header--><!--Set global predeclared macros--><!--Set predeclared macros--><!--0. predeclared macros--><!--1. classes-->
   <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.attributes">
      <ref name="att.patternReplacement.attribute.matchPattern"/>
      <ref name="att.patternReplacement.attribute.replacementPattern"/>
   </define>
   <define name="att.patternReplacement.attribute.matchPattern">
      <attribute name="matchPattern">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a regular expression against which the values of other attributes can be matched.</a:documentation>
         <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>
   <!--2. elements-->
   <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. []</a:documentation>
         <ref name="abstract.content"/>
         <ref name="abstract.localattributes"/>
      </element>
   </define>
   <define name="abstract.content">
      <oneOrMore>
         <choice>
            <ref name="model.pLike"/>
            <ref name="model.listLike"/>
            <ref name="listBibl"/>
         </choice>
      </oneOrMore>
   </define>
   <define name="abstract.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="appInfo">
      <element name="appInfo">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(application information) records information about an application which has edited the TEI file. []</a:documentation>
         <ref name="appInfo.content"/>
         <ref name="appInfo.localattributes"/>
      </element>
   </define>
   <define name="appInfo.content">
      <oneOrMore>
         <ref name="model.applicationLike"/>
      </oneOrMore>
   </define>
   <define name="appInfo.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="application">
      <element name="application">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides information about an application which has acted upon the document. []</a:documentation>
         <ref name="application.content"/>
         <ref name="application.localattributes"/>
      </element>
   </define>
   <define name="application.content">
      <group>
         <oneOrMore>
            <ref name="model.labelLike"/>
         </oneOrMore>
         <choice>
            <zeroOrMore>
               <ref name="model.ptrLike"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.pLike"/>
            </zeroOrMore>
         </choice>
      </group>
   </define>
   <define name="application.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.typed.attributes"/>
      <attribute name="ident">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies an identifier for the application, independent of its version number or display name.</a:documentation>
         <data type="Name"/>
      </attribute>
      <attribute name="version">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a version number for the application, independent of its identifier or display name.</a:documentation>
         <data type="token">
            <param name="pattern">[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}</param>
         </data>
      </attribute>
      <empty/>
   </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. []</a:documentation>
         <ref name="authority.content"/>
         <ref name="authority.localattributes"/>
      </element>
   </define>
   <define name="authority.content">
      <ref name="macro.phraseSeq.limited"/>
   </define>
   <define name="authority.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <empty/>
   </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. []</a:documentation>
         <ref name="availability.content"/>
         <ref name="availability.localattributes"/>
      </element>
   </define>
   <define name="availability.content">
      <oneOrMore>
         <choice>
            <ref name="model.availabilityPart"/>
            <ref name="model.pLike"/>
         </choice>
      </oneOrMore>
   </define>
   <define name="availability.localattributes">
      <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/>
   </define>
   <define name="biblFull">
      <element name="biblFull">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(fully-structured bibliographic citation) contains a fully-structured bibliographic citation, in which all components of the TEI file description are present. [   ]</a:documentation>
         <ref name="biblFull.content"/>
         <ref name="biblFull.localattributes"/>
      </element>
   </define>
   <define name="biblFull.content">
      <choice>
         <group>
            <group>
               <ref name="titleStmt"/>
               <optional>
                  <ref name="editionStmt"/>
               </optional>
               <optional>
                  <ref name="extent"/>
               </optional>
               <ref name="publicationStmt"/>
               <zeroOrMore>
                  <ref name="seriesStmt"/>
               </zeroOrMore>
               <optional>
                  <ref name="notesStmt"/>
               </optional>
            </group>
            <zeroOrMore>
               <ref name="sourceDesc"/>
            </zeroOrMore>
         </group>
         <group>
            <ref name="fileDesc"/>
            <ref name="profileDesc"/>
         </group>
      </choice>
   </define>
   <define name="biblFull.localattributes">
      <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"/>
      <empty/>
   </define>
   <define name="cRefPattern">
      <element name="cRefPattern">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(canonical reference pattern) specifies an expression and replacement pattern for transforming a canonical reference into a URI. [  ]</a:documentation>
         <ref name="cRefPattern.content"/>
         <ref name="cRefPattern.localattributes"/>
      </element>
   </define>
   <define name="cRefPattern.content">
      <zeroOrMore>
         <ref name="model.pLike"/>
      </zeroOrMore>
   </define>
   <define name="cRefPattern.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.patternReplacement.attributes"/>
      <empty/>
   </define>
   <define name="calendar">
      <element name="calendar">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(calendar) describes a calendar or dating system used in a dating formula in the text. []</a:documentation>
         <ref name="calendar.content"/>
         <ref name="calendar.localattributes"/>
      </element>
   </define>
   <define name="calendar.content">
      <oneOrMore>
         <ref name="model.pLike"/>
      </oneOrMore>
   </define>
   <define name="calendar.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.pointing.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
   </define>
   <define name="calendarDesc">
      <element name="calendarDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(calendar description) contains a description of the calendar system used in any dating expression found in the text. [ ]</a:documentation>
         <ref name="calendarDesc.content"/>
         <ref name="calendarDesc.localattributes"/>
      </element>
   </define>
   <define name="calendarDesc.content">
      <oneOrMore>
         <ref name="calendar"/>
      </oneOrMore>
   </define>
   <define name="calendarDesc.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="catDesc">
      <element name="catDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(category description) describes some category within a taxonomy or text typology, either in the form of a brief prose description or in terms of the situational parameters used by the TEI formal <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;textDesc&gt;</code>. []</a:documentation>
         <ref name="catDesc.content"/>
         <ref name="catDesc.localattributes"/>
      </element>
   </define>
   <define name="catDesc.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.limitedPhrase"/>
            <ref name="model.catDescPart"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="catDesc.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <empty/>
   </define>
   <define name="catRef">
      <element name="catRef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(category reference) specifies one or more defined categories within some taxonomy or text typology. []</a:documentation>
         <ref name="catRef.content"/>
         <ref name="catRef.localattributes"/>
      </element>
   </define>
   <define name="catRef.content">
      <empty/>
   </define>
   <define name="catRef.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.pointing.attributes"/>
      <optional>
         <attribute name="scheme">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the classification scheme within which the set of categories 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/>
   </define>
   <define name="category">
      <element name="category">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(category) contains an individual descriptive category, possibly nested within a superordinate category, within a user-defined taxonomy. []</a:documentation>
         <ref name="category.content"/>
         <ref name="category.localattributes"/>
      </element>
   </define>
   <define name="category.content">
      <group>
         <choice>
            <oneOrMore>
               <ref name="catDesc"/>
            </oneOrMore>
            <zeroOrMore>
               <choice>
                  <ref name="model.descLike"/>
                  <ref name="equiv"/>
                  <ref name="gloss"/>
               </choice>
            </zeroOrMore>
         </choice>
         <zeroOrMore>
            <ref name="category"/>
         </zeroOrMore>
      </group>
   </define>
   <define name="category.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.datcat.attributes"/>
      <empty/>
   </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. [  ]</a:documentation>
         <ref name="change.content"/>
         <ref name="change.localattributes"/>
      </element>
   </define>
   <define name="change.content">
      <ref name="macro.specialPara"/>
   </define>
   <define name="change.localattributes">
      <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/>
   </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. [ ]</a:documentation>
         <ref name="citeData.content"/>
         <ref name="citeData.localattributes"/>
      </element>
   </define>
   <define name="citeData.content">
      <empty/>
   </define>
   <define name="citeData.localattributes">
      <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/>
   </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. [ ]</a:documentation>
         <ref name="citeStructure.content"/>
         <ref name="citeStructure.localattributes"/>
      </element>
   </define>
   <define name="citeStructure.content">
      <group>
         <zeroOrMore>
            <ref name="citeData"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="citeStructure"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="model.descLike"/>
         </zeroOrMore>
      </group>
   </define>
   <define name="citeStructure.localattributes">
      <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="citeStructure-match-citestructure-outer-match-constraint-rule-12">
         <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="citeStructure-match-citestructure-inner-match-constraint-rule-13">
         <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/>
   </define>
   <define name="classCode">
      <element name="classCode">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(classification code) contains the classification code used for this text in some standard classification system. []</a:documentation>
         <ref name="classCode.content"/>
         <ref name="classCode.localattributes"/>
      </element>
   </define>
   <define name="classCode.content">
      <ref name="macro.phraseSeq.limited"/>
   </define>
   <define name="classCode.localattributes">
      <ref name="att.global.attributes"/>
      <attribute name="scheme">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the classification system in use, as defined by, e.g. a <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;taxonomy&gt;</code> element, or some other resource.</a:documentation>
         <data type="anyURI">
            <param name="pattern">\S+</param>
         </data>
      </attribute>
      <empty/>
   </define>
   <define name="classDecl">
      <element name="classDecl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(classification declarations) contains one or more taxonomies defining any classificatory codes used elsewhere in the text. [ ]</a:documentation>
         <ref name="classDecl.content"/>
         <ref name="classDecl.localattributes"/>
      </element>
   </define>
   <define name="classDecl.content">
      <oneOrMore>
         <ref name="taxonomy"/>
      </oneOrMore>
   </define>
   <define name="classDecl.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="conversion">
      <element name="conversion">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines how to calculate one unit of measure in terms of another. []</a:documentation>
         <ref name="conversion.content"/>
         <ref name="conversion.localattributes"/>
      </element>
   </define>
   <define name="conversion.content">
      <empty/>
   </define>
   <define name="conversion.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.formula.attributes"/>
      <ref name="att.locatable.attributes"/>
      <attribute name="fromUnit">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates a source unit of measure that is to be converted into another unit indicated in <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">@toUnit</code>.</a:documentation>
         <data type="anyURI">
            <param name="pattern">\S+</param>
         </data>
      </attribute>
      <attribute name="toUnit">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the target unit of measurement for a conversion from a source unit referenced in <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">@fromUnit</code>.</a:documentation>
         <data type="anyURI">
            <param name="pattern">\S+</param>
         </data>
      </attribute>
      <empty/>
   </define>
   <define name="correction">
      <element name="correction">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(correction principles) states how and under what circumstances corrections have been made in the text. [ ]</a:documentation>
         <ref name="correction.content"/>
         <ref name="correction.localattributes"/>
      </element>
   </define>
   <define name="correction.content">
      <oneOrMore>
         <ref name="model.pLike"/>
      </oneOrMore>
   </define>
   <define name="correction.localattributes">
      <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">indicates the degree of correction applied to the text.</a:documentation>
            <choice>
               <value>high</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the text has been thoroughly checked and proofread.</a:documentation>
               <value>medium</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the text has been checked at least once.</a:documentation>
               <value>low</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the text has not been checked.</a:documentation>
               <value>unknown</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the correction status of the text is unknown.</a:documentation>
            </choice>
         </attribute>
      </optional>
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                    name="method"
                    a:defaultValue="silent">
            <a:documentation>indicates the method adopted to indicate corrections within the text.</a:documentation>
            <choice>
               <value>silent</value>
               <a:documentation>corrections have been made silently</a:documentation>
               <value>markup</value>
               <a:documentation>corrections have been represented using markup</a:documentation>
            </choice>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="correspAction">
      <element name="correspAction">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(correspondence action) contains a structured description of the place, the name of a person/organization and the date related to the sending/receiving of a message or any other action related to the correspondence. []</a:documentation>
         <ref name="correspAction.content"/>
         <ref name="correspAction.localattributes"/>
      </element>
   </define>
   <define name="correspAction.content">
      <choice>
         <oneOrMore>
            <ref name="model.correspActionPart"/>
         </oneOrMore>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
      </choice>
   </define>
   <define name="correspAction.localattributes">
      <ref name="att.global.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">describes the nature of the action.
Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5] forwarded</a:documentation>
            <choice>
               <value>sent</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">information concerning the sending or dispatch of a message.</a:documentation>
               <value>received</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">information concerning the receipt of a message.</a:documentation>
               <value>transmitted</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">information concerning the transmission of a message, i.e. between the dispatch and the next receipt, redirect or forwarding.</a:documentation>
               <value>redirected</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">information concerning the redirection of an unread message.</a:documentation>
               <value>forwarded</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">information concerning the forwarding of a message.</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </choice>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="correspContext">
      <element name="correspContext">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(correspondence context) provides references to preceding or following correspondence related to this piece of correspondence. []</a:documentation>
         <ref name="correspContext.content"/>
         <ref name="correspContext.localattributes"/>
      </element>
   </define>
   <define name="correspContext.content">
      <oneOrMore>
         <ref name="model.correspContextPart"/>
      </oneOrMore>
   </define>
   <define name="correspContext.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="correspDesc">
      <element name="correspDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(correspondence description) contains a description of the actions related to one act of correspondence. []</a:documentation>
         <ref name="correspDesc.content"/>
         <ref name="correspDesc.localattributes"/>
      </element>
   </define>
   <define name="correspDesc.content">
      <choice>
         <oneOrMore>
            <ref name="model.correspDescPart"/>
         </oneOrMore>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
      </choice>
   </define>
   <define name="correspDesc.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
   </define>
   <define name="creation">
      <element name="creation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(creation) contains information about the creation of a text. [ ]</a:documentation>
         <ref name="creation.content"/>
         <ref name="creation.localattributes"/>
      </element>
   </define>
   <define name="creation.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.limitedPhrase"/>
            <ref name="listChange"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="creation.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
   </define>
   <define name="distributor">
      <element name="distributor">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(distributor) supplies the name of a person or other agency responsible for the distribution of a text. []</a:documentation>
         <ref name="distributor.content"/>
         <ref name="distributor.localattributes"/>
      </element>
   </define>
   <define name="distributor.content">
      <ref name="macro.phraseSeq"/>
   </define>
   <define name="distributor.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <empty/>
   </define>
   <define name="edition">
      <element name="edition">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(edition) describes the particularities of one edition of a text. []</a:documentation>
         <ref name="edition.content"/>
         <ref name="edition.localattributes"/>
      </element>
   </define>
   <define name="edition.content">
      <ref name="macro.phraseSeq"/>
   </define>
   <define name="edition.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="editionStmt">
      <element name="editionStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(edition statement) groups information relating to one edition of a text. [ ]</a:documentation>
         <ref name="editionStmt.content"/>
         <ref name="editionStmt.localattributes"/>
      </element>
   </define>
   <define name="editionStmt.content">
      <choice>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <group>
            <ref name="edition"/>
            <zeroOrMore>
               <ref name="model.respLike"/>
            </zeroOrMore>
         </group>
      </choice>
   </define>
   <define name="editionStmt.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </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. [  ]</a:documentation>
         <ref name="editorialDecl.content"/>
         <ref name="editorialDecl.localattributes"/>
      </element>
   </define>
   <define name="editorialDecl.content">
      <oneOrMore>
         <choice>
            <ref name="model.pLike"/>
            <ref name="model.editorialDeclPart"/>
         </choice>
      </oneOrMore>
   </define>
   <define name="editorialDecl.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </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. [ ]</a:documentation>
         <ref name="encodingDesc.content"/>
         <ref name="encodingDesc.localattributes"/>
      </element>
   </define>
   <define name="encodingDesc.content">
      <oneOrMore>
         <choice>
            <ref name="model.encodingDescPart"/>
            <ref name="model.pLike"/>
         </choice>
      </oneOrMore>
   </define>
   <define name="encodingDesc.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </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. [   ]</a:documentation>
         <ref name="extent.content"/>
         <ref name="extent.localattributes"/>
      </element>
   </define>
   <define name="extent.content">
      <ref name="macro.phraseSeq"/>
   </define>
   <define name="extent.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </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. [ ]</a:documentation>
         <ref name="fileDesc.content"/>
         <ref name="fileDesc.localattributes"/>
      </element>
   </define>
   <define name="fileDesc.content">
      <group>
         <group>
            <ref name="titleStmt"/>
            <optional>
               <ref name="editionStmt"/>
            </optional>
            <optional>
               <ref name="extent"/>
            </optional>
            <ref name="publicationStmt"/>
            <zeroOrMore>
               <ref name="seriesStmt"/>
            </zeroOrMore>
            <optional>
               <ref name="notesStmt"/>
            </optional>
         </group>
         <oneOrMore>
            <ref name="sourceDesc"/>
         </oneOrMore>
      </group>
   </define>
   <define name="fileDesc.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </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. []</a:documentation>
         <ref name="funder.content"/>
         <ref name="funder.localattributes"/>
      </element>
   </define>
   <define name="funder.content">
      <ref name="macro.phraseSeq.limited"/>
   </define>
   <define name="funder.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
   </define>
   <define name="geoDecl">
      <element name="geoDecl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(geographic coordinates declaration) documents the notation and the datum used for geographic coordinates expressed as content of the <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;geo&gt;</code> element elsewhere within the document. []</a:documentation>
         <ref name="geoDecl.content"/>
         <ref name="geoDecl.localattributes"/>
      </element>
   </define>
   <define name="geoDecl.content">
      <ref name="macro.phraseSeq"/>
   </define>
   <define name="geoDecl.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                    name="datum"
                    a:defaultValue="WGS84">
            <a:documentation>supplies a commonly used code name for the datum employed.
Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Grid Reference System); 3] OSGB36 (ordnance survey great britain); 4] ED50 (European Datum coordinate system)</a:documentation>
            <choice>
               <value>WGS84</value>
               <a:documentation>(World Geodetic System) a pair of numbers to be interpreted as latitude followed by longitude according to the World Geodetic System.</a:documentation>
               <value>MGRS</value>
               <a:documentation>(Military Grid Reference System) values supplied follow the Military Grid Reference System, which designates grid zones in a string of letters and numbers that distinctly indicate each square meter on the planet.</a:documentation>
               <value>OSGB36</value>
               <a:documentation>(ordnance survey great britain) the value supplied is to be interpreted as a British National Grid Reference.</a:documentation>
               <value>ED50</value>
               <a:documentation>(European Datum coordinate system) the value supplied is to be interpreted as latitude followed by longitude according to the European Datum coordinate system.</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </choice>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="handNote">
      <element name="handNote">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(note on hand) describes a particular style or hand distinguished within a manuscript. []</a:documentation>
         <ref name="handNote.content"/>
         <ref name="handNote.localattributes"/>
      </element>
   </define>
   <define name="handNote.content">
      <ref name="macro.specialPara"/>
   </define>
   <define name="handNote.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.handFeatures.attributes"/>
      <empty/>
   </define>
   <define name="hyphenation">
      <element name="hyphenation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hyphenation) summarizes the way in which hyphenation in a source text has been treated in an encoded version of it. [ ]</a:documentation>
         <ref name="hyphenation.content"/>
         <ref name="hyphenation.localattributes"/>
      </element>
   </define>
   <define name="hyphenation.content">
      <oneOrMore>
         <ref name="model.pLike"/>
      </oneOrMore>
   </define>
   <define name="hyphenation.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                    name="eol"
                    a:defaultValue="some">
            <a:documentation>(end-of-line) indicates whether or not end-of-line hyphenation has been retained in a text.</a:documentation>
            <choice>
               <value>all</value>
               <a:documentation>all end-of-line hyphenation has been retained, even though the lineation of the original may not have been.</a:documentation>
               <value>some</value>
               <a:documentation>end-of-line hyphenation has been retained in some cases.</a:documentation>
               <value>hard</value>
               <a:documentation>all soft end-of-line hyphenation has been removed: any remaining end-of-line hyphenation should be retained.</a:documentation>
               <value>none</value>
               <a:documentation>all end-of-line hyphenation has been removed: any remaining hyphenation occurred within the line.</a:documentation>
            </choice>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define 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. [   ]</a:documentation>
         <ref name="idno.content"/>
         <ref name="idno.localattributes"/>
      </element>
   </define>
   <define name="idno.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="idno"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="idno.localattributes">
      <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/>
   </define>
   <define name="interpretation">
      <element name="interpretation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(interpretation) describes the scope of any analytic or interpretive information added to the text in addition to the transcription. []</a:documentation>
         <ref name="interpretation.content"/>
         <ref name="interpretation.localattributes"/>
      </element>
   </define>
   <define name="interpretation.content">
      <oneOrMore>
         <ref name="model.pLike"/>
      </oneOrMore>
   </define>
   <define name="interpretation.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </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. []</a:documentation>
         <ref name="keywords.content"/>
         <ref name="keywords.localattributes"/>
      </element>
   </define>
   <define name="keywords.content">
      <choice>
         <oneOrMore>
            <ref name="term"/>
         </oneOrMore>
         <ref name="list"/>
      </choice>
   </define>
   <define name="keywords.localattributes">
      <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/>
   </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. [  ]</a:documentation>
         <ref name="langUsage.content"/>
         <ref name="langUsage.localattributes"/>
      </element>
   </define>
   <define name="langUsage.content">
      <choice>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <oneOrMore>
            <ref name="language"/>
         </oneOrMore>
      </choice>
   </define>
   <define name="langUsage.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </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. []</a:documentation>
         <ref name="language.content"/>
         <ref name="language.localattributes"/>
      </element>
   </define>
   <define name="language.content">
      <ref name="macro.phraseSeq.limited"/>
   </define>
   <define name="language.localattributes">
      <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/>
   </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. []</a:documentation>
         <ref name="licence.content"/>
         <ref name="licence.localattributes"/>
      </element>
   </define>
   <define name="licence.content">
      <ref name="macro.specialPara"/>
   </define>
   <define name="licence.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.pointing.attributes"/>
      <empty/>
   </define>
   <define name="listChange">
      <element name="listChange">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups a number of change descriptions associated with either the creation of a source text or the revision of an encoded text. [ ]</a:documentation>
         <ref name="listChange.content"/>
         <ref name="listChange.localattributes"/>
      </element>
   </define>
   <define name="listChange.content">
      <group>
         <zeroOrMore>
            <ref name="desc"/>
         </zeroOrMore>
         <oneOrMore>
            <choice>
               <ref name="listChange"/>
               <ref name="change"/>
            </choice>
         </oneOrMore>
      </group>
   </define>
   <define name="listChange.localattributes">
      <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/>
   </define>
   <define name="listPrefixDef">
      <element name="listPrefixDef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of prefix definitions) contains a list of definitions of prefixing schemes used in teidata.pointer values, showing how abbreviated URIs using each scheme may be expanded into full URIs. []</a:documentation>
         <ref name="listPrefixDef.content"/>
         <ref name="listPrefixDef.localattributes"/>
      </element>
   </define>
   <define name="listPrefixDef.content">
      <group>
         <zeroOrMore>
            <ref name="desc"/>
         </zeroOrMore>
         <oneOrMore>
            <choice>
               <ref name="prefixDef"/>
               <ref name="listPrefixDef"/>
            </choice>
         </oneOrMore>
      </group>
   </define>
   <define name="listPrefixDef.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="namespace">
      <element name="namespace">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(namespace) supplies the formal name of the namespace to which the elements documented by its children belong. []</a:documentation>
         <ref name="namespace.content"/>
         <ref name="namespace.localattributes"/>
      </element>
   </define>
   <define name="namespace.content">
      <oneOrMore>
         <ref name="tagUsage"/>
      </oneOrMore>
   </define>
   <define name="namespace.localattributes">
      <ref name="att.global.attributes"/>
      <attribute name="name">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the full formal name of the namespace concerned.</a:documentation>
         <optional>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </optional>
      </attribute>
      <empty/>
   </define>
   <define name="normalization">
      <element name="normalization">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(normalization) indicates the extent of normalization or regularization of the original source carried out in converting it to electronic form. [ ]</a:documentation>
         <ref name="normalization.content"/>
         <ref name="normalization.localattributes"/>
      </element>
   </define>
   <define name="normalization.content">
      <oneOrMore>
         <ref name="model.pLike"/>
      </oneOrMore>
   </define>
   <define name="normalization.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                    name="method"
                    a:defaultValue="silent">
            <a:documentation>indicates the method adopted to indicate normalizations within the text.</a:documentation>
            <choice>
               <value>silent</value>
               <a:documentation>normalization made silently</a:documentation>
               <value>markup</value>
               <a:documentation>normalization represented using markup</a:documentation>
            </choice>
         </attribute>
      </optional>
      <empty/>
   </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. [ ]</a:documentation>
         <ref name="notesStmt.content"/>
         <ref name="notesStmt.localattributes"/>
      </element>
   </define>
   <define name="notesStmt.content">
      <oneOrMore>
         <choice>
            <ref name="model.noteLike"/>
            <ref name="relatedItem"/>
         </choice>
      </oneOrMore>
   </define>
   <define name="notesStmt.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="prefixDef">
      <element name="prefixDef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(prefix definition) defines a prefixing scheme used in teidata.pointer values, showing how abbreviated URIs using the scheme may be expanded into full URIs. []</a:documentation>
         <ref name="prefixDef.content"/>
         <ref name="prefixDef.localattributes"/>
      </element>
   </define>
   <define name="prefixDef.content">
      <zeroOrMore>
         <ref name="model.pLike"/>
      </zeroOrMore>
   </define>
   <define name="prefixDef.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.patternReplacement.attributes"/>
      <attribute name="ident">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a name which functions as the prefix for an abbreviated pointing scheme such as a private URI scheme. The prefix constitutes the text preceding the first colon.</a:documentation>
         <data type="token">
            <param name="pattern">[a-z][a-z0-9\+\.\-]*</param>
         </data>
      </attribute>
      <empty/>
   </define>
   <define name="principal">
      <element name="principal">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(principal researcher) supplies the name of the principal researcher responsible for the creation of an electronic text. []</a:documentation>
         <ref name="principal.content"/>
         <ref name="principal.localattributes"/>
      </element>
   </define>
   <define name="principal.content">
      <ref name="macro.phraseSeq.limited"/>
   </define>
   <define name="principal.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
   </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. [ ]</a:documentation>
         <ref name="profileDesc.content"/>
         <ref name="profileDesc.localattributes"/>
      </element>
   </define>
   <define name="profileDesc.content">
      <zeroOrMore>
         <ref name="model.profileDescPart"/>
      </zeroOrMore>
   </define>
   <define name="profileDesc.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="projectDesc">
      <element name="projectDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(project description) describes in detail the aim or purpose for which an electronic file was encoded, together with any other relevant information concerning the process by which it was assembled or collected. [  ]</a:documentation>
         <ref name="projectDesc.content"/>
         <ref name="projectDesc.localattributes"/>
      </element>
   </define>
   <define name="projectDesc.content">
      <oneOrMore>
         <ref name="model.pLike"/>
      </oneOrMore>
   </define>
   <define name="projectDesc.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </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. [ ]</a:documentation>
         <ref name="publicationStmt.content"/>
         <ref name="publicationStmt.localattributes"/>
      </element>
   </define>
   <define name="publicationStmt.content">
      <choice>
         <group>
            <oneOrMore>
               <ref name="model.publicationStmtPart.agency"/>
               <zeroOrMore>
                  <ref name="model.publicationStmtPart.detail"/>
               </zeroOrMore>
            </oneOrMore>
         </group>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
      </choice>
   </define>
   <define name="publicationStmt.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="punctuation">
      <element name="punctuation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies editorial practice adopted with respect to punctuation marks in the original. [ ]</a:documentation>
         <ref name="punctuation.content"/>
         <ref name="punctuation.localattributes"/>
      </element>
   </define>
   <define name="punctuation.content">
      <zeroOrMore>
         <ref name="model.pLike"/>
      </zeroOrMore>
   </define>
   <define name="punctuation.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <optional>
         <attribute name="marks">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether or not punctation marks have been retained as content within the text.</a:documentation>
            <choice>
               <value>none</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">no punctuation marks have been retained</a:documentation>
               <value>some</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">some punctuation marks have been retained</a:documentation>
               <value>all</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">all punctuation marks have been retained</a:documentation>
            </choice>
         </attribute>
      </optional>
      <optional>
         <attribute name="placement">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the positioning of punctuation marks that are associated with marked up text as being encoded within the element surrounding the text or immediately before or after it.</a:documentation>
            <choice>
               <value>internal</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">punctuation marks found at the start or end of a marked up text component are included within its surrounding element;</a:documentation>
               <value>external</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">punctuation marks found at the start or end of a marked up text component appear immediately before or after the surrounding element</a:documentation>
            </choice>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="quotation">
      <element name="quotation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(quotation) specifies editorial practice adopted with respect to quotation marks in the original. [ ]</a:documentation>
         <ref name="quotation.content"/>
         <ref name="quotation.localattributes"/>
      </element>
   </define>
   <define name="quotation.content">
      <zeroOrMore>
         <ref name="model.pLike"/>
      </zeroOrMore>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
               xmlns:rng="http://relaxng.org/ns/structure/1.0"
               id="quotation-quotationContents-constraint-rule-11">
         <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:quotation">
            <sch:report test="not( @marks )  and  not( tei:p )">
          On <sch:name/>, either the @marks attribute should be used, or a paragraph of description provided
        </sch:report>
         </sch:rule>
      </pattern>
   </define>
   <define name="quotation.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <optional>
         <attribute name="marks">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(quotation marks) indicates whether or not quotation marks have been retained as content within the text.</a:documentation>
            <choice>
               <value>none</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">no quotation marks have been retained</a:documentation>
               <value>some</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">some quotation marks have been retained</a:documentation>
               <value>all</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">all quotation marks have been retained</a:documentation>
            </choice>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="refState">
      <element name="refState">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference state) specifies one component of a canonical reference defined by the milestone method. [ ]</a:documentation>
         <ref name="refState.content"/>
         <ref name="refState.localattributes"/>
      </element>
   </define>
   <define name="refState.content">
      <empty/>
   </define>
   <define name="refState.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.edition.attributes"/>
      <ref name="att.milestoneUnit.attributes"/>
      <optional>
         <attribute name="length">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the fixed length of the reference component.</a:documentation>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
      <optional>
         <attribute name="delim">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(delimiter) supplies a delimiting string following the reference component.</a:documentation>
            <data type="string"/>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="refsDecl">
      <element name="refsDecl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(references declaration) specifies how canonical references are constructed for this text. [  ]</a:documentation>
         <ref name="refsDecl.content"/>
         <ref name="refsDecl.localattributes"/>
      </element>
   </define>
   <define name="refsDecl.content">
      <choice>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <oneOrMore>
            <ref name="citeStructure"/>
         </oneOrMore>
         <oneOrMore>
            <ref name="cRefPattern"/>
         </oneOrMore>
         <oneOrMore>
            <ref name="refState"/>
         </oneOrMore>
      </choice>
   </define>
   <define name="refsDecl.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </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. []</a:documentation>
         <ref name="rendition.content"/>
         <ref name="rendition.localattributes"/>
      </element>
   </define>
   <define name="rendition.content">
      <ref name="macro.limitedContent"/>
   </define>
   <define name="rendition.localattributes">
      <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/>
   </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. [ ]</a:documentation>
         <ref name="revisionDesc.content"/>
         <ref name="revisionDesc.localattributes"/>
      </element>
   </define>
   <define name="revisionDesc.content">
      <choice>
         <oneOrMore>
            <ref name="list"/>
         </oneOrMore>
         <oneOrMore>
            <ref name="listChange"/>
         </oneOrMore>
         <oneOrMore>
            <ref name="change"/>
         </oneOrMore>
      </choice>
   </define>
   <define name="revisionDesc.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.docStatus.attributes"/>
      <empty/>
   </define>
   <define name="samplingDecl">
      <element name="samplingDecl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(sampling declaration) contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. [  ]</a:documentation>
         <ref name="samplingDecl.content"/>
         <ref name="samplingDecl.localattributes"/>
      </element>
   </define>
   <define name="samplingDecl.content">
      <oneOrMore>
         <ref name="model.pLike"/>
      </oneOrMore>
   </define>
   <define name="samplingDecl.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </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. []</a:documentation>
         <ref name="schemaRef.content"/>
         <ref name="schemaRef.localattributes"/>
      </element>
   </define>
   <define name="schemaRef.content">
      <optional>
         <ref name="model.descLike"/>
      </optional>
   </define>
   <define name="schemaRef.localattributes">
      <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/>
   </define>
   <define name="scriptNote">
      <element name="scriptNote">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a particular script distinguished within the description of a manuscript or similar resource. []</a:documentation>
         <ref name="scriptNote.content"/>
         <ref name="scriptNote.localattributes"/>
      </element>
   </define>
   <define name="scriptNote.content">
      <ref name="macro.specialPara"/>
   </define>
   <define name="scriptNote.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.handFeatures.attributes"/>
      <empty/>
   </define>
   <define name="segmentation">
      <element name="segmentation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(segmentation) describes the principles according to which the text has been segmented, for example into sentences, tone-units, graphemic strata, etc. [ ]</a:documentation>
         <ref name="segmentation.content"/>
         <ref name="segmentation.localattributes"/>
      </element>
   </define>
   <define name="segmentation.content">
      <oneOrMore>
         <ref name="model.pLike"/>
      </oneOrMore>
   </define>
   <define name="segmentation.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </define>
   <define name="seriesStmt">
      <element name="seriesStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series statement) groups information about the series, if any, to which a publication belongs. [ ]</a:documentation>
         <ref name="seriesStmt.content"/>
         <ref name="seriesStmt.localattributes"/>
      </element>
   </define>
   <define name="seriesStmt.content">
      <choice>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <group>
            <oneOrMore>
               <ref name="title"/>
            </oneOrMore>
            <zeroOrMore>
               <choice>
                  <ref name="editor"/>
                  <ref name="respStmt"/>
               </choice>
            </zeroOrMore>
            <zeroOrMore>
               <choice>
                  <ref name="idno"/>
                  <ref name="biblScope"/>
               </choice>
            </zeroOrMore>
         </group>
      </choice>
   </define>
   <define name="seriesStmt.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </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. []</a:documentation>
         <ref name="sourceDesc.content"/>
         <ref name="sourceDesc.localattributes"/>
      </element>
   </define>
   <define name="sourceDesc.content">
      <choice>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <oneOrMore>
            <choice>
               <ref name="model.biblLike"/>
               <ref name="model.sourceDescPart"/>
               <ref name="model.listLike"/>
            </choice>
         </oneOrMore>
      </choice>
   </define>
   <define name="sourceDesc.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </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. []</a:documentation>
         <ref name="sponsor.content"/>
         <ref name="sponsor.localattributes"/>
      </element>
   </define>
   <define name="sponsor.content">
      <ref name="macro.phraseSeq.limited"/>
   </define>
   <define name="sponsor.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
   </define>
   <define name="stdVals">
      <element name="stdVals">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(standard values) specifies the format used when standardized date or number values are supplied. [ ]</a:documentation>
         <ref name="stdVals.content"/>
         <ref name="stdVals.localattributes"/>
      </element>
   </define>
   <define name="stdVals.content">
      <oneOrMore>
         <ref name="model.pLike"/>
      </oneOrMore>
   </define>
   <define name="stdVals.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </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. []</a:documentation>
         <ref name="styleDefDecl.content"/>
         <ref name="styleDefDecl.localattributes"/>
      </element>
   </define>
   <define name="styleDefDecl.content">
      <zeroOrMore>
         <ref name="model.pLike"/>
      </zeroOrMore>
   </define>
   <define name="styleDefDecl.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.styleDef.attributes"/>
      <empty/>
   </define>
   <define name="tagUsage">
      <element name="tagUsage">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(element usage) documents the usage of a specific element within a specified document. []</a:documentation>
         <ref name="tagUsage.content"/>
         <ref name="tagUsage.localattributes"/>
      </element>
   </define>
   <define name="tagUsage.content">
      <ref name="macro.limitedContent"/>
   </define>
   <define name="tagUsage.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.datcat.attributes"/>
      <attribute name="gi">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(generic identifier) specifies the name (generic identifier) of the element indicated by the tag, within the namespace indicated by the parent <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;namespace&gt;</code> element.</a:documentation>
         <data type="Name"/>
      </attribute>
      <optional>
         <attribute name="occurs">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of occurrences of this element within the text.</a:documentation>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
      <optional>
         <attribute name="withId">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(with unique identifier) specifies the number of occurrences of this element within the text which bear a distinct value for the global <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@xml:id</code> attribute.</a:documentation>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
      <empty/>
   </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. [ ]</a:documentation>
         <ref name="tagsDecl.content"/>
         <ref name="tagsDecl.localattributes"/>
      </element>
   </define>
   <define name="tagsDecl.content">
      <group>
         <zeroOrMore>
            <ref name="rendition"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="namespace"/>
         </zeroOrMore>
      </group>
   </define>
   <define name="tagsDecl.localattributes">
      <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/>
   </define>
   <define name="taxonomy">
      <element name="taxonomy">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(taxonomy) defines a typology either implicitly, by means of a bibliographic citation, or explicitly by a structured taxonomy. []</a:documentation>
         <ref name="taxonomy.content"/>
         <ref name="taxonomy.localattributes"/>
      </element>
   </define>
   <define name="taxonomy.content">
      <choice>
         <choice>
            <oneOrMore>
               <choice>
                  <ref name="category"/>
                  <ref name="taxonomy"/>
               </choice>
            </oneOrMore>
            <group>
               <oneOrMore>
                  <choice>
                     <ref name="model.descLike"/>
                     <ref name="equiv"/>
                     <ref name="gloss"/>
                  </choice>
               </oneOrMore>
               <zeroOrMore>
                  <choice>
                     <ref name="category"/>
                     <ref name="taxonomy"/>
                  </choice>
               </zeroOrMore>
            </group>
         </choice>
         <group>
            <ref name="model.biblLike"/>
            <zeroOrMore>
               <choice>
                  <ref name="category"/>
                  <ref name="taxonomy"/>
               </choice>
            </zeroOrMore>
         </group>
      </choice>
   </define>
   <define name="taxonomy.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.datcat.attributes"/>
      <empty/>
   </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. [ ]</a:documentation>
         <ref name="teiHeader.content"/>
         <ref name="teiHeader.localattributes"/>
      </element>
   </define>
   <define name="teiHeader.content">
      <group>
         <ref name="fileDesc"/>
         <zeroOrMore>
            <ref name="model.teiHeaderPart"/>
         </zeroOrMore>
         <optional>
            <ref name="revisionDesc"/>
         </optional>
      </group>
   </define>
   <define name="teiHeader.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </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. []</a:documentation>
         <ref name="textClass.content"/>
         <ref name="textClass.localattributes"/>
      </element>
   </define>
   <define name="textClass.content">
      <zeroOrMore>
         <choice>
            <ref name="classCode"/>
            <ref name="catRef"/>
            <ref name="keywords"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="textClass.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <empty/>
   </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. [ ]</a:documentation>
         <ref name="titleStmt.content"/>
         <ref name="titleStmt.localattributes"/>
      </element>
   </define>
   <define name="titleStmt.content">
      <group>
         <oneOrMore>
            <ref name="title"/>
         </oneOrMore>
         <zeroOrMore>
            <ref name="model.respLike"/>
         </zeroOrMore>
      </group>
   </define>
   <define name="titleStmt.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="unitDecl">
      <element name="unitDecl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unit declarations) provides information about units of measurement that are not members of the International System of Units. []</a:documentation>
         <ref name="unitDecl.content"/>
         <ref name="unitDecl.localattributes"/>
      </element>
   </define>
   <define name="unitDecl.content">
      <oneOrMore>
         <ref name="unitDef"/>
      </oneOrMore>
   </define>
   <define name="unitDecl.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <ref name="att.datable.attributes"/>
      <empty/>
   </define>
   <define name="unitDef">
      <element name="unitDef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unit definition) contains descriptive information related to a specific unit of measurement. []</a:documentation>
         <ref name="unitDef.content"/>
         <ref name="unitDef.localattributes"/>
      </element>
   </define>
   <define name="unitDef.content">
      <oneOrMore>
         <choice>
            <ref name="model.labelLike"/>
            <optional>
               <ref name="model.placeNamePart"/>
            </optional>
            <optional>
               <ref name="conversion"/>
            </optional>
            <optional>
               <ref name="unit"/>
            </optional>
         </choice>
      </oneOrMore>
   </define>
   <define name="unitDef.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.canonical.attributes"/>
      <ref name="att.datable.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
   </define>
   <define name="xenoData">
      <element name="xenoData">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. []</a:documentation>
         <ref name="xenoData.content"/>
         <ref name="xenoData.localattributes"/>
      </element>
   </define>
   <define name="xenoData.content">
      <choice>
         <text/>
         <oneOrMore>
            <ref name="anyElement_xenoData_1"/>
         </oneOrMore>
      </choice>
   </define>
   <define name="xenoData.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.declarable.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
   </define>
   <!--3. macros-->
</grammar>
