<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
         ns="http://www.tei-c.org/ns/1.0"><!--
Schema generated from ODD source 2015-10-15T19:57:15Z. .
TEI Edition: Version 2.9.1. Last updated on
	15th October 2015, revision 46ac023
TEI Edition Location: http://www.tei-c.org/Vault/P5/Version 2.9.1/
  
--><!--This template file is freely available and you are hereby authorised to copy, modify, and redistribute it in any way without further reference or permissions. When making such modifications, you are strongly recommended to change the present text to include an accurate statement of the licencing conditions applicable to your modified text.-->
   <define name="macro.paraContent">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="model.phrase"/>
            <ref name="model.inter"/>
            <ref name="model.global"/>
            <ref name="model.lLike"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="macro.phraseSeq">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="model.phrase"/>
            <ref name="model.global"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="macro.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="data.certainty">
      <choice>
         <value>high</value>
         <value>medium</value>
         <value>low</value>
         <value>unknown</value>
      </choice>
   </define>
   <define name="data.language">
      <choice>
         <data type="language"/>
         <value/>
      </choice>
   </define>
   <define name="data.pointer">
      <data type="anyURI"/>
   </define>
   <define name="data.word">
      <data type="token">
         <param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
      </data>
   </define>
   <define name="data.text">
      <data type="string"/>
   </define>
   <define name="data.enumerated">
      <ref name="data.word"/>
   </define>
   <define name="att.canonical.attributes">
      <ref name="att.canonical.attribute.key"/>
      <ref name="att.canonical.attribute.ref"/>
   </define>
   <define name="att.canonical.attribute.key">
      <optional>
         <attribute name="key">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an externally-defined means of identifying the entity (or entities) being named, using a coded value of some kind.</a:documentation>
            <ref name="data.text"/>
         </attribute>
      </optional>
   </define>
   <define name="att.canonical.attribute.ref">
      <optional>
         <attribute name="ref">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference) provides an explicit means of locating a full definition or identity for the entity being named by means of one or more URIs.</a:documentation>
            <list>
               <oneOrMore>
                  <ref name="data.pointer"/>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.divLike.attributes">
      <empty/>
   </define>
   <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>
            <ref name="data.certainty"/>
         </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>
                  <ref name="data.pointer"/>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.global.rendition.attributes">
      <ref name="att.global.rendition.attribute.rend"/>
      <ref name="att.global.rendition.attribute.style"/>
      <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>
                  <ref name="data.word"/>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.global.rendition.attribute.style">
      <optional>
         <attribute name="style">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an expression in some formal style definition language which defines the rendering or presentation used for this element in the source text</a:documentation>
            <ref name="data.text"/>
         </attribute>
      </optional>
   </define>
   <define name="att.global.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.</a:documentation>
            <list>
               <oneOrMore>
                  <ref name="data.pointer"/>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.global.attributes">
      <ref name="att.global.rendition.attributes"/>
      <ref name="att.global.responsibility.attributes"/>
      <ref name="att.global.attribute.xmlid"/>
      <ref name="att.global.attribute.n"/>
      <ref name="att.global.attribute.xmllang"/>
   </define>
   <define name="att.global.attribute.xmlid">
      <optional>
         <attribute name="xml:id">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) provides a unique identifier for the element bearing the attribute.</a:documentation>
            <data type="ID"/>
         </attribute>
      </optional>
   </define>
   <define name="att.global.attribute.n">
      <optional>
         <attribute name="n">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) gives a number (or other label) for an element, which is not necessarily unique within the document.</a:documentation>
            <ref name="data.text"/>
         </attribute>
      </optional>
   </define>
   <define name="att.global.attribute.xmllang">
      <optional>
         <attribute name="xml:lang">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language) indicates the language of the element content using a tag generated according to BCP 47.</a:documentation>
            <ref name="data.language"/>
         </attribute>
      </optional>
   </define>
   <define name="att.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>
                  <ref name="data.enumerated"/>
               </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>
                  <ref name="data.pointer"/>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.placement.attributes">
      <ref name="att.placement.attribute.place"/>
   </define>
   <define name="att.placement.attribute.place">
      <optional>
         <attribute name="place">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies where this item is placed.
Suggested values include: 1] below; 2] bottom; 3] margin; 4] top; 5] opposite; 6] overleaf; 7] above; 8] end; 9] inline; 10] inspace</a:documentation>
            <list>
               <oneOrMore>
                  <choice>
                     <value>below</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">below the line</a:documentation>
                     <value>bottom</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the foot of the page</a:documentation>
                     <value>margin</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the margin (left, right, or both)</a:documentation>
                     <value>top</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the top of the page</a:documentation>
                     <value>opposite</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the opposite, i.e. facing, page</a:documentation>
                     <value>overleaf</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the other side of the leaf</a:documentation>
                     <value>above</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">above the line</a:documentation>
                     <value>end</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the end of e.g. chapter or volume.</a:documentation>
                     <value>inline</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">within the body of the text.</a:documentation>
                     <value>inspace</value>
                     <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in a predefined space, for example left by an earlier scribe.</a:documentation>
                     <data type="Name"/>
                  </choice>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.typed.attributes">
      <ref name="att.typed.attribute.type"/>
      <ref name="att.typed.attribute.subtype"/>
   </define>
   <define name="att.typed.attribute.type">
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the element in some sense, using any convenient classification scheme or typology.</a:documentation>
            <ref name="data.enumerated"/>
         </attribute>
      </optional>
   </define>
   <define name="att.typed.attribute.subtype">
      <optional>
         <attribute name="subtype">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a sub-categorization of the element, if needed</a:documentation>
            <ref name="data.enumerated"/>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="tei_bare-att.typed-subtypeTyped-constraint-1">
      <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns="http://www.tei-c.org/ns/1.0"
                context="*[@subtype]">
        <sch:assert test="@type">The <sch:name/> element should not be categorized in detail with @subtype
 unless also categorized in general with @type</sch:assert>
      </sch:rule>
   </pattern>
   <define name="att.sortable.attributes">
      <ref name="att.sortable.attribute.sortKey"/>
   </define>
   <define name="att.sortable.attribute.sortKey">
      <optional>
         <attribute name="sortKey">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the sort key for this element in an index, list or group which contains it.</a:documentation>
            <ref name="data.word"/>
         </attribute>
      </optional>
   </define>
   <define name="model.nameLike.agent">
      <notAllowed/>
   </define>
   <define name="model.nameLike.agent_alternation">
      <notAllowed/>
   </define>
   <define name="model.nameLike.agent_sequence">
      <empty/>
   </define>
   <define name="model.nameLike.agent_sequenceOptional">
      <empty/>
   </define>
   <define name="model.nameLike.agent_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.nameLike.agent_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.segLike">
      <notAllowed/>
   </define>
   <define name="model.hiLike">
      <notAllowed/>
   </define>
   <define name="model.hiLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.hiLike_sequence">
      <empty/>
   </define>
   <define name="model.hiLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.hiLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.hiLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.emphLike">
      <choice>
         <ref name="title"/>
      </choice>
   </define>
   <define name="model.emphLike_alternation">
      <choice>
         <ref name="title"/>
      </choice>
   </define>
   <define name="model.emphLike_sequence">
      <ref name="title"/>
   </define>
   <define name="model.emphLike_sequenceOptional">
      <optional>
         <ref name="title"/>
      </optional>
   </define>
   <define name="model.emphLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="title"/>
      </zeroOrMore>
   </define>
   <define name="model.emphLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="title"/>
      </oneOrMore>
   </define>
   <define name="model.highlighted">
      <choice>
         <ref name="model.hiLike"/>
         <ref name="model.emphLike"/>
      </choice>
   </define>
   <define name="model.dateLike">
      <notAllowed/>
   </define>
   <define name="model.dateLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.dateLike_sequence">
      <empty/>
   </define>
   <define name="model.dateLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.dateLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.dateLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.measureLike">
      <notAllowed/>
   </define>
   <define name="model.measureLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.measureLike_sequence">
      <empty/>
   </define>
   <define name="model.measureLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.measureLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.measureLike_sequenceRepeatable">
      <notAllowed/>
   </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.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">
      <notAllowed/>
   </define>
   <define name="model.pPart.editorial">
      <notAllowed/>
   </define>
   <define name="model.pPart.editorial_alternation">
      <notAllowed/>
   </define>
   <define name="model.pPart.editorial_sequence">
      <empty/>
   </define>
   <define name="model.pPart.editorial_sequenceOptional">
      <empty/>
   </define>
   <define name="model.pPart.editorial_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.pPart.editorial_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.pPart.transcriptional">
      <notAllowed/>
   </define>
   <define name="model.pPart.transcriptional_alternation">
      <notAllowed/>
   </define>
   <define name="model.pPart.transcriptional_sequence">
      <empty/>
   </define>
   <define name="model.pPart.transcriptional_sequenceOptional">
      <empty/>
   </define>
   <define name="model.pPart.transcriptional_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.pPart.transcriptional_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.pPart.edit">
      <choice>
         <ref name="model.pPart.editorial"/>
         <ref name="model.pPart.transcriptional"/>
      </choice>
   </define>
   <define name="model.ptrLike">
      <notAllowed/>
   </define>
   <define name="model.lPart">
      <notAllowed/>
   </define>
   <define name="model.global.meta">
      <notAllowed/>
   </define>
   <define name="model.milestoneLike">
      <notAllowed/>
   </define>
   <define name="model.gLike">
      <notAllowed/>
   </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.specDescLike">
      <notAllowed/>
   </define>
   <define name="model.biblLike">
      <notAllowed/>
   </define>
   <define name="model.biblLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.biblLike_sequence">
      <empty/>
   </define>
   <define name="model.biblLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.biblLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.biblLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.headLike">
      <choice>
         <ref name="head"/>
      </choice>
   </define>
   <define name="model.headLike_alternation">
      <choice>
         <ref name="head"/>
      </choice>
   </define>
   <define name="model.headLike_sequence">
      <ref name="head"/>
   </define>
   <define name="model.headLike_sequenceOptional">
      <optional>
         <ref name="head"/>
      </optional>
   </define>
   <define name="model.headLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="head"/>
      </zeroOrMore>
   </define>
   <define name="model.headLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="head"/>
      </oneOrMore>
   </define>
   <define name="model.labelLike">
      <choice>
         <ref name="label"/>
      </choice>
   </define>
   <define name="model.labelLike_alternation">
      <choice>
         <ref name="label"/>
      </choice>
   </define>
   <define name="model.labelLike_sequence">
      <ref name="label"/>
   </define>
   <define name="model.labelLike_sequenceOptional">
      <optional>
         <ref name="label"/>
      </optional>
   </define>
   <define name="model.labelLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="label"/>
      </zeroOrMore>
   </define>
   <define name="model.labelLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="label"/>
      </oneOrMore>
   </define>
   <define name="model.listLike">
      <choice>
         <ref name="list"/>
      </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">
      <notAllowed/>
   </define>
   <define name="model.lLike">
      <notAllowed/>
   </define>
   <define name="model.lLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.lLike_sequence">
      <empty/>
   </define>
   <define name="model.lLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.lLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.lLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.pLike">
      <choice>
         <ref name="p"/>
      </choice>
   </define>
   <define name="model.pLike_alternation">
      <choice>
         <ref name="p"/>
      </choice>
   </define>
   <define name="model.pLike_sequence">
      <ref name="p"/>
   </define>
   <define name="model.pLike_sequenceOptional">
      <optional>
         <ref name="p"/>
      </optional>
   </define>
   <define name="model.pLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="p"/>
      </zeroOrMore>
   </define>
   <define name="model.pLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="p"/>
      </oneOrMore>
   </define>
   <define name="model.stageLike">
      <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.global.edit">
      <notAllowed/>
   </define>
   <define name="model.divPart">
      <choice>
         <ref name="model.lLike"/>
         <ref name="model.pLike"/>
      </choice>
   </define>
   <define name="model.placeNamePart">
      <notAllowed/>
   </define>
   <define name="model.placeNamePart_alternation">
      <notAllowed/>
   </define>
   <define name="model.placeNamePart_sequence">
      <empty/>
   </define>
   <define name="model.placeNamePart_sequenceOptional">
      <empty/>
   </define>
   <define name="model.placeNamePart_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.placeNamePart_sequenceRepeatable">
      <notAllowed/>
   </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.publicationStmtPart.agency">
      <notAllowed/>
   </define>
   <define name="model.publicationStmtPart.detail">
      <notAllowed/>
   </define>
   <define name="model.quoteLike">
      <notAllowed/>
   </define>
   <define name="model.quoteLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.quoteLike_sequence">
      <empty/>
   </define>
   <define name="model.quoteLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.quoteLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.quoteLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.qLike">
      <choice>
         <ref name="model.quoteLike"/>
      </choice>
   </define>
   <define name="model.qLike_alternation">
      <choice>
         <ref name="model.quoteLike_alternation"/>
      </choice>
   </define>
   <define name="model.qLike_sequence">
      <ref name="model.quoteLike_sequence"/>
   </define>
   <define name="model.qLike_sequenceOptional">
      <optional>
         <ref name="model.quoteLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.qLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.quoteLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.qLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.quoteLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.respLike">
      <choice>
         <ref name="author"/>
      </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.frontPart.drama">
      <notAllowed/>
   </define>
   <define name="model.pLike.front">
      <choice>
         <ref name="head"/>
      </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.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"/>
      </choice>
   </define>
   <define name="model.nameLike_alternation">
      <choice>
         <ref name="model.nameLike.agent_alternation"/>
         <ref name="model.offsetLike_alternation"/>
         <ref name="model.placeStateLike_alternation"/>
      </choice>
   </define>
   <define name="model.nameLike_sequence">
      <ref name="model.nameLike.agent_sequence"/>
      <ref name="model.offsetLike_sequence"/>
      <ref name="model.placeStateLike_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>
   </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>
   </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>
   </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.frontPart">
      <choice>
         <ref name="model.frontPart.drama"/>
      </choice>
   </define>
   <define name="model.pPart.data">
      <choice>
         <ref name="model.dateLike"/>
         <ref name="model.measureLike"/>
         <ref name="model.addressLike"/>
         <ref name="model.nameLike"/>
      </choice>
   </define>
   <define name="model.inter">
      <choice>
         <ref name="model.egLike"/>
         <ref name="model.oddDecl"/>
         <ref name="model.biblLike"/>
         <ref name="model.labelLike"/>
         <ref name="model.listLike"/>
         <ref name="model.stageLike"/>
         <ref name="model.qLike"/>
      </choice>
   </define>
   <define name="model.common">
      <choice>
         <ref name="model.divPart"/>
         <ref name="model.inter"/>
      </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.divLike">
      <choice>
         <ref name="div"/>
      </choice>
   </define>
   <define name="model.divGenLike">
      <notAllowed/>
   </define>
   <define name="model.div1Like">
      <notAllowed/>
   </define>
   <define name="model.teiHeaderPart">
      <notAllowed/>
   </define>
   <define name="model.sourceDescPart">
      <notAllowed/>
   </define>
   <define name="model.resourceLike">
      <notAllowed/>
   </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"
                  id="tei_bare-p-abstractModel-p-constraint-1">
            <rule context="tei:p">
               <report xmlns:tei="http://www.tei-c.org/ns/1.0"
                       xmlns:rng="http://relaxng.org/ns/structure/1.0"
                       test="(ancestor::tei:p or ancestor::tei:ab)          and not(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 contain other paragraphs or ab elements.
      </report>
            </rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="tei_bare-p-abstractModel-structure-l-constraint-2">
            <rule context="tei:p">
               <report xmlns:tei="http://www.tei-c.org/ns/1.0"
                       xmlns:rng="http://relaxng.org/ns/structure/1.0"
                       test="ancestor::tei:l[not(.//tei:note//tei:p[. = current()])]">
        Abstract model violation: Lines may not contain higher-level structural elements such as div, p, or ab.
      </report>
            </rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="list">
      <element name="list">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any sequence of items organized as a list. [3.7. Lists]</a:documentation>
         <group>
            <zeroOrMore>
               <choice>
                  <group>
                     <ref name="model.divTop"/>
                  </group>
                  <group>
                     <ref name="model.global"/>
                  </group>
               </choice>
            </zeroOrMore>
            <choice>
               <oneOrMore>
                  <ref name="item"/>
                  <zeroOrMore>
                     <ref name="model.global"/>
                  </zeroOrMore>
               </oneOrMore>
               <group>
                  <oneOrMore>
                     <ref name="label"/>
                     <zeroOrMore>
                        <ref name="model.global"/>
                     </zeroOrMore>
                     <ref name="item"/>
                     <zeroOrMore>
                        <ref name="model.global"/>
                     </zeroOrMore>
                  </oneOrMore>
               </group>
            </choice>
            <zeroOrMore>
               <group>
                  <group>
                     <ref name="model.divBottom"/>
                  </group>
                  <zeroOrMore>
                     <ref name="model.global"/>
                  </zeroOrMore>
               </group>
            </zeroOrMore>
         </group>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="tei_bare-list-gloss-list-must-have-labels-constraint-2">
            <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      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.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 items in the list.
Suggested values include: 1] gloss; 2] index; 3] instructions; 4] litany; 5] syllogism</a:documentation>
               <choice>
                  <value>gloss</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">each list item glosses some term or concept, which is given by a label element preceding the list item.</a:documentation>
                  <value>index</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">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">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">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">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="Name"/>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="item">
      <element name="item">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one component of a list. [3.7. 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="label">
      <element name="label">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any label or heading used to identify part of a text, typically but not exclusively in a list or glossary. [3.7. Lists]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.placement.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="head">
      <element name="head">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(heading) contains any type of heading, for example the title of a section, or the heading of a list, glossary, manuscript description, etc. [4.2.1. Headings and Trailers]</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.gLike"/>
               <ref name="model.phrase"/>
               <ref name="model.inter"/>
               <ref name="model.lLike"/>
               <ref name="model.global"/>
            </choice>
         </zeroOrMore>
         <ref name="att.global.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="author">
      <element name="author">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in a bibliographic reference, contains the name(s) of an author, personal or corporate, of a work; for example in the same form as that provided by a recognized bibliographic name authority. [3.11.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement]</a:documentation>
         <ref name="macro.phraseSeq"/>
         <ref name="att.global.attributes"/>
         <ref name="att.naming.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="title">
      <element name="title">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a title for any kind of work. [3.11.2.2. 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.typed.attribute.subtype"/>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the title according to some convenient typology.
Sample values include: 1] main; 2] sub(subordinate) ; 3] alt(alternate) ; 4] short; 5] desc(descriptive) </a:documentation>
               <ref name="data.enumerated"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="teiHeader">
      <element name="teiHeader">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI header) supplies the descriptive and declarative information making up an electronic title page for every TEI-conformant document. [2.1.1. The TEI Header and Its Components 15.1. Varieties of Composite Text]</a:documentation>
         <group>
            <ref name="fileDesc"/>
            <zeroOrMore>
               <ref name="model.teiHeaderPart"/>
            </zeroOrMore>
         </group>
         <ref name="att.global.attributes"/>
         <optional>
            <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                       name="type"
                       a:defaultValue="text">
               <a:documentation>specifies the kind of document to which the header is attached, for example whether it is a corpus or individual text.
Sample values include: 1] text; 2] corpus</a:documentation>
               <ref name="data.enumerated"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="fileDesc">
      <element name="fileDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(file description) contains a full bibliographic description of an electronic file. [2.2. The File Description 2.1.1. The TEI Header and Its Components]</a:documentation>
         <group>
            <group>
               <ref name="titleStmt"/>
               <ref name="publicationStmt"/>
            </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>
         <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>
         <choice>
            <oneOrMore>
               <group>
                  <group>
                     <ref name="model.publicationStmtPart.agency"/>
                  </group>
                  <zeroOrMore>
                     <ref name="model.publicationStmtPart.detail"/>
                  </zeroOrMore>
               </group>
            </oneOrMore>
            <oneOrMore>
               <ref name="model.pLike"/>
            </oneOrMore>
         </choice>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="sourceDesc">
      <element name="sourceDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(source description) describes the source from which an electronic text was derived or generated, typically a bibliographic description in the case of a digitized text, or a phrase such as "born digital" for a text which has no previous existence. [2.2.7. The Source Description]</a:documentation>
         <choice>
            <oneOrMore>
               <ref name="model.pLike"/>
            </oneOrMore>
            <oneOrMore>
               <choice>
                  <ref name="model.biblLike"/>
                  <ref name="model.sourceDescPart"/>
                  <ref name="model.listLike"/>
               </choice>
            </oneOrMore>
         </choice>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="TEI">
      <element name="TEI">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI document) contains a single TEI-conformant document, containing a single TEI header, a single text, one or more members of the model.resourceLike class, or a combination of these. A series of TEI elements may be combined together to form a teiCorpus element. [4. Default Text Structure 15.1. Varieties of Composite Text]</a:documentation>
         <group>
            <ref name="teiHeader"/>
            <choice>
               <group>
                  <oneOrMore>
                     <ref name="model.resourceLike"/>
                  </oneOrMore>
                  <optional>
                     <ref name="text"/>
                  </optional>
               </group>
               <ref name="text"/>
            </choice>
         </group>
         <ns xmlns="http://purl.oclc.org/dsdl/schematron"
             prefix="tei"
             uri="http://www.tei-c.org/ns/1.0"/>
         <ns xmlns="http://purl.oclc.org/dsdl/schematron"
             prefix="xs"
             uri="http://www.w3.org/2001/XMLSchema"/>
         <ns xmlns="http://purl.oclc.org/dsdl/schematron"
             prefix="rng"
             uri="http://relaxng.org/ns/structure/1.0"/>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="text">
      <element name="text">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a single text of any kind, whether unitary or composite, for example a poem or drama, a collection of essays, a novel, a dictionary, or a corpus sample. [4. Default Text Structure 15.1. Varieties of Composite Text]</a:documentation>
         <group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
            <optional>
               <ref name="front"/>
               <zeroOrMore>
                  <ref name="model.global"/>
               </zeroOrMore>
            </optional>
            <choice>
               <ref name="body"/>
            </choice>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
            <optional>
               <ref name="back"/>
               <zeroOrMore>
                  <ref name="model.global"/>
               </zeroOrMore>
            </optional>
         </group>
         <ref name="att.global.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="body">
      <element name="body">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text body) contains the whole body of a single unitary text, excluding any front or back matter. [4. Default Text Structure]</a:documentation>
         <group>
            <zeroOrMore>
               <ref name="model.global"/>
            </zeroOrMore>
            <optional>
               <group>
                  <group>
                     <ref name="model.divTop"/>
                  </group>
                  <zeroOrMore>
                     <choice>
                        <ref name="model.global"/>
                        <ref name="model.divTop"/>
                     </choice>
                  </zeroOrMore>
               </group>
            </optional>
            <optional>
               <group>
                  <group>
                     <ref name="model.divGenLike"/>
                  </group>
                  <zeroOrMore>
                     <choice>
                        <ref name="model.global"/>
                        <ref name="model.divGenLike"/>
                     </choice>
                  </zeroOrMore>
               </group>
            </optional>
            <group>
               <choice>
                  <oneOrMore>
                     <group>
                        <group>
                           <ref name="model.divLike"/>
                        </group>
                        <zeroOrMore>
                           <choice>
                              <ref name="model.global"/>
                              <ref name="model.divGenLike"/>
                           </choice>
                        </zeroOrMore>
                     </group>
                  </oneOrMore>
                  <oneOrMore>
                     <group>
                        <group>
                           <ref name="model.div1Like"/>
                        </group>
                        <zeroOrMore>
                           <choice>
                              <ref name="model.global"/>
                              <ref name="model.divGenLike"/>
                           </choice>
                        </zeroOrMore>
                     </group>
                  </oneOrMore>
                  <group>
                     <oneOrMore>
                        <group>
                           <ref name="model.common"/>
                        </group>
                        <zeroOrMore>
                           <ref name="model.global"/>
                        </zeroOrMore>
                     </oneOrMore>
                     <optional>
                        <choice>
                           <oneOrMore>
                              <group>
                                 <group>
                                    <ref name="model.divLike"/>
                                 </group>
                                 <zeroOrMore>
                                    <choice>
                                       <ref name="model.global"/>
                                       <ref name="model.divGenLike"/>
                                    </choice>
                                 </zeroOrMore>
                              </group>
                           </oneOrMore>
                           <oneOrMore>
                              <group>
                                 <group>
                                    <ref name="model.div1Like"/>
                                 </group>
                                 <zeroOrMore>
                                    <choice>
                                       <ref name="model.global"/>
                                       <ref name="model.divGenLike"/>
                                    </choice>
                                 </zeroOrMore>
                              </group>
                           </oneOrMore>
                        </choice>
                     </optional>
                  </group>
               </choice>
            </group>
            <zeroOrMore>
               <group>
                  <group>
                     <ref name="model.divBottom"/>
                  </group>
                  <zeroOrMore>
                     <ref name="model.global"/>
                  </zeroOrMore>
               </group>
            </zeroOrMore>
         </group>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="div">
      <element name="div">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text division) contains a subdivision of the front, body, or back of a text. [4.1. Divisions of the Body]</a:documentation>
         <group>
            <zeroOrMore>
               <choice>
                  <ref name="model.divTop"/>
                  <ref name="model.global"/>
               </choice>
            </zeroOrMore>
            <optional>
               <choice>
                  <group>
                     <oneOrMore>
                        <choice>
                           <ref name="model.divLike"/>
                           <ref name="model.divGenLike"/>
                        </choice>
                        <zeroOrMore>
                           <ref name="model.global"/>
                        </zeroOrMore>
                     </oneOrMore>
                  </group>
                  <group>
                     <oneOrMore>
                        <group>
                           <ref name="model.common"/>
                        </group>
                        <zeroOrMore>
                           <ref name="model.global"/>
                        </zeroOrMore>
                     </oneOrMore>
                     <zeroOrMore>
                        <choice>
                           <ref name="model.divLike"/>
                           <ref name="model.divGenLike"/>
                        </choice>
                        <zeroOrMore>
                           <ref name="model.global"/>
                        </zeroOrMore>
                     </zeroOrMore>
                  </group>
               </choice>
               <zeroOrMore>
                  <group>
                     <ref name="model.divBottom"/>
                  </group>
                  <zeroOrMore>
                     <ref name="model.global"/>
                  </zeroOrMore>
               </zeroOrMore>
            </optional>
         </group>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="tei_bare-div-abstractModel-structure-l-constraint-3">
            <rule context="tei:div">
               <report xmlns:tei="http://www.tei-c.org/ns/1.0"
                       xmlns:rng="http://relaxng.org/ns/structure/1.0"
                       test="ancestor::tei:l">
        Abstract model violation: Lines may not contain higher-level structural elements such as div.
      </report>
            </rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="tei_bare-div-abstractModel-structure-p-constraint-4">
            <rule context="tei:div">
               <report xmlns:tei="http://www.tei-c.org/ns/1.0"
                       xmlns:rng="http://relaxng.org/ns/structure/1.0"
                       test="ancestor::tei:p or ancestor::tei:ab and not(ancestor::tei:floatingText)">
        Abstract model violation: p and ab may not contain higher-level structural elements such as div.
      </report>
            </rule>
         </pattern>
         <ref name="att.global.attributes"/>
         <ref name="att.divLike.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="front">
      <element name="front">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(front matter) contains any prefatory matter (headers, title page, prefaces, dedications, etc.) found at the start of a document, before the main body. [4.6. Title Pages 4. Default Text Structure]</a:documentation>
         <group>
            <group>
               <zeroOrMore>
                  <choice>
                     <ref name="model.frontPart"/>
                     <ref name="model.pLike"/>
                     <ref name="model.pLike.front"/>
                     <ref name="model.global"/>
                  </choice>
               </zeroOrMore>
            </group>
            <optional>
               <choice>
                  <group>
                     <ref name="model.div1Like"/>
                     <zeroOrMore>
                        <choice>
                           <ref name="model.div1Like"/>
                           <ref name="model.frontPart"/>
                           <ref name="model.global"/>
                        </choice>
                     </zeroOrMore>
                  </group>
                  <group>
                     <ref name="model.divLike"/>
                     <zeroOrMore>
                        <choice>
                           <ref name="model.divLike"/>
                           <ref name="model.frontPart"/>
                           <ref name="model.global"/>
                        </choice>
                     </zeroOrMore>
                  </group>
               </choice>
               <group>
                  <optional>
                     <group>
                        <ref name="model.divBottom"/>
                     </group>
                     <zeroOrMore>
                        <choice>
                           <ref name="model.divBottom"/>
                           <ref name="model.global"/>
                        </choice>
                     </zeroOrMore>
                  </optional>
               </group>
            </optional>
         </group>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="back">
      <element name="back">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(back matter) contains any appendixes, etc. following the main part of a text. [4.7. Back Matter 4. Default Text Structure]</a:documentation>
         <group>
            <zeroOrMore>
               <choice>
                  <ref name="model.frontPart"/>
                  <ref name="model.pLike.front"/>
                  <ref name="model.pLike"/>
                  <ref name="model.listLike"/>
                  <ref name="model.global"/>
               </choice>
            </zeroOrMore>
            <group>
               <optional>
                  <choice>
                     <group>
                        <group>
                           <ref name="model.div1Like"/>
                        </group>
                        <zeroOrMore>
                           <choice>
                              <ref name="model.frontPart"/>
                              <ref name="model.div1Like"/>
                              <ref name="model.global"/>
                           </choice>
                        </zeroOrMore>
                     </group>
                     <group>
                        <group>
                           <ref name="model.divLike"/>
                        </group>
                        <zeroOrMore>
                           <choice>
                              <ref name="model.frontPart"/>
                              <ref name="model.divLike"/>
                              <ref name="model.global"/>
                           </choice>
                        </zeroOrMore>
                     </group>
                  </choice>
               </optional>
            </group>
            <group>
               <optional>
                  <group>
                     <ref name="model.divBottomPart"/>
                  </group>
                  <zeroOrMore>
                     <choice>
                        <ref name="model.divBottomPart"/>
                        <ref name="model.global"/>
                     </choice>
                  </zeroOrMore>
               </optional>
            </group>
         </group>
         <ref name="att.global.attributes"/>
         <empty/>
      </element>
   </define>
   <start>
      <ref name="TEI"/>
   </start>
</grammar>
