<?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.music-encoding.org/ns/mei"><!--
Schema generated from ODD source 2013-05-16T20:33:03Z. 
Edition: 2013 Release
Edition Location: http://www.tei-c.org/Vault/P5//

--><!----><sch:ns xmlns:sch="http://purl.oclc.org/dsdl/schematron" prefix="tei"
           uri="http://www.tei-c.org/ns/1.0"/>
   <define name="data.ACCIDENTAL.EXPLICIT">
      <choice>
         <value>s</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sharp</a:documentation>
         <value>f</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">flat</a:documentation>
         <value>ss</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double sharp (written as 2 sharps)</a:documentation>
         <value>x</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double sharp (written using croix)</a:documentation>
         <value>ff</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double flat</a:documentation>
         <value>xs</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">triple sharp (written as croix and 2 sharps)</a:documentation>
         <value>ts</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">triple sharp (written as 3 sharps)</a:documentation>
         <value>tf</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">triple flat</a:documentation>
         <value>n</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">natural</a:documentation>
         <value>nf</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">natural + flat</a:documentation>
         <value>ns</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">natural + sharp</a:documentation>
         <value>su</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sharp note raised by quarter tone</a:documentation>
         <value>sd</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sharp note lowered by quarter tone</a:documentation>
         <value>fu</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">flat note raised by quarter tone</a:documentation>
         <value>fd</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">flat note lowered by quarter tone</a:documentation>
         <value>nu</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">natural note raised by quarter tone</a:documentation>
         <value>nd</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">natural note lowered by quarter tone</a:documentation>
      </choice>
   </define>
   <define name="data.ACCIDENTAL.IMPLICIT">
      <choice>
         <value>s</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sharp</a:documentation>
         <value>f</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">flat</a:documentation>
         <value>ss</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double sharp</a:documentation>
         <value>ff</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double flat</a:documentation>
         <value>n</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">natural</a:documentation>
         <value>su</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">three quarter-tones sharp</a:documentation>
         <value>sd</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quarter-tone sharp</a:documentation>
         <value>fu</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quarter-tone flat</a:documentation>
         <value>fd</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">three quarter-tones flat</a:documentation>
      </choice>
   </define>
   <define name="data.ARTICULATION">
      <choice>
         <value>acc</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">accent (Unicode 1D17B)</a:documentation>
         <value>stacc</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">staccato (Unicode 1D17C)</a:documentation>
         <value>ten</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tenuto (Unicode 1D17D)</a:documentation>
         <value>stacciss</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">staccatissimo (Unicode 1D17E)</a:documentation>
         <value>marc</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marcato (Unicode 1D17F)</a:documentation>
         <value>marc-stacc</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marcato + staccato (Unicode 1D180)</a:documentation>
         <value>spicc</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">spiccato</a:documentation>
         <value>doit</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">main note followed by short slide to higher, indeterminate pitch (Unicode
            1D185)</a:documentation>
         <value>rip</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">main note preceded by short slide from lower, indeterminate pitch
            (Unicode 1D186)</a:documentation>
         <value>plop</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">main note preceded by "slide" from higher, indeterminate
            pitch</a:documentation>
         <value>fall</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">main note followed by long "slide" to lower, indeterminate
            pitch</a:documentation>
         <value>bend</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">"lip slur" to lower pitch, then return to written pitch</a:documentation>
         <value>flip</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">main note followed by quick upward rise, then descent in pitch (Unicode
            1D187)</a:documentation>
         <value>smear</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Unicode 1D188)</a:documentation>
         <value>dnbow</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">down bow (Unicode 1D1AA)</a:documentation>
         <value>upbow</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">up bow (Unicode 1D1AB)</a:documentation>
         <value>harm</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">harmonic (Unicode 1D1AC)</a:documentation>
         <value>snap</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">snap pizzicato (Unicode 1D1AD)</a:documentation>
         <value>fingernail</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fingernail (Unicode 1D1B3)</a:documentation>
         <value>ten-stacc</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tenuto + staccato (Unicode 1D182)</a:documentation>
         <value>damp</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dampen harp string (Unicode 1D1B4)</a:documentation>
         <value>dampall</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dampen all harp strings (Unicode 1D1B5)</a:documentation>
         <value>open</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">full (as opposed to stopped) tone</a:documentation>
         <value>stop</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">"muffled" tone</a:documentation>
         <value>dbltongue</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double tongue (Unicode 1D18A)</a:documentation>
         <value>trpltongue</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">triple tongue (Unicode 1D18B)</a:documentation>
         <value>heel</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">use heel (organ pedal)</a:documentation>
         <value>toe</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">use toe (organ pedal)</a:documentation>
         <value>tap</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">percussive effect on guitar string(s)</a:documentation>
         <value>lhpizz</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">left-hand pizzicato</a:documentation>
         <value>dot</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">uninterpreted dot</a:documentation>
         <value>stroke</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">uninterpreted stroke</a:documentation>
      </choice>
   </define>
   <define name="data.ARTICULATIONS">
      <list>
         <oneOrMore>
            <ref name="data.ARTICULATION"/>
         </oneOrMore>
      </list>
   </define>
   <define name="data.AUGMENTDOT">
      <data type="nonNegativeInteger">
         <param name="maxInclusive">4</param>
      </data>
   </define>
   <define name="data.BARPLACE">
      <choice>
         <value>mensur</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">between staves only</a:documentation>
         <value>staff</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">between and across staves as necessary</a:documentation>
         <value>takt</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">short line above staff or through top line</a:documentation>
      </choice>
   </define>
   <define name="data.BARRENDITION">
      <choice>
         <value>dashed</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dashed line (Unicode 1D104)</a:documentation>
         <value>dotted</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dotted line</a:documentation>
         <value>dbl</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Unicode 1D101)</a:documentation>
         <value>dbldashed</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double dashed line</a:documentation>
         <value>dbldotted</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double dotted line</a:documentation>
         <value>end</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Unicode 1D102)</a:documentation>
         <value>invis</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bar line not rendered</a:documentation>
         <value>rptstart</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">repeat start (Unicode 1D106)</a:documentation>
         <value>rptboth</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">repeat start and end</a:documentation>
         <value>rptend</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">repeat end (Unicode 1D107)</a:documentation>
         <value>single</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Unicode 1D100)</a:documentation>
      </choice>
   </define>
   <define name="data.BEAM">
      <data type="token">
         <param name="pattern">[i|m|t][1-6]</param>
      </data>
   </define>
   <define name="data.BEAMS">
      <list>
         <oneOrMore>
            <ref name="data.BEAM"/>
         </oneOrMore>
      </list>
   </define>
   <define name="data.BEAT">
      <data type="decimal">
         <param name="minInclusive">0</param>
      </data>
   </define>
   <define name="data.BEATRPT.REND">
      <choice>
         <data type="positiveInteger">
            <param name="pattern">4|8|16|32|64|128</param>
         </data>
         <data type="token">
            <param name="pattern">mixed</param>
         </data>
      </choice>
   </define>
   <define name="data.BEND.AMOUNT">
      <choice>
         <data type="decimal">
            <param name="pattern">1|\.25|\.5|\.75</param>
         </data>
         <data type="token">
            <param name="pattern">full</param>
         </data>
      </choice>
   </define>
   <define name="data.BOOLEAN">
      <choice>
         <value>true</value>
         <value>false</value>
      </choice>
   </define>
   <define name="data.CERTAINTY">
      <choice>
         <value>high</value>
         <value>medium</value>
         <value>low</value>
         <value>unknown</value>
      </choice>
   </define>
   <define name="data.CLEFLINE">
      <data type="positiveInteger"/>
   </define>
   <define name="data.CLEFSHAPE">
      <choice>
         <value>G</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">G clef (Unicode 1D11E)</a:documentation>
         <value>GG</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Double G clef</a:documentation>
         <value>F</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">F clef (Unicode 1D122)</a:documentation>
         <value>C</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">C clef (Unicode 1D121)</a:documentation>
         <value>perc</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Drum clef (Unicode 1D125 or Unicode 1D126)</a:documentation>
         <value>TAB</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tablature "clef"; i.e. usually "TAB" rendered
            vertically</a:documentation>
      </choice>
   </define>
   <define name="data.CLUSTER">
      <choice>
         <value>whbox</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unfilled box</a:documentation>
         <value>blbox</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filled box</a:documentation>
      </choice>
   </define>
   <define name="data.COLOR">
      <choice>
         <data type="token">
            <param name="pattern">#[0-9A-Fa-f]{6,6}</param>
         </data>
         <data type="token">
            <param name="pattern">#[0-9A-Fa-f]{8,8}</param>
         </data>
         <data type="token">
            <param name="pattern">rgb\((\s*(([01]?[0-9]?[0-9])|2[0-4][0-9]|25[0-5])\s*,\s*){2}([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\s*\)</param>
         </data>
         <data type="token">
            <param name="pattern">rgba\(\s*(([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\s*,\s*){3}(0(\.\d+)?|1(\.0+)?)\s*\)|rgba\(\s*(((\d{1,2})?%|100%)\s*,\s*){2}(\d{1,2}%|100%)\s*,\s*(0(\.\d+)?|1(\.0+)?)\s*\)</param>
         </data>
         <data type="token">
            <param name="pattern">hsl\(\s*((\d{1,2})|[12]\d{2}|3[0-5]\d|360)\s*,\s*(\d{1,2}%|100%)\s*,\s*(\d{1,2}%|100%)\s*\)</param>
         </data>
         <data type="token">
            <param name="pattern">hsla\(\s*(\d{1,2}|[12]\d{2}|3[0-5]\d|360)\s*,\s*(\d{1,2}%|100%)\s*,\s*(\d{1,2}%|100%)\s*,\s*(0(\.\d+)?|1(\.0+)?)\s*\)</param>
         </data>
         <value>aqua</value>
         <value>black</value>
         <value>blue</value>
         <value>fuchsia</value>
         <value>gray</value>
         <value>green</value>
         <value>lime</value>
         <value>maroon</value>
         <value>navy</value>
         <value>olive</value>
         <value>purple</value>
         <value>red</value>
         <value>silver</value>
         <value>teal</value>
         <value>white</value>
         <value>yellow</value>
      </choice>
   </define>
   <define name="data.COLORS">
      <list>
         <oneOrMore>
            <ref name="data.COLOR"/>
         </oneOrMore>
      </list>
   </define>
   <define name="data.CURVERENDITION">
      <choice>
         <value>narrow</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">default line width</a:documentation>
         <value>medium</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">twice as wide as normal</a:documentation>
         <value>wide</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">twice as wide as medium</a:documentation>
         <value>dashed</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dashed</a:documentation>
         <value>dotted</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dotted</a:documentation>
      </choice>
   </define>
   <define name="data.DEGREES">
      <data type="decimal">
         <param name="maxInclusive">360.0</param>
         <param name="minInclusive">-360.0</param>
      </data>
   </define>
   <define name="data.DURATION">
      <choice>
         <ref name="data.DURATION.cmn"/>
         <ref name="data.DURATION.mensural"/>
      </choice>
   </define>
   <define name="data.DURATION.additive">
      <list>
         <oneOrMore>
            <data type="token">
               <param name="pattern">(long|breve|1|2|4|8|16|32|64|128|256|1024|2048)(\.)*</param>
            </data>
         </oneOrMore>
      </list>
   </define>
   <define name="data.DURATION.gestural">
      <choice>
         <list>
            <oneOrMore>
               <data type="token">
                  <param name="pattern">[0-9]+(\.)*r</param>
               </data>
            </oneOrMore>
         </list>
         <data type="token">
            <param name="pattern">[0-9]+((\.)*p|(\.[0-9]+)?(b|s))</param>
         </data>
         <ref name="data.DURATION.mensural"/>
      </choice>
   </define>
   <define name="data.ENCLOSURE">
      <choice>
         <value>paren</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">parentheses</a:documentation>
         <value>brack</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">square brackets</a:documentation>
      </choice>
   </define>
   <define name="data.FINGER.FRET">
      <choice>
         <data type="positiveInteger">
            <param name="minInclusive">1</param>
            <param name="maxInclusive">4</param>
         </data>
         <data type="token">
            <param name="pattern">x|o|t</param>
         </data>
      </choice>
   </define>
   <define name="data.FONTFAMILY">
      <data type="token"/>
   </define>
   <define name="data.FONTNAME">
      <data type="token"/>
   </define>
   <define name="data.FONTSIZE">
      <data type="token">
         <param name="pattern">\d+(\.\d+)?(pt)?</param>
      </data>
   </define>
   <define name="data.FONTSTYLE">
      <choice>
         <value>italic</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">text slants to right</a:documentation>
         <value>normal</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unadorned</a:documentation>
         <value>oblique</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">text slants to the left</a:documentation>
      </choice>
   </define>
   <define name="data.FONTWEIGHT">
      <choice>
         <value>bold</value>
         <value>normal</value>
      </choice>
   </define>
   <define name="data.FRET">
      <data type="positiveInteger">
         <param name="minInclusive">1</param>
         <param name="maxInclusive">5</param>
      </data>
   </define>
   <define name="data.FRETNUMBER">
      <choice>
         <data type="nonNegativeInteger">
            <param name="minInclusive">1</param>
            <param name="maxInclusive">9</param>
         </data>
         <data type="token">
            <param name="pattern">o</param>
         </data>
      </choice>
   </define>
   <define name="data.GLISSANDO">
      <choice>
         <value>i</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">first note/chord in glissando</a:documentation>
         <value>m</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">note/chord that's neither first nor last in glissando</a:documentation>
         <value>t</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">last note in glissando</a:documentation>
      </choice>
   </define>
   <define name="data.GRACE">
      <choice>
         <value>acc</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">time "stolen" from following note</a:documentation>
         <value>unacc</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">time "stolen" from previous note</a:documentation>
         <value>unknown</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">no interpretation regarding performed value of grace
            note</a:documentation>
      </choice>
   </define>
   <define name="data.HEADSHAPE">
      <choice>
         <value>quarter</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filled oval (Unicode 1D158)</a:documentation>
         <value>half</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">open oval (Unicode 1D157)</a:documentation>
         <value>whole</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">open oval (Unicode 1D15D)</a:documentation>
         <value>dblwhole</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">modern breve (Unicode 1D15C)</a:documentation>
         <value>filldiamond</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filled diamond (Unicode 1D1BA)</a:documentation>
         <value>diamond</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">open diamond (Unicode 1D1B9)</a:documentation>
         <value>dwdiamond</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double whole diamond (Mup)</a:documentation>
         <value>fillisotriangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filled isosceles triangle (Unicode 1D149)</a:documentation>
         <value>isotriangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">open isosceles triangle (Unicode 1D148)</a:documentation>
         <value>dwhisotriangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double whole open isosceles triangle (Unicode 1D14E)</a:documentation>
         <value>fillpiewedge</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filled downward-pointing wedge (Unicode 1D155)</a:documentation>
         <value>piewedge</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">downward-pointing wedge (Unicode 1D154)</a:documentation>
         <value>dwhpiewedge</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double whole downward-pointing wedge (Mup)</a:documentation>
         <value>fillrectangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filled rectangle (Unicode 1D147)</a:documentation>
         <value>rectangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">open rectangle (Unicode 1D146)</a:documentation>
         <value>dwhrectangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double whole open rectangle (Mup)</a:documentation>
         <value>fillrtriangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filled right triangle (Unicode 1D14B)</a:documentation>
         <value>rtriangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">open right triangle (Unicode 1D14A)</a:documentation>
         <value>dwrtriangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double whole right triangle (Mup)</a:documentation>
         <value>fillurtriangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filled upper right triangle (Unicode 1D151)</a:documentation>
         <value>urtriangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">open upper right triangle (Unicode 1D150)</a:documentation>
         <value>dwurtriangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double whole upper right triangle</a:documentation>
         <value>fillsemicircle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filled semi-circle (Unicode 1D153)</a:documentation>
         <value>semicircle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">open semi-circle (Unicode 1D152)</a:documentation>
         <value>dwsemicircle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double whole open semi-circle (Mup)</a:documentation>
         <value>fillslash</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filled slash (Mup)</a:documentation>
         <value>slash</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">open slash (Mup)</a:documentation>
         <value>dwslash</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double whole open slash (Mup)</a:documentation>
         <value>x</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">X (Unicode 1D143)</a:documentation>
         <value>blank</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">note head not rendered (Unicode 1D159)</a:documentation>
         <value>circlex</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">X within circle (Unicode 1D145)</a:documentation>
         <value>cross</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">plus sign (Unicode 1D144)</a:documentation>
         <value>addslash</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">added diagonal slash (/) through default note head</a:documentation>
         <value>addbackslash (MusicXML)</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">added diagonal backslash (\) through default note head
            (MusicXML)</a:documentation>
      </choice>
   </define>
   <define name="data.INEUMEFORM">
      <choice>
         <value>liquescent1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>liquescent2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>tied</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>tiedliquescent1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>tiedliquescent2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
      </choice>
   </define>
   <define name="data.INEUMENAME">
      <choice>
         <value>pessubpunctis</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>climacus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>scandicus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>bistropha</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>tristropha</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>pressusminor</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>pressusmaior</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
      </choice>
   </define>
   <define name="data.INTERVAL.AMOUNT">
      <choice>
         <data type="decimal"/>
         <data type="token">
            <param name="pattern">u|d|s</param>
         </data>
         <data type="token">
            <param name="pattern">(\+|\-)?[AdMmP][0-9]+</param>
         </data>
      </choice>
   </define>
   <define name="data.ISODATE">
      <choice>
         <data type="date"/>
         <data type="gYear"/>
         <data type="gMonth"/>
         <data type="gDay"/>
         <data type="gYearMonth"/>
         <data type="gMonthDay"/>
         <data type="time"/>
         <data type="dateTime"/>
         <data type="token">
            <param name="pattern">[0-9.,DHMPRSTWYZ/:+\-]+</param>
         </data>
      </choice>
   </define>
   <define name="data.ISOTIME">
      <data type="time"/>
   </define>
   <define name="data.KEYSIGNATURE">
      <data type="token">
         <param name="pattern">mixed|0|[1-7][f|s]</param>
      </data>
   </define>
   <define name="data.LAYERSCHEME">
      <choice>
         <value>1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">single layer</a:documentation>
         <value>2o</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">two layers with opposing stems</a:documentation>
         <value>2f</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">two layers with 'floating' stems</a:documentation>
         <value>3o</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>3f</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
      </choice>
   </define>
   <define name="data.LIGATUREFORM">
      <choice>
         <value>recta</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">notes are "squeezed" together</a:documentation>
         <value>obliqua</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">individual notes are replaced by an oblique figure</a:documentation>
      </choice>
   </define>
   <define name="data.LINERENDITION">
      <choice>
         <value>narrow</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">default line width</a:documentation>
         <value>medium</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">twice as wide as narrow</a:documentation>
         <value>wide</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">twice as wide as medium</a:documentation>
         <value>dashed</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dashed line</a:documentation>
         <value>dotted</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dotted line</a:documentation>
         <value>wavy</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">undulating line</a:documentation>
      </choice>
   </define>
   <define name="data.MEASUREBEAT">
      <data type="token">
         <param name="pattern">([0-9]+m\s*\+\s*)?[0-9]+(\.?[0-9]*)?</param>
      </data>
   </define>
   <define name="data.MEASUREMENT">
      <data type="token">
         <param name="pattern">(\+|-)?\d+(\.\d+)?(cm|mm|in|pt|pc|vu)?</param>
      </data>
   </define>
   <define name="data.MELODICFUNCTION">
      <choice>
         <value>aln</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">accented lower neighbor</a:documentation>
         <value>ant</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">anticipation</a:documentation>
         <value>app</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">appogiatura</a:documentation>
         <value>apt</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">accented passing tone</a:documentation>
         <value>arp</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">arpeggio tone (chordal tone)</a:documentation>
         <value>arp7</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">arpeggio tone (7th added to the chord)</a:documentation>
         <value>aun</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">accented upper neighbor</a:documentation>
         <value>chg</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">changing tone</a:documentation>
         <value>cln</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">chromatic lower neighbor</a:documentation>
         <value>ct</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">chord tone (i.e., not an embellishment)</a:documentation>
         <value>ct7</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">chord tone (7th added to the chord)</a:documentation>
         <value>cun</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">chromatic upper neighbor</a:documentation>
         <value>cup</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">chromatic unaccented passing tone</a:documentation>
         <value>et</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">escape tone</a:documentation>
         <value>ln</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lower neighbor</a:documentation>
         <value>ped</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pedal tone</a:documentation>
         <value>rep</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">repeated tone</a:documentation>
         <value>ret</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">retardation</a:documentation>
         <value>23ret</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">2-3 retardation</a:documentation>
         <value>78ret</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">7-8 retardation</a:documentation>
         <value>sus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">suspension</a:documentation>
         <value>43sus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">4-3 suspension</a:documentation>
         <value>98sus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">9-8 suspension</a:documentation>
         <value>76sus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">7-6 suspension</a:documentation>
         <value>un</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">upper neighbor</a:documentation>
         <value>un7</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">upper neighbor (7th added to the chord)</a:documentation>
         <value>upt</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unaccented passing tone</a:documentation>
         <value>upt7</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unaccented passing tone (7th added to the chord)</a:documentation>
      </choice>
   </define>
   <define name="data.MENSURATIONSIGN">
      <choice>
         <value>C</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tempus imperfectum</a:documentation>
         <value>O</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tempus perfectum</a:documentation>
      </choice>
   </define>
   <define name="data.METERSIGN">
      <choice>
         <value>common</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">common time; i.e. 4/4</a:documentation>
         <value>cut</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cut time; i.e. 2/2</a:documentation>
      </choice>
   </define>
   <define name="data.MIDICHANNEL">
      <data type="positiveInteger">
         <param name="maxInclusive">16</param>
      </data>
   </define>
   <define name="data.MIDINAMES">
      <choice>
         <value>Acoustic_Grand_Piano</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #0</a:documentation>
         <value>Bright_Acoustic_Piano</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #1</a:documentation>
         <value>Electric_Grand_Piano</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #2</a:documentation>
         <value>Honky-tonk_Piano</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #3</a:documentation>
         <value>Electric_Piano_1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #4</a:documentation>
         <value>Electric_Piano_2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #5</a:documentation>
         <value>Harpsichord</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #6</a:documentation>
         <value>Clavi</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #7</a:documentation>
         <value>Celesta</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #8</a:documentation>
         <value>Glockenspiel</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #9</a:documentation>
         <value>Music_Box</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #10</a:documentation>
         <value>Vibraphone</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #11</a:documentation>
         <value>Marimba</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #12</a:documentation>
         <value>Xylophone</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #13</a:documentation>
         <value>Tubular_Bells</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #14</a:documentation>
         <value>Dulcimer</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #15</a:documentation>
         <value>Drawbar_Organ</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #16</a:documentation>
         <value>Percussive_Organ</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #17</a:documentation>
         <value>Rock_Organ</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #18</a:documentation>
         <value>Church_Organ</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #19</a:documentation>
         <value>Reed_Organ</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #20</a:documentation>
         <value>Accordion</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #21</a:documentation>
         <value>Harmonica</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #22</a:documentation>
         <value>Tango_Accordion</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #23</a:documentation>
         <value>Acoustic_Guitar_nylon</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #24</a:documentation>
         <value>Acoustic_Guitar_steel</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #25</a:documentation>
         <value>Electric_Guitar_jazz</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #26</a:documentation>
         <value>Electric_Guitar_clean</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #27</a:documentation>
         <value>Electric_Guitar_muted</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #28</a:documentation>
         <value>Overdriven_Guitar</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #29</a:documentation>
         <value>Distortion_Guitar</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #30</a:documentation>
         <value>Guitar_harmonics</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #31</a:documentation>
         <value>Acoustic_Bass</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #32</a:documentation>
         <value>Electric_Bass_finger</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #33</a:documentation>
         <value>Electric_Bass_pick</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #34</a:documentation>
         <value>Fretless_Bass</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #35</a:documentation>
         <value>Slap_Bass_1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #36</a:documentation>
         <value>Slap_Bass_2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #37</a:documentation>
         <value>Synth_Bass_1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #38</a:documentation>
         <value>Synth_Bass_2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #39</a:documentation>
         <value>Violin</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #40</a:documentation>
         <value>Viola</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #41</a:documentation>
         <value>Cello</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #42</a:documentation>
         <value>Contrabass</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #43</a:documentation>
         <value>Tremolo_Strings</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #44</a:documentation>
         <value>Pizzicato_Strings</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #45</a:documentation>
         <value>Orchestral_Harp</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #46</a:documentation>
         <value>Timpani</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #47</a:documentation>
         <value>String_Ensemble_1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #48</a:documentation>
         <value>String_Ensemble_2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #49</a:documentation>
         <value>SynthStrings_1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #50</a:documentation>
         <value>SynthStrings_2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #51</a:documentation>
         <value>Choir_Aahs</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #52</a:documentation>
         <value>Voice_Oohs</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #53</a:documentation>
         <value>Synth_Voice</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #54</a:documentation>
         <value>Orchestra_Hit</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #55</a:documentation>
         <value>Trumpet</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #56</a:documentation>
         <value>Trombone</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #57</a:documentation>
         <value>Tuba</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #58</a:documentation>
         <value>Muted_Trumpet</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #59</a:documentation>
         <value>French_Horn</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #60</a:documentation>
         <value>Brass_Section</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #61</a:documentation>
         <value>SynthBrass_1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #62</a:documentation>
         <value>SynthBrass_2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #63</a:documentation>
         <value>Soprano_Sax</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #64</a:documentation>
         <value>Alto_Sax</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #65</a:documentation>
         <value>Tenor_Sax</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #66</a:documentation>
         <value>Baritone_Sax</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #67</a:documentation>
         <value>Oboe</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #68</a:documentation>
         <value>English_Horn</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #69</a:documentation>
         <value>Bassoon</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #70</a:documentation>
         <value>Clarinet</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #71</a:documentation>
         <value>Piccolo</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #72</a:documentation>
         <value>Flute</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #73</a:documentation>
         <value>Recorder</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #74</a:documentation>
         <value>Pan_Flute</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #75</a:documentation>
         <value>Blown_Bottle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #76</a:documentation>
         <value>Shakuhachi</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #77</a:documentation>
         <value>Whistle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #78</a:documentation>
         <value>Ocarina</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #79</a:documentation>
         <value>Lead_1_square</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #80</a:documentation>
         <value>Lead_2_sawtooth</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #81</a:documentation>
         <value>Lead_3_calliope</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #82</a:documentation>
         <value>Lead_4_chiff</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #83</a:documentation>
         <value>Lead_5_charang</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #84</a:documentation>
         <value>Lead_6_voice</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #85</a:documentation>
         <value>Lead_7_fifths</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #86</a:documentation>
         <value>Lead_8_bass_and_lead</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #87</a:documentation>
         <value>Pad_1_new_age</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #88</a:documentation>
         <value>Pad_2_warm</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #89</a:documentation>
         <value>Pad_3_polysynth</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #90</a:documentation>
         <value>Pad_4_choir</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #91</a:documentation>
         <value>Pad_5_bowed</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #92</a:documentation>
         <value>Pad_6_metallic</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #93</a:documentation>
         <value>Pad_7_halo</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #94</a:documentation>
         <value>Pad_8_sweep</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #95</a:documentation>
         <value>FX_1_rain</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #96</a:documentation>
         <value>FX_2_soundtrack</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #97</a:documentation>
         <value>FX_3_crystal</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #98</a:documentation>
         <value>FX_4_atmosphere</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #99</a:documentation>
         <value>FX_5_brightness</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #100</a:documentation>
         <value>FX_6_goblins</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #101</a:documentation>
         <value>FX_7_echoes</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #102</a:documentation>
         <value>FX_8_sci-fi</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #103</a:documentation>
         <value>Sitar</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #104</a:documentation>
         <value>Banjo</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #105</a:documentation>
         <value>Shamisen</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #106</a:documentation>
         <value>Koto</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #107</a:documentation>
         <value>Kalimba</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #108</a:documentation>
         <value>Bagpipe</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #109</a:documentation>
         <value>Fiddle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #110</a:documentation>
         <value>Shanai</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #111</a:documentation>
         <value>Tinkle_Bell</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #112</a:documentation>
         <value>Agogo</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #113</a:documentation>
         <value>Steel_Drums</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #114</a:documentation>
         <value>Woodblock</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #115</a:documentation>
         <value>Taiko_Drum</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #116</a:documentation>
         <value>Melodic_Tom</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #117</a:documentation>
         <value>Synth_Drum</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #118</a:documentation>
         <value>Reverse_Cymbal</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #119</a:documentation>
         <value>Guitar_Fret_Noise</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #120</a:documentation>
         <value>Breath_Noise</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #121</a:documentation>
         <value>Seashore</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #122</a:documentation>
         <value>Bird_Tweet</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #123</a:documentation>
         <value>Telephone_Ring</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #124</a:documentation>
         <value>Helicopter</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #125</a:documentation>
         <value>Applause</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #126</a:documentation>
         <value>Gunshot</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Program #127</a:documentation>
         <value>Acoustic_Bass_Drum</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #35</a:documentation>
         <value>Bass_Drum_1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #36</a:documentation>
         <value>Side_Stick</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #37</a:documentation>
         <value>Acoustic_Snare</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #38</a:documentation>
         <value>Hand_Clap</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #39</a:documentation>
         <value>Electric_Snare</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #40</a:documentation>
         <value>Low_Floor_Tom</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #41</a:documentation>
         <value>Closed_Hi_Hat</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #42</a:documentation>
         <value>High_Floor_Tom</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #43</a:documentation>
         <value>Pedal_Hi-Hat</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #44</a:documentation>
         <value>Low_Tom</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #45</a:documentation>
         <value>Open_Hi-Hat</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #46</a:documentation>
         <value>Low-Mid_Tom</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #47</a:documentation>
         <value>Hi-Mid_Tom</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #48</a:documentation>
         <value>Crash_Cymbal_1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #49</a:documentation>
         <value>High_Tom</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #50</a:documentation>
         <value>Ride_Cymbal_1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #51</a:documentation>
         <value>Chinese_Cymbal</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #52</a:documentation>
         <value>Ride_Bell</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #53</a:documentation>
         <value>Tambourine</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #54</a:documentation>
         <value>Splash_Cymbal</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #55</a:documentation>
         <value>Cowbell</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #56</a:documentation>
         <value>Crash_Cymbal_2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #57</a:documentation>
         <value>Vibraslap</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #58</a:documentation>
         <value>Ride_Cymbal_2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #59</a:documentation>
         <value>Hi_Bongo</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #60</a:documentation>
         <value>Low_Bongo</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #61</a:documentation>
         <value>Mute_Hi_Conga</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #62</a:documentation>
         <value>Open_Hi_Conga</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #63</a:documentation>
         <value>Low_Conga</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #64</a:documentation>
         <value>High_Timbale</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #65</a:documentation>
         <value>Low_Timbale</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #66</a:documentation>
         <value>High_Agogo</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #67</a:documentation>
         <value>Low_Agogo</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #68</a:documentation>
         <value>Cabasa</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #69</a:documentation>
         <value>Maracas</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #70</a:documentation>
         <value>Short_Whistle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #71</a:documentation>
         <value>Long_Whistle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #72</a:documentation>
         <value>Short_Guiro</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #73</a:documentation>
         <value>Long_Guiro</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #74</a:documentation>
         <value>Claves</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #75</a:documentation>
         <value>Hi_Wood_Block</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #76</a:documentation>
         <value>Low_Wood_Block</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #77</a:documentation>
         <value>Mute_Cuica</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #78</a:documentation>
         <value>Open_Cuica</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #79</a:documentation>
         <value>Mute_Triangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #80</a:documentation>
         <value>Open_Triangle</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key #81</a:documentation>
      </choice>
   </define>
   <define name="data.MIDITEMPO">
      <data type="positiveInteger">
         <param name="minInclusive">10</param>
         <param name="maxInclusive">1000</param>
      </data>
   </define>
   <define name="data.MIDIVALUE">
      <data type="nonNegativeInteger">
         <param name="maxInclusive">127</param>
      </data>
   </define>
   <define name="data.MODE">
      <choice>
         <value>major</value>
         <value>minor</value>
         <value>dorian</value>
         <value>phrygian</value>
         <value>lydian</value>
         <value>mixolydian</value>
         <value>aeolian</value>
         <value>locrian</value>
      </choice>
   </define>
   <define name="data.MODUSMAIOR">
      <data type="positiveInteger">
         <param name="minInclusive">2</param>
         <param name="maxInclusive">3</param>
      </data>
   </define>
   <define name="data.MODUSMINOR">
      <data type="positiveInteger">
         <param name="minInclusive">2</param>
         <param name="maxInclusive">3</param>
      </data>
   </define>
   <define name="data.MUSICFONT">
      <data type="token"/>
   </define>
   <define name="data.OCTAVE">
      <data type="nonNegativeInteger">
         <param name="maxInclusive">9</param>
      </data>
   </define>
   <define name="data.OCTAVE.DIS">
      <data type="positiveInteger">
         <param name="pattern">8|15|22</param>
      </data>
   </define>
   <define name="data.ORIENTATION">
      <data type="token">
         <param name="pattern">reversed|90CW|90CCW</param>
      </data>
   </define>
   <define name="data.OTHERSTAFF">
      <choice>
         <value>above</value>
         <value>below</value>
      </choice>
   </define>
   <define name="data.PAGE.PANELS">
      <data type="positiveInteger">
         <param name="minInclusive">1</param>
         <param name="maxInclusive">2</param>
      </data>
   </define>
   <define name="data.PERCENT">
      <data type="token">
         <param name="pattern">[0-9]+(\.?[0-9]*)?%</param>
      </data>
   </define>
   <define name="data.PGSCALE">
      <ref name="data.PERCENT"/>
   </define>
   <define name="data.PITCHCLASS">
      <data type="nonNegativeInteger">
         <param name="maxInclusive">11</param>
      </data>
   </define>
   <define name="data.PITCHNAME">
      <data type="token">
         <param name="pattern">[a-g]</param>
      </data>
   </define>
   <define name="data.PITCHNAME.GES">
      <data type="token">
         <param name="pattern">[a-g]|none</param>
      </data>
   </define>
   <define name="data.PITCHNUMBER">
      <data type="nonNegativeInteger"/>
   </define>
   <define name="data.PLACE">
      <choice>
         <value>above</value>
         <value>below</value>
      </choice>
   </define>
   <define name="data.PROLATIO">
      <data type="positiveInteger">
         <param name="minInclusive">2</param>
         <param name="maxInclusive">3</param>
      </data>
   </define>
   <define name="data.SCALEDEGREE">
      <data type="token">
         <param name="pattern">(\^|v)?[1-7](\+|\-)?</param>
      </data>
   </define>
   <define name="data.SIZE">
      <choice>
         <value>normal</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">default size</a:documentation>
         <value>cue</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">reduced size</a:documentation>
      </choice>
   </define>
   <define name="data.SLASH">
      <data type="positiveInteger">
         <param name="minInclusive">1</param>
         <param name="maxInclusive">6</param>
      </data>
   </define>
   <define name="data.SLUR">
      <data type="token">
         <param name="pattern">[i|m|t][1-6]</param>
      </data>
   </define>
   <define name="data.SLURS">
      <list>
         <oneOrMore>
            <ref name="data.SLUR"/>
         </oneOrMore>
      </list>
   </define>
   <define name="data.STAFFLOC">
      <data type="integer"/>
   </define>
   <define name="data.STAFFREL">
      <choice>
         <value>above</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">written above staff</a:documentation>
         <value>below</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">written below staff</a:documentation>
         <value>within</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">written on staff</a:documentation>
      </choice>
   </define>
   <define name="data.STEMDIRECTION">
      <choice>
         <value>up</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stem points upward</a:documentation>
         <value>down</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stem points downward</a:documentation>
      </choice>
   </define>
   <define name="data.STEMMODIFIER">
      <choice>
         <value>1slash</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">1 slash through stem</a:documentation>
         <value>2slash</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">2 slashes through stem</a:documentation>
         <value>3slash</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">3 slashes through stem</a:documentation>
         <value>4slash</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">4 slashes through stem</a:documentation>
         <value>5slash</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">5 slashes through stem</a:documentation>
         <value>6slash</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">6 slashes through stem</a:documentation>
         <value>sprech</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">X placed on stem</a:documentation>
         <value>z</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Z placed on stem</a:documentation>
      </choice>
   </define>
   <define name="data.STEMPOSITION">
      <choice>
         <value>left</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stem attached to left side of note head</a:documentation>
         <value>right</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stem attached to right side of note head</a:documentation>
         <value>center</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stem is originates from center of note head</a:documentation>
      </choice>
   </define>
   <define name="data.STRINGNUMBER">
      <data type="positiveInteger"/>
   </define>
   <define name="data.TEMPERAMENT">
      <choice>
         <value>equal</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">equal or 12-tone temperament</a:documentation>
         <value>just</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">just intonation</a:documentation>
         <value>mean</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">meantone intonation</a:documentation>
         <value>pythagorean</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pythagorean tuning</a:documentation>
      </choice>
   </define>
   <define name="data.TEMPOVALUE">
      <data type="positiveInteger"/>
   </define>
   <define name="data.TEMPUS">
      <data type="positiveInteger">
         <param name="minInclusive">2</param>
         <param name="maxInclusive">3</param>
      </data>
   </define>
   <define name="data.TEXTRENDITION">
      <list>
         <oneOrMore>
            <choice>
               <value>xx-small</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font size</a:documentation>
               <value>x-small</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font size</a:documentation>
               <value>small</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font size</a:documentation>
               <value>medium</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font size</a:documentation>
               <value>large</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font size</a:documentation>
               <value>x-large</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font size</a:documentation>
               <value>xx-large</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font size</a:documentation>
               <value>smaller</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font size</a:documentation>
               <value>larger</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font size</a:documentation>
               <value>italic</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">italicized (slanted to right)</a:documentation>
               <value>oblique</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">oblique (slanted to left)</a:documentation>
               <value>smcaps</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">small capitals</a:documentation>
               <value>bold</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font weight</a:documentation>
               <value>bolder</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font weight</a:documentation>
               <value>lighter</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">relative font weight</a:documentation>
               <value>box</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">enclosed in box</a:documentation>
               <value>circle</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">enclosed in ellipse/circle</a:documentation>
               <value>dbox</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">enclosed in diamond</a:documentation>
               <value>tbox</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">enclosed in triangle</a:documentation>
               <value>bslash</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">struck through by '\' (back slash)</a:documentation>
               <value>fslash</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">struck through by '/' (forward slash)</a:documentation>
               <value>line-through</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">struck through by '-'; may be qualified to indicate multiple lines,
                e.g. line-through(2)</a:documentation>
               <value>none</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">not rendered, invisible</a:documentation>
               <value>overline</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">line above the text; may be qualified to indicate multiple lines,
                e.g. overline(3)</a:documentation>
               <value>strike</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">struck through by '-'; equivalent to line-through; may be qualified
                to indicate multiple lines, e.g. strike(3)</a:documentation>
               <value>sub</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">subscript</a:documentation>
               <value>sup</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">superscript</a:documentation>
               <value>underline</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">underlined; may be qualified to indicate multiple lines, e.g.
                underline(2)</a:documentation>
               <value>ltr</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">left-to-right (BIDI embed)</a:documentation>
               <value>rtl</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">right-to-left (BIDI embed)</a:documentation>
               <value>lro</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">eft-to-right (BIDI override)</a:documentation>
               <value>rlo</value>
               <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">right-to-left (BIDI override)</a:documentation>
               <data type="string">
                  <param name="pattern">(underline|overline|line-through|strike|letter-spacing|line-height)\(\d+\)</param>
               </data>
               <data type="string">
                  <param name="pattern">(letter-spacing|line-height)\((\+|-)?\d+(\.\d+)?\)</param>
               </data>
            </choice>
         </oneOrMore>
      </list>
   </define>
   <define name="data.TIE">
      <data type="token">
         <param name="pattern">[i|m|t]</param>
      </data>
   </define>
   <define name="data.TIES">
      <list>
         <oneOrMore>
            <ref name="data.TIE"/>
         </oneOrMore>
      </list>
   </define>
   <define name="data.TSTAMPOFFSET">
      <data type="decimal"/>
   </define>
   <define name="data.TUPLET">
      <data type="token">
         <param name="pattern">[i|m|t][1-6]</param>
      </data>
   </define>
   <define name="data.TUPLETS">
      <list>
         <oneOrMore>
            <ref name="data.TUPLET"/>
         </oneOrMore>
      </list>
   </define>
   <define name="data.UNEUMEFORM">
      <choice>
         <value>liquescent1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>liquescent2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>liquescent3</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>quilismatic</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>rectangular</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>rhombic</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>tied</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
      </choice>
   </define>
   <define name="data.UNEUMENAME">
      <choice>
         <value>punctum</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>virga</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>pes</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>clivis</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>torculus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>torculusresupinus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>porrectus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>porrectusflexus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>apostropha</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>oriscus</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>pressusmaior</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>pressusminor</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>virgastrata</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
      </choice>
   </define>
   <define name="data.URI">
      <data type="anyURI"/>
   </define>
   <define name="data.URIS">
      <list>
         <zeroOrMore>
            <ref name="data.URI"/>
         </zeroOrMore>
      </list>
   </define>
   <define name="macro.metaLike.page">
      <zeroOrMore>
         <ref name="fw"/>
      </zeroOrMore>
      <optional>
         <ref name="pgDesc"/>
      </optional>
   </define>
   <define name="macro.musicPart">
      <optional>
         <ref name="model.frontLike"/>
      </optional>
      <optional>
         <choice>
            <ref name="body"/>
            <ref name="group"/>
         </choice>
      </optional>
      <optional>
         <ref name="model.backLike"/>
      </optional>
   </define>
   <define name="macro.availabilityPart">
      <zeroOrMore>
         <ref name="acqSource"/>
         <zeroOrMore>
            <ref name="accessRestrict"/>
            <optional>
               <ref name="price"/>
            </optional>
         </zeroOrMore>
      </zeroOrMore>
      <optional>
         <ref name="useRestrict"/>
      </optional>
      <optional>
         <ref name="sysReq"/>
      </optional>
   </define>
   <define name="macro.bibldescPart">
      <optional>
         <ref name="editionStmt"/>
      </optional>
      <optional>
         <ref name="pubStmt"/>
      </optional>
      <optional>
         <ref name="physDesc"/>
      </optional>
      <zeroOrMore>
         <ref name="physLoc"/>
      </zeroOrMore>
      <optional>
         <ref name="seriesStmt"/>
      </optional>
   </define>
   <define name="data.DURATION.cmn">
      <choice>
         <value>long</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quadruple whole note</a:documentation>
         <value>breve</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double whole note</a:documentation>
         <value>1</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">whole note</a:documentation>
         <value>2</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">half note</a:documentation>
         <value>4</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quarter note</a:documentation>
         <value>8</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">8th note</a:documentation>
         <value>16</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">16th note</a:documentation>
         <value>32</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">32nd note</a:documentation>
         <value>64</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">64th note</a:documentation>
         <value>128</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">128th note</a:documentation>
         <value>256</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">256th note</a:documentation>
         <value>512</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">512th note</a:documentation>
         <value>1024</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">1024th note</a:documentation>
         <value>2048</value>
         <a:documentation xmlns:rng="http://relaxng.org/ns/structure/1.0"
                          xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                          xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">2048th note</a:documentation>
      </choice>
   </define>
   <define name="data.DURATION.mensural">
      <choice>
         <value>maxima</value>
         <value>longa</value>
         <value>brevis</value>
         <value>semibrevis</value>
         <value>minima</value>
         <value>semiminima</value>
         <value>fusa</value>
         <value>semifusa</value>
      </choice>
   </define>
   <define name="macro.neumeModifierLike">
      <empty/>
   </define>
   <define name="data.ORNAM.cmn">
      <data type="token">
         <param name="pattern">[A|a|b|I|i|K|k|M|m|N|n|S|s|T|t|O]|(A|a|S|s|K|k)?(T|t|M|m)(I|i|S|s)?</param>
      </data>
   </define>
   <define name="data.ORNAMS.cmn">
      <list>
         <oneOrMore>
            <ref name="data.ORNAM.cmn"/>
         </oneOrMore>
      </list>
   </define>
   <define name="att.accid.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.accid.ges.attributes">
      <empty/>
   </define>
   <define name="att.accid.log.attributes">
      <ref name="att.accidental.attributes"/>
      <ref name="att.controlevent.attributes"/>
      <ref name="att.accid.log.attribute.func"/>
   </define>
   <define name="att.accid.log.attribute.func">
      <optional>
         <attribute name="func">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the function of an accidental.</a:documentation>
            <choice>
               <value>caution</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cautionary accidental.</a:documentation>
               <value>edit</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">editorial accidental.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.accid.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.enclosingchars.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.staffloc.attributes"/>
      <ref name="att.visualoffset.ho.attributes"/>
      <ref name="att.visualoffset.vo.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.accid.vis.mensural.attributes"/>
   </define>
   <define name="att.accidental.attributes">
      <ref name="att.accidental.attribute.accid"/>
   </define>
   <define name="att.accidental.attribute.accid">
      <optional>
         <attribute name="accid">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures a written accidental.</a:documentation>
            <ref name="data.ACCIDENTAL.EXPLICIT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.accidental.performed.attributes">
      <ref name="att.accidental.performed.attribute.accid.ges"/>
   </define>
   <define name="att.accidental.performed.attribute.accid.ges">
      <optional>
         <attribute name="accid.ges">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the performed pitch inflection when it differs from the written accidental.</a:documentation>
            <ref name="data.ACCIDENTAL.IMPLICIT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.altsym.attributes">
      <ref name="att.altsym.attribute.altsym"/>
   </define>
   <define name="att.altsym.attribute.altsym">
      <optional>
         <attribute name="altsym">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a way of pointing to a user-defined symbol. It must contain an ID of a &lt;symbolDef&gt; element elsewhere in the document.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.annot.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.annot.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.annot.log.attributes">
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.layerident.attributes"/>
      <ref name="att.staffident.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp.musical.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
      <ref name="att.timestamp.performed.attributes"/>
   </define>
   <define name="att.annot.vis.attributes">
      <empty/>
   </define>
   <define name="att.artic.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.artic.ges.attributes">
      <empty/>
   </define>
   <define name="att.artic.log.attributes">
      <ref name="att.articulation.attributes"/>
      <ref name="att.controlevent.attributes"/>
   </define>
   <define name="att.artic.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.enclosingchars.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.staffloc.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.articulation.attributes">
      <ref name="att.articulation.attribute.artic"/>
   </define>
   <define name="att.articulation.attribute.artic">
      <optional>
         <attribute name="artic">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the written articulation(s). Articulations are normally encoded in order from the note head outward; that is, away from the stem. See additional notes at att.vis.note. Only articulations should be encoded in the artic attribute; fingerings should be encoded using the &lt;dir&gt; element.</a:documentation>
            <ref name="data.ARTICULATIONS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.articulation.performed.attributes">
      <ref name="att.articulation.performed.attribute.artic.ges"/>
   </define>
   <define name="att.articulation.performed.attribute.artic.ges">
      <optional>
         <attribute name="artic.ges">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records performed articulation that differs from the written value.</a:documentation>
            <ref name="data.ARTICULATIONS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.augmentdots.attributes">
      <ref name="att.augmentdots.attribute.dots"/>
   </define>
   <define name="att.augmentdots.attribute.dots">
      <optional>
         <attribute name="dots">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the number of augmentation dots required by a dotted duration.</a:documentation>
            <ref name="data.AUGMENTDOT"/>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="dots-constraint-dots_attribute_requires_dur">
      <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                xmlns="http://www.tei-c.org/ns/1.0"
                context="mei:*[@dots]">
                <sch:assert test="@dur">An element with a dots attribute must also have a dur
                  attribute.</sch:assert>
              </sch:rule>
   </pattern>
   <define name="att.authorized.attributes">
      <ref name="att.authorized.attribute.authority"/>
      <ref name="att.authorized.attribute.authURI"/>
   </define>
   <define name="att.authorized.attribute.authority">
      <optional>
         <attribute name="authority">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a name or label associated with the controlled vocabulary from which the value is taken.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.authorized.attribute.authURI">
      <optional>
         <attribute name="authURI">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the web-accessible location of the controlled vocabulary from which the value is taken.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.barLine.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.barLine.ges.attributes">
      <ref name="att.timestamp.musical.attributes"/>
   </define>
   <define name="att.barLine.log.attributes">
      <ref name="att.meterconformance.bar.attributes"/>
      <ref name="att.barLine.log.attribute.rend"/>
   </define>
   <define name="att.barLine.log.attribute.rend">
      <optional>
         <attribute name="rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the appearance and usually the function of the bar line.</a:documentation>
            <ref name="data.BARRENDITION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.barLine.vis.attributes">
      <ref name="att.barplacement.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.measurement.attributes"/>
      <ref name="att.width.attributes"/>
   </define>
   <define name="att.barplacement.attributes">
      <ref name="att.barplacement.attribute.barplace"/>
      <ref name="att.barplacement.attribute.taktplace"/>
   </define>
   <define name="att.barplacement.attribute.barplace">
      <optional>
         <attribute name="barplace">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the location of a bar line.</a:documentation>
            <ref name="data.BARPLACE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.barplacement.attribute.taktplace">
      <optional>
         <attribute name="taktplace">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">If takt bar lines are to be used, then the taktplace attribute may be used to denote the staff location of the shortened bar line. The location may include staff lines, spaces, and the spaces directly above and below the staff. The value ranges between 0 (just below the staff) to 2 * number of staff lines (directly above the staff). For example, on a 5-line staff the lines would be numbered 1,3,5,7, and 9 while the spaces would be numbered 0,2,4,6,8,10. For example, a value of '9' puts the bar line through the top line of a 5-line staff.</a:documentation>
            <ref name="data.STAFFLOC"/>
         </attribute>
      </optional>
   </define>
   <define name="att.beaming.vis.attributes">
      <ref name="att.beaming.vis.attribute.beam.color"/>
      <ref name="att.beaming.vis.attribute.beam.rend"/>
      <ref name="att.beaming.vis.attribute.beam.slope"/>
   </define>
   <define name="att.beaming.vis.attribute.beam.color">
      <optional>
         <attribute name="beam.color">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Color of beams, including those associated with tuplets.</a:documentation>
            <ref name="data.COLOR"/>
         </attribute>
      </optional>
   </define>
   <define name="att.beaming.vis.attribute.beam.rend">
      <optional>
         <attribute name="beam.rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes whether a beam is "feathered" and in which direction.</a:documentation>
            <choice>
               <value>acc</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">beams lines grow farther apart from left to right.</a:documentation>
               <value>rit</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">beam lines grow closer together from left to right.</a:documentation>
               <value>norm</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">beam lines are equally-spaced over the entire length of the beam.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.beaming.vis.attribute.beam.slope">
      <optional>
         <attribute name="beam.slope">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures beam slope.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.bibl.attributes">
      <ref name="att.bibl.attribute.analog"/>
   </define>
   <define name="att.bibl.attribute.analog">
      <optional>
         <attribute name="analog">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a reference to a field or element in another descriptive encoding system to which this MEI element is comparable. </a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.calendared.attributes">
      <ref name="att.calendared.attribute.calendar"/>
   </define>
   <define name="att.calendared.attribute.calendar">
      <optional>
         <attribute name="calendar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the calendar system to which a date belongs, for example, Gregorian, Julian, Roman, Mosaic, Revolutionary, Islamic, etc.</a:documentation>
            <data type="NMTOKEN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.canonical.attributes">
      <ref name="att.canonical.attribute.dbkey"/>
   </define>
   <define name="att.canonical.attribute.dbkey">
      <optional>
         <attribute name="dbkey">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to record a value which serves as a primary key in an external database.</a:documentation>
            <data type="NMTOKEN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.chord.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.chord.ges.attributes">
      <ref name="att.articulation.performed.attributes"/>
      <ref name="att.duration.performed.attributes"/>
      <ref name="att.instrumentident.attributes"/>
      <ref name="att.chord.ges.cmn.attributes"/>
   </define>
   <define name="att.chord.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.articulation.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.musical.attributes"/>
      <ref name="att.fermatapresent.attributes"/>
      <ref name="att.syltext.attributes"/>
      <ref name="att.slurpresent.attributes"/>
      <ref name="att.tiepresent.attributes"/>
      <ref name="att.tupletpresent.attributes"/>
      <ref name="att.chord.log.cmn.attributes"/>
   </define>
   <define name="att.chord.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.relativesize.attributes"/>
      <ref name="att.stemmed.attributes"/>
      <ref name="att.visibility.attributes"/>
      <ref name="att.visualoffset.ho.attributes"/>
      <ref name="att.visualoffset.to.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.chord.vis.cmn.attributes"/>
      <ref name="att.chord.vis.attribute.cluster"/>
   </define>
   <define name="att.chord.vis.attribute.cluster">
      <optional>
         <attribute name="cluster">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates a single alternative note head should be displayed instead of individual note heads. See Read, p. 320-321, re: tone clusters.</a:documentation>
            <ref name="data.CLUSTER"/>
         </attribute>
      </optional>
   </define>
   <define name="att.clef.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.clef.ges.attributes">
      <empty/>
   </define>
   <define name="att.clef.log.attributes">
      <ref name="att.clefshape.attributes"/>
      <ref name="att.lineloc.attributes"/>
      <ref name="att.octave.attributes"/>
      <ref name="att.octavedisplacement.attributes"/>
      <ref name="att.clef.log.attribute.cautionary"/>
   </define>
   <define name="att.clef.log.attribute.cautionary">
      <optional>
         <attribute name="cautionary">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the function of the clef. A "cautionary" clef does not change the following pitches.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.clef.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
   </define>
   <define name="att.cleffing.log.attributes">
      <ref name="att.cleffing.log.attribute.clef.shape"/>
      <ref name="att.cleffing.log.attribute.clef.line"/>
      <ref name="att.cleffing.log.attribute.clef.dis"/>
      <ref name="att.cleffing.log.attribute.clef.dis.place"/>
   </define>
   <define name="att.cleffing.log.attribute.clef.shape">
      <optional>
         <attribute name="clef.shape">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes a value for the clef symbol.</a:documentation>
            <ref name="data.CLEFSHAPE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.cleffing.log.attribute.clef.line">
      <optional>
         <attribute name="clef.line">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a default value for the position of the clef. The value must be in the range between 1 and the number of lines on the staff. The numbering of lines starts with the lowest line of the staff.</a:documentation>
            <ref name="data.CLEFLINE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.cleffing.log.attribute.clef.dis">
      <optional>
         <attribute name="clef.dis">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the amount of octave displacement to be applied to the clef.</a:documentation>
            <ref name="data.OCTAVE.DIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.cleffing.log.attribute.clef.dis.place">
      <optional>
         <attribute name="clef.dis.place">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the direction of octave displacement to be applied to the clef.</a:documentation>
            <ref name="data.PLACE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.cleffing.vis.attributes">
      <ref name="att.cleffing.vis.attribute.clef.color"/>
      <ref name="att.cleffing.vis.attribute.clef.visible"/>
   </define>
   <define name="att.cleffing.vis.attribute.clef.color">
      <optional>
         <attribute name="clef.color">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the color of the clef.</a:documentation>
            <ref name="data.COLOR"/>
         </attribute>
      </optional>
   </define>
   <define name="att.cleffing.vis.attribute.clef.visible">
      <optional>
         <attribute name="clef.visible">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines whether the clef is to be displayed.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.clefGrp.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.clefGrp.ges.attributes">
      <empty/>
   </define>
   <define name="att.clefGrp.log.attributes">
      <empty/>
   </define>
   <define name="att.clefGrp.vis.attributes">
      <empty/>
   </define>
   <define name="att.clefshape.attributes">
      <ref name="att.clefshape.attribute.shape"/>
   </define>
   <define name="att.clefshape.attribute.shape">
      <optional>
         <attribute name="shape">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a clef's shape.</a:documentation>
            <ref name="data.CLEFSHAPE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.coded.attributes">
      <ref name="att.coded.attribute.code"/>
   </define>
   <define name="att.coded.attribute.code">
      <optional>
         <attribute name="code">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures one or more coded values for the textual content of this element.</a:documentation>
            <data type="NMTOKENS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.color.attributes">
      <ref name="att.color.attribute.color"/>
   </define>
   <define name="att.color.attribute.color">
      <optional>
         <attribute name="color">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to indicate visual appearance. Do not confuse this with the musical term 'color' as used in pre-CMN notation.</a:documentation>
            <ref name="data.COLOR"/>
         </attribute>
      </optional>
   </define>
   <define name="att.coloration.attributes">
      <ref name="att.coloration.attribute.colored"/>
   </define>
   <define name="att.coloration.attribute.colored">
      <optional>
         <attribute name="colored">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates this feature is 'colored'; that is, it is a participant in a change in rhythmic values. In mensural notation, coloration is indicated by colored notes (red, black, etc.) where void notes would otherwise occur. In CMN, coloration is indicated by an inverse color; that is, the note head is void when it would otherwise be filled and vice versa.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.common.attributes">
      <ref name="att.id.attributes"/>
      <ref name="att.common.attribute.label"/>
      <ref name="att.common.attribute.n"/>
      <ref name="att.common.attribute.xmlbase"/>
   </define>
   <define name="att.common.attribute.label">
      <optional>
         <attribute name="label">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a label for an element. The value may be any string.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.common.attribute.n">
      <optional>
         <attribute name="n">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a name or number designation for an element. While the value need not be unique, it is required to be a single token.</a:documentation>
            <data type="NMTOKEN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.common.attribute.xmlbase">
      <optional>
         <attribute name="xml:base">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a base URI reference with which applications can resolve relative URI references into absolute URI references.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.controlevent.attributes">
      <ref name="att.plist.attributes"/>
      <ref name="att.timestamp.musical.attributes"/>
      <ref name="att.timestamp.performed.attributes"/>
      <ref name="att.staffident.attributes"/>
      <ref name="att.layerident.attributes"/>
   </define>
   <define name="att.coordinated.attributes">
      <ref name="att.coordinated.attribute.ulx"/>
      <ref name="att.coordinated.attribute.uly"/>
      <ref name="att.coordinated.attribute.lrx"/>
      <ref name="att.coordinated.attribute.lry"/>
   </define>
   <define name="att.coordinated.attribute.ulx">
      <optional>
         <attribute name="ulx">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the upper-left corner x coordinate.</a:documentation>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.coordinated.attribute.uly">
      <optional>
         <attribute name="uly">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the upper-left corner y coordinate.</a:documentation>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.coordinated.attribute.lrx">
      <optional>
         <attribute name="lrx">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the lower-right corner x coordinate.</a:documentation>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.coordinated.attribute.lry">
      <optional>
         <attribute name="lry">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the lower-left corner x coordinate.</a:documentation>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.curvature.attributes">
      <ref name="att.curvature.attribute.bezier"/>
      <ref name="att.curvature.attribute.bulge"/>
      <ref name="att.curvature.attribute.curvedir"/>
   </define>
   <define name="att.curvature.attribute.bezier">
      <optional>
         <attribute name="bezier">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the placement of Bezier control points as a series of space-separated xy coordinates, e.g., 19 45 -32 118.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.curvature.attribute.bulge">
      <optional>
         <attribute name="bulge">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a curve as a set of distance values above or below an imaginary line connecting the endpoints of the curve. The bulge attribute must contain one or more decimal values expressed in inter-line units.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.curvature.attribute.curvedir">
      <optional>
         <attribute name="curvedir">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a curve with a generic term indicating the direction of curvature.</a:documentation>
            <choice>
               <value>above</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">upward curve.</a:documentation>
               <value>below</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">downward curve.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.curverend.attributes">
      <ref name="att.curverend.attribute.rend"/>
   </define>
   <define name="att.curverend.attribute.rend">
      <optional>
         <attribute name="rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the line style of the curve.</a:documentation>
            <ref name="data.CURVERENDITION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.custos.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.custos.ges.attributes">
      <empty/>
   </define>
   <define name="att.custos.log.attributes">
      <ref name="att.pitched.attributes"/>
      <ref name="att.custos.log.attribute.target"/>
   </define>
   <define name="att.custos.log.attribute.target">
      <optional>
         <attribute name="target">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the target note when its pitch differs from the pitch at which the custos appears.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.custos.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.staffloc.attributes"/>
   </define>
   <define name="att.datable.attributes">
      <ref name="att.datable.attribute.enddate"/>
      <ref name="att.datable.attribute.isodate"/>
      <ref name="att.datable.attribute.notafter"/>
      <ref name="att.datable.attribute.notbefore"/>
      <ref name="att.datable.attribute.startdate"/>
   </define>
   <define name="att.datable.attribute.enddate">
      <optional>
         <attribute name="enddate">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the end point of a date range in standard ISO form.</a:documentation>
            <ref name="data.ISODATE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.datable.attribute.isodate">
      <optional>
         <attribute name="isodate">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the value of a textual date in standard ISO form.</a:documentation>
            <ref name="data.ISODATE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.datable.attribute.notafter">
      <optional>
         <attribute name="notafter">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an upper boundary for an uncertain date in standard ISO form.</a:documentation>
            <ref name="data.ISODATE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.datable.attribute.notbefore">
      <optional>
         <attribute name="notbefore">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a lower boundary, in standard ISO form, for an uncertain date.</a:documentation>
            <ref name="data.ISODATE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.datable.attribute.startdate">
      <optional>
         <attribute name="startdate">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the starting point of a date range in standard ISO form.</a:documentation>
            <ref name="data.ISODATE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.datapointing.attributes">
      <ref name="att.datapointing.attribute.data"/>
   </define>
   <define name="att.datapointing.attribute.data">
      <optional>
         <attribute name="data">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to link metadata elements to one or more data-containing elements.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.declaring.attributes">
      <ref name="att.declaring.attribute.decls"/>
   </define>
   <define name="att.declaring.attribute.decls">
      <optional>
         <attribute name="decls">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies one or more metadata elements within the header, which are understood to apply to the element bearing this attribute and its content.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.dir.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.dir.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.dir.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.dir.vis.attributes">
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.ho.attributes"/>
      <ref name="att.visualoffset2.to.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.distances.attributes">
      <ref name="att.distances.attribute.dynam.dist"/>
      <ref name="att.distances.attribute.harm.dist"/>
      <ref name="att.distances.attribute.text.dist"/>
   </define>
   <define name="att.distances.attribute.dynam.dist">
      <optional>
         <attribute name="dynam.dist">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the default distance from the staff for dynamic marks.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.distances.attribute.harm.dist">
      <optional>
         <attribute name="harm.dist">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the default distance from the staff of harmonic indications, such as guitar chord grids or functional labels.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.distances.attribute.text.dist">
      <optional>
         <attribute name="text.dist">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines how far from the staff to render text elements.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.dot.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.dot.ges.attributes">
      <empty/>
   </define>
   <define name="att.dot.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.dot.log.attribute.form"/>
   </define>
   <define name="att.dot.log.attribute.form">
      <optional>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the function of the dot.</a:documentation>
            <choice>
               <value>aug</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">augmentation dot.</a:documentation>
               <value>div</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dot of division.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.dot.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.staffloc.attributes"/>
      <ref name="att.visualoffset.ho.attributes"/>
      <ref name="att.visualoffset.vo.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.dot.vis.mensural.attributes"/>
   </define>
   <define name="att.duration.additive.attributes">
      <ref name="att.duration.additive.attribute.dur"/>
   </define>
   <define name="att.duration.additive.attribute.dur">
      <optional>
         <attribute name="dur">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records duration using ident dotted, relative durational values provided by the data.DURATION datatype. When the duration is "irrational", as is sometimes the case with tuplets, multiple space-separated values that add up to the total duration may be used. When dotted values are present, the dots attribute must be ignored.</a:documentation>
            <ref name="data.DURATION.additive"/>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="dur-constraint-ignore_dots_attribute">
      <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                xmlns="http://www.tei-c.org/ns/1.0"
                context="mei:*[contains(@dur, '.')]">
                <sch:assert test="not(@dots)">An element with a dur attribute that contains dotted
                  values must not have a dots attribute.</sch:assert>
              </sch:rule>
   </pattern>
   <define name="att.duration.default.attributes">
      <ref name="att.duration.default.attribute.dur.default"/>
      <ref name="att.duration.default.attribute.num.default"/>
      <ref name="att.duration.default.attribute.numbase.default"/>
   </define>
   <define name="att.duration.default.attribute.dur.default">
      <optional>
         <attribute name="dur.default">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a default duration in those situations when the first note, rest, chord, etc. in a measure does not have a duration specified.</a:documentation>
            <ref name="data.DURATION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.duration.default.attribute.num.default">
      <optional>
         <attribute name="num.default">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">along with numbase.default, describes the default duration as a ratio. num.default is the first value in the ratio.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.duration.default.attribute.numbase.default">
      <optional>
         <attribute name="numbase.default">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">along with num.default, describes the default duration as a ratio. numbase.default is the second value in the ratio.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.duration.musical.attributes">
      <ref name="att.duration.musical.attribute.dur"/>
   </define>
   <define name="att.duration.musical.attribute.dur">
      <optional>
         <attribute name="dur">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the duration of a feature using the relative durational values provided by the data.DURATION datatype.</a:documentation>
            <ref name="data.DURATION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.duration.performed.attributes">
      <ref name="att.duration.performed.attribute.dur.ges"/>
   </define>
   <define name="att.duration.performed.attribute.dur.ges">
      <optional>
         <attribute name="dur.ges">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records performed duration information that differs from the written duration. Its value may be expressed in several forms; that is, ppq (MIDI clicks and MusicXML 'divisions'), Humdrum **recip values, beats, seconds, or mensural duration values.</a:documentation>
            <ref name="data.DURATION.gestural"/>
         </attribute>
      </optional>
   </define>
   <define name="att.duration.ratio.attributes">
      <ref name="att.duration.ratio.attribute.num"/>
      <ref name="att.duration.ratio.attribute.numbase"/>
   </define>
   <define name="att.duration.ratio.attribute.num">
      <optional>
         <attribute name="num">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">along with numbase, describes duration as a ratio. num is the first value in the ratio, while numbase is the second.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.duration.ratio.attribute.numbase">
      <optional>
         <attribute name="numbase">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">along with num, describes duration as a ratio. num is the first value in the ratio, while numbase is the second.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.dynam.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.dynam.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
      <ref name="att.midivalue.attributes"/>
   </define>
   <define name="att.dynam.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.dynam.vis.attributes">
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.ho.attributes"/>
      <ref name="att.visualoffset2.to.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.enclosingchars.attributes">
      <ref name="att.enclosingchars.attribute.enclose"/>
   </define>
   <define name="att.enclosingchars.attribute.enclose">
      <optional>
         <attribute name="enclose">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the characters often used to mark accidentals, articulations, and sometimes notes as having a cautionary or editorial function. For an example of cautionary accidentals enclosed in parentheses, see Read, p. 131, ex. 9-14.</a:documentation>
            <ref name="data.ENCLOSURE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.ending.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.ending.ges.attributes">
      <empty/>
   </define>
   <define name="att.ending.log.attributes">
      <empty/>
   </define>
   <define name="att.ending.vis.attributes">
      <empty/>
   </define>
   <define name="att.event.attributes">
      <ref name="att.timestamp.musical.attributes"/>
      <ref name="att.timestamp.performed.attributes"/>
      <ref name="att.staffident.attributes"/>
      <ref name="att.layerident.attributes"/>
   </define>
   <define name="att.fermatapresent.attributes">
      <ref name="att.fermatapresent.attribute.fermata"/>
   </define>
   <define name="att.fermatapresent.attribute.fermata">
      <optional>
         <attribute name="fermata">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the attachment of a fermata to this element. If visual information about the fermata needs to be recorded, then a &lt;fermata&gt; element should be employed instead.</a:documentation>
            <ref name="data.PLACE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.grpSym.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.grpSym.ges.attributes">
      <empty/>
   </define>
   <define name="att.grpSym.log.attributes">
      <ref name="att.staffgroupingsym.attributes"/>
   </define>
   <define name="att.grpSym.vis.attributes">
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.handident.attributes">
      <ref name="att.handident.attribute.hand"/>
   </define>
   <define name="att.handident.attribute.hand">
      <optional>
         <attribute name="hand">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the hand responsible for an action. The value must be the ID of a &lt;hand&gt; element declared in the header.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.horizontalalign.attributes">
      <ref name="att.horizontalalign.attribute.halign"/>
   </define>
   <define name="att.horizontalalign.attribute.halign">
      <optional>
         <attribute name="halign">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records horizontal alignment.</a:documentation>
            <choice>
               <value>left</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">left aligned.</a:documentation>
               <value>right</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">right aligned.</a:documentation>
               <value>center</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">centered.</a:documentation>
               <value>justify</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">left and right aligned.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.id.attributes">
      <ref name="att.id.attribute.xmlid"/>
   </define>
   <define name="att.id.attribute.xmlid">
      <optional>
         <attribute name="xml:id">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">regularizes the naming of an element and thus facilitates building links between it and other resources. Each id attribute within a document must have a unique value.</a:documentation>
            <data type="ID"/>
         </attribute>
      </optional>
   </define>
   <define name="att.instrumentident.attributes">
      <ref name="att.instrumentident.attribute.instr"/>
   </define>
   <define name="att.instrumentident.attribute.instr">
      <optional>
         <attribute name="instr">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a way of pointing to a MIDI instrument definition. It must contain the ID of an &lt;instrDef&gt; element elsewhere in the document.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.internetmedia.attributes">
      <ref name="att.internetmedia.attribute.mimetype"/>
   </define>
   <define name="att.internetmedia.attribute.mimetype">
      <optional>
         <attribute name="mimetype">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the applicable MIME (multimedia internet mail extension) type. The value should be a valid MIME media type defined by the Internet Engineering Task Force in RFC 2046.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.joined.attributes">
      <ref name="att.joined.attribute.join"/>
   </define>
   <define name="att.joined.attribute.join">
      <optional>
         <attribute name="join">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used for linking visually separate entities that form a single logical entity, for example, multiple slurs broken across a system break that form a single musical phrase. Also used to indicate a measure which metrically completes the current one. Record the identifiers of the separately encoded components, excluding the one carrying the attribute.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.keyAccid.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.keyAccid.ges.attributes">
      <empty/>
   </define>
   <define name="att.keyAccid.log.attributes">
      <ref name="att.accidental.attributes"/>
      <ref name="att.pitched.attributes"/>
   </define>
   <define name="att.keyAccid.vis.attributes">
      <ref name="att.enclosingchars.attributes"/>
      <ref name="att.staffloc.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.keySig.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.keySig.ges.attributes">
      <empty/>
   </define>
   <define name="att.keySig.log.attributes">
      <ref name="att.accidental.attributes"/>
      <ref name="att.pitch.attributes"/>
      <ref name="att.keySig.log.attribute.mode"/>
   </define>
   <define name="att.keySig.log.attribute.mode">
      <optional>
         <attribute name="mode">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates major, minor, or other tonality.</a:documentation>
            <ref name="data.MODE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.keySig.vis.attributes">
      <empty/>
   </define>
   <define name="att.keySigDefault.log.attributes">
      <ref name="att.keySigDefault.log.attribute.key.accid"/>
      <ref name="att.keySigDefault.log.attribute.key.mode"/>
      <ref name="att.keySigDefault.log.attribute.key.pname"/>
      <ref name="att.keySigDefault.log.attribute.key.sig"/>
      <ref name="att.keySigDefault.log.attribute.key.sig.mixed"/>
   </define>
   <define name="att.keySigDefault.log.attribute.key.accid">
      <optional>
         <attribute name="key.accid">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an accidental for the tonic key, if one is required, e.g., if key.pname equals 'c' and key.accid equals 's', then a tonic of C# is indicated.</a:documentation>
            <ref name="data.ACCIDENTAL.IMPLICIT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.keySigDefault.log.attribute.key.mode">
      <optional>
         <attribute name="key.mode">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates major, minor, or other tonality.</a:documentation>
            <ref name="data.MODE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.keySigDefault.log.attribute.key.pname">
      <optional>
         <attribute name="key.pname">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds the pitch name of the tonic key, e.g. 'c' for the key of C.</a:documentation>
            <ref name="data.PITCHNAME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.keySigDefault.log.attribute.key.sig">
      <optional>
         <attribute name="key.sig">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates where the key lies in the circle of fifths.</a:documentation>
            <ref name="data.KEYSIGNATURE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.keySigDefault.log.attribute.key.sig.mixed">
      <optional>
         <attribute name="key.sig.mixed">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Mixed key signatures, e.g. those consisting of a mixture of flats and sharps (Read, p. 143, ex. 9-39), and key signatures with unorthodox placement of the accidentals (Read, p. 141) must be indicated by setting the key.sig attribute to 'mixed' and providing explicit key signature information in the key.sig.mixed attribute or in the &lt;keySig&gt; element. It is intended that key.sig.mixed contain a series of tokens with each token containing pitch name, accidental, and octave, such as 'A4 Cs5 Ef5' that indicate what key accidentals should be rendered and where they should be placed.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="token">
                     <param name="pattern">[a-g][0-9](\-{1,3}|f{1,3}|#{1,3}|s{1,3}|x)</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.keySigDefault.vis.attributes">
      <ref name="att.keySigDefault.vis.attribute.key.sig.show"/>
      <ref name="att.keySigDefault.vis.attribute.key.sig.showchange"/>
   </define>
   <define name="att.keySigDefault.vis.attribute.key.sig.show">
      <optional>
         <attribute name="key.sig.show">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether the key signature should be displayed.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.keySigDefault.vis.attribute.key.sig.showchange">
      <optional>
         <attribute name="key.sig.showchange">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines whether cautionary accidentals should be displayed at a key change.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.labels.addl.attributes">
      <ref name="att.labels.addl.attribute.label.abbr"/>
   </define>
   <define name="att.labels.addl.attribute.label.abbr">
      <optional>
         <attribute name="label.abbr">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a label for a group of staves on pages after the first page. Usually, this label takes an abbreviated form.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.lang.attributes">
      <ref name="att.lang.attribute.xmllang"/>
   </define>
   <define name="att.lang.attribute.xmllang">
      <optional>
         <attribute name="xml:lang">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the language of the element's content. The values for this attribute are language 'tags' as defined in BCP 47. All language tags that make use of private use sub-tags must be documented in a corresponding language element in the MEI header whose id attribute is the same as the language tag's value.</a:documentation>
            <data type="language"/>
         </attribute>
      </optional>
   </define>
   <define name="att.layer.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.layer.ges.attributes">
      <empty/>
   </define>
   <define name="att.layer.log.attributes">
      <ref name="att.meterconformance.attributes"/>
      <ref name="att.layer.log.attribute.def"/>
   </define>
   <define name="att.layer.log.attribute.def">
      <optional>
         <attribute name="def">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a mechanism for linking the layer to a layerDef element.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.layer.vis.attributes">
      <ref name="att.visibility.attributes"/>
   </define>
   <define name="att.layerDef.anl.attributes">
      <empty/>
   </define>
   <define name="att.layerDef.ges.attributes">
      <ref name="att.instrumentident.attributes"/>
   </define>
   <define name="att.layerDef.log.attributes">
      <ref name="att.duration.default.attributes"/>
      <ref name="att.octavedefault.attributes"/>
      <ref name="att.layerDef.log.cmn.attributes"/>
   </define>
   <define name="att.layerDef.vis.attributes">
      <ref name="att.labels.addl.attributes"/>
      <ref name="att.beaming.vis.attributes"/>
      <ref name="att.textstyle.attributes"/>
      <ref name="att.visibility.attributes"/>
   </define>
   <define name="att.layerident.attributes">
      <ref name="att.layerident.attribute.layer"/>
   </define>
   <define name="att.layerident.attribute.layer">
      <optional>
         <attribute name="layer">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the layer to which a feature applies.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="positiveInteger"/>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.lineloc.attributes">
      <ref name="att.lineloc.attribute.line"/>
   </define>
   <define name="att.lineloc.attribute.line">
      <optional>
         <attribute name="line">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the line upon which a feature stands. The value must be in the range between 1 and the number of lines on the staff. The numbering of lines starts with the lowest line of the staff.</a:documentation>
            <ref name="data.CLEFLINE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.linerend.attributes">
      <ref name="att.linerend.attribute.rend"/>
   </define>
   <define name="att.linerend.attribute.rend">
      <optional>
         <attribute name="rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the appearance of a line.</a:documentation>
            <ref name="data.LINERENDITION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.lyricstyle.attributes">
      <ref name="att.lyricstyle.attribute.lyric.align"/>
      <ref name="att.lyricstyle.attribute.lyric.fam"/>
      <ref name="att.lyricstyle.attribute.lyric.name"/>
      <ref name="att.lyricstyle.attribute.lyric.size"/>
      <ref name="att.lyricstyle.attribute.lyric.style"/>
      <ref name="att.lyricstyle.attribute.lyric.weight"/>
   </define>
   <define name="att.lyricstyle.attribute.lyric.align">
      <optional>
         <attribute name="lyric.align">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the alignment of lyric syllables associated with a note or chord.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.lyricstyle.attribute.lyric.fam">
      <optional>
         <attribute name="lyric.fam">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the font family default value for lyrics.</a:documentation>
            <ref name="data.FONTFAMILY"/>
         </attribute>
      </optional>
   </define>
   <define name="att.lyricstyle.attribute.lyric.name">
      <optional>
         <attribute name="lyric.name">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the font name default value for lyrics.</a:documentation>
            <ref name="data.FONTNAME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.lyricstyle.attribute.lyric.size">
      <optional>
         <attribute name="lyric.size">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the default font size value for lyrics.</a:documentation>
            <ref name="data.FONTSIZE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.lyricstyle.attribute.lyric.style">
      <optional>
         <attribute name="lyric.style">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the default font style value for lyrics.</a:documentation>
            <ref name="data.FONTSTYLE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.lyricstyle.attribute.lyric.weight">
      <optional>
         <attribute name="lyric.weight">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the default font weight value for lyrics.</a:documentation>
            <ref name="data.FONTWEIGHT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.measure.anl.attributes">
      <ref name="att.common.anl.attributes"/>
      <ref name="att.joined.attributes"/>
   </define>
   <define name="att.measure.ges.attributes">
      <ref name="att.timestamp.performed.attributes"/>
   </define>
   <define name="att.measure.log.attributes">
      <ref name="att.meterconformance.bar.attributes"/>
      <ref name="att.measure.log.attribute.left"/>
      <ref name="att.measure.log.attribute.right"/>
   </define>
   <define name="att.measure.log.attribute.left">
      <optional>
         <attribute name="left">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the visual rendition of the left bar line. It is present here only for facilitation of translation from legacy encodings which use it. Usually, it can be safely ignored.</a:documentation>
            <ref name="data.BARRENDITION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.measure.log.attribute.right">
      <optional>
         <attribute name="right">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the function of the right bar line and is structurally important.</a:documentation>
            <ref name="data.BARRENDITION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.measurement.attributes">
      <ref name="att.measurement.attribute.unit"/>
   </define>
   <define name="att.measurement.attribute.unit">
      <optional>
         <attribute name="unit">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the unit used for a measurement of size.
Suggested values include: 1] cm; 2] mm; 3] in; 4] issue; 5] page; 6] px; 7] pt; 8] pc; 9] vu; 10] vol</a:documentation>
            <choice>
               <value>cm</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">centimeter.</a:documentation>
               <value>mm</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">millimeter.</a:documentation>
               <value>in</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">inch.</a:documentation>
               <value>issue</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">serial issue.</a:documentation>
               <value>page</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">page.</a:documentation>
               <value>px</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pixel.</a:documentation>
               <value>pt</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">point.</a:documentation>
               <value>pc</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pica.</a:documentation>
               <value>vu</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MEI virtual unit.</a:documentation>
               <value>vol</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">serial volume.</a:documentation>
               <data type="Name"/>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.mediabounds.attributes">
      <ref name="att.mediabounds.attribute.begin"/>
      <ref name="att.mediabounds.attribute.end"/>
      <ref name="att.mediabounds.attribute.betype"/>
   </define>
   <define name="att.mediabounds.attribute.begin">
      <optional>
         <attribute name="begin">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a point where the relevant content begins. A numerical value must be less and a time value must be earlier than that in the end attribute.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.mediabounds.attribute.end">
      <optional>
         <attribute name="end">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a point where the relevant content ends. If not specified, the end of the content is assumed to be the end point. A numerical value must be greater and a time value must be later than that in the begin attribute.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.mediabounds.attribute.betype">
      <optional>
         <attribute name="betype">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">type of values used in the begin/end attributes. The begin and end attributes can only be interpreted meaningfully in conjunction with this attribute.</a:documentation>
            <choice>
               <value>time</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a modified ISO time format (HH:MM:SS.ss) where 'HH' should be interpreted as any number of hours and '.ss' should be interpreted as any number of fractional parts of a second.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.medium.attributes">
      <ref name="att.medium.attribute.medium"/>
   </define>
   <define name="att.medium.attribute.medium">
      <optional>
         <attribute name="medium">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the writing medium.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.meiversion.attributes">
      <ref name="att.meiversion.attribute.meiversion"/>
      <ref name="att.meiversion.attribute.meiversion.num"/>
   </define>
   <define name="att.meiversion.attribute.meiversion">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="meiversion"
                    a:defaultValue="2013">
            <a:documentation>specifies a generic MEI version label.</a:documentation>
            <choice>
               <value>2013</value>
               <a:documentation>this version of MEI.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.meiversion.attribute.meiversion.num">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                    name="meiversion.num"
                    a:defaultValue="2.1.1">
            <a:documentation>records a detailed MEI version number.</a:documentation>
            <choice>
               <value>2.1.1</value>
               <a:documentation>this version of MEI.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.mensur.log.attributes">
      <ref name="att.duration.ratio.attributes"/>
      <ref name="att.slashcount.attributes"/>
      <ref name="att.mensural.shared.attributes"/>
      <ref name="att.mensur.log.attribute.dot"/>
      <ref name="att.mensur.log.attribute.sign"/>
   </define>
   <define name="att.mensur.log.attribute.dot">
      <optional>
         <attribute name="dot">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies whether a dot is to be added to the base symbol.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensur.log.attribute.sign">
      <optional>
         <attribute name="sign">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the base symbol in the mensuration sign/time signature of mensural notation.</a:documentation>
            <ref name="data.MENSURATIONSIGN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.meterconformance.attributes">
      <ref name="att.meterconformance.attribute.metcon"/>
   </define>
   <define name="att.meterconformance.attribute.metcon">
      <optional>
         <attribute name="metcon">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the relationship between the content of a staff or layer and the prevailing meter.</a:documentation>
            <choice>
               <value>c</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">conformant with the prevailing meter.</a:documentation>
               <value>i</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">incomplete; i.e., not enough beats.</a:documentation>
               <value>o</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">overfull; i.e., too many beats.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.meterconformance.bar.attributes">
      <ref name="att.meterconformance.bar.attribute.metcon"/>
      <ref name="att.meterconformance.bar.attribute.control"/>
   </define>
   <define name="att.meterconformance.bar.attribute.metcon">
      <optional>
         <attribute name="metcon">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the relationship between the content of a measure and the prevailing meter.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.meterconformance.bar.attribute.control">
      <optional>
         <attribute name="control">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether or not a bar line is "controlling"; that is, if it indicates a point of alignment across all the parts. Bar lines within a score are usually controlling; that is, they "line up". Bar lines within parts may or may not be controlling. When applied to &lt;measure&gt;, this attribute indicates the nature of the right barline but not the left.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.meterSig.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.meterSig.ges.attributes">
      <empty/>
   </define>
   <define name="att.meterSig.log.attributes">
      <ref name="att.meterSig.log.attribute.count"/>
      <ref name="att.meterSig.log.attribute.sym"/>
      <ref name="att.meterSig.log.attribute.unit"/>
   </define>
   <define name="att.meterSig.log.attribute.count">
      <optional>
         <attribute name="count">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures the number of beats in a measure, that is, the top number of the meter signature. It must contain a decimal number or an additive expression that evaluates to a decimal number, such as 2+3.</a:documentation>
            <data type="string">
               <param name="pattern">\d+(\.\d+)?(\s*\+\s*\d+(\.\d+)?)*</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.meterSig.log.attribute.sym">
      <optional>
         <attribute name="sym">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the use of a meter symbol instead of a numeric meter signature, that is, 'C' for common time or 'C' with a slash for cut time.</a:documentation>
            <ref name="data.METERSIGN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.meterSig.log.attribute.unit">
      <optional>
         <attribute name="unit">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the number indicating the beat unit, that is, the bottom number of the meter signature.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.meterSig.vis.attributes">
      <ref name="att.meterSig.vis.attribute.rend"/>
   </define>
   <define name="att.meterSig.vis.attribute.rend">
      <optional>
         <attribute name="rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an indication of how the meter signature should be rendered.</a:documentation>
            <choice>
               <value>num</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">show only the number of beats.</a:documentation>
               <value>denomsym</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the lower number in the meter signature is replaced by a note symbol.</a:documentation>
               <value>norm</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">meter signature rendered using traditional numeric values.</a:documentation>
               <value>invis</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">meter signature not rendered.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.meterSigDefault.log.attributes">
      <ref name="att.meterSigDefault.log.attribute.meter.count"/>
      <ref name="att.meterSigDefault.log.attribute.meter.unit"/>
   </define>
   <define name="att.meterSigDefault.log.attribute.meter.count">
      <optional>
         <attribute name="meter.count">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures the number of beats in a measure, that is, the top number of the meter signature. It must contain a decimal number or an additive expression that evaluates to a decimal number, such as 2+3.</a:documentation>
            <data type="string">
               <param name="pattern">\d+(\.\d+)?(\s*\+\s*\d+(\.\d+)?)*</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.meterSigDefault.log.attribute.meter.unit">
      <optional>
         <attribute name="meter.unit">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the number indicating the beat unit, that is, the bottom number of the meter signature.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.meterSigDefault.vis.attributes">
      <ref name="att.meterSigDefault.vis.attribute.meter.rend"/>
      <ref name="att.meterSigDefault.vis.attribute.meter.showchange"/>
      <ref name="att.meterSigDefault.vis.attribute.meter.sym"/>
   </define>
   <define name="att.meterSigDefault.vis.attribute.meter.rend">
      <optional>
         <attribute name="meter.rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an indication of how the meter signature should be rendered.</a:documentation>
            <choice>
               <value>num</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">show only the number of beats.</a:documentation>
               <value>denomsym</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the lower number in the meter signature is replaced by a note symbol.</a:documentation>
               <value>norm</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">meter signature rendered using traditional numeric values.</a:documentation>
               <value>invis</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">meter signature not rendered.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.meterSigDefault.vis.attribute.meter.showchange">
      <optional>
         <attribute name="meter.showchange">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines whether a new meter signature should be displayed when the meter signature changes.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.meterSigDefault.vis.attribute.meter.sym">
      <optional>
         <attribute name="meter.sym">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the use of a meter symbol instead of a numeric meter signature, that is, 'C' for common time or 'C' with a slash for cut time.</a:documentation>
            <ref name="data.METERSIGN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mmtempo.attributes">
      <ref name="att.mmtempo.attribute.mm"/>
      <ref name="att.mmtempo.attribute.mm.unit"/>
      <ref name="att.mmtempo.attribute.mm.dots"/>
   </define>
   <define name="att.mmtempo.attribute.mm">
      <optional>
         <attribute name="mm">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to describe tempo in terms of beats (often the meter signature denominator) per minute, ala M.M. (Maezel's Metronome).</a:documentation>
            <ref name="data.TEMPOVALUE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mmtempo.attribute.mm.unit">
      <optional>
         <attribute name="mm.unit">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures the metronomic unit.</a:documentation>
            <ref name="data.DURATION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mmtempo.attribute.mm.dots">
      <optional>
         <attribute name="mm.dots">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the number of augmentation dots required by a dotted metronome unit.</a:documentation>
            <ref name="data.AUGMENTDOT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.multinummeasures.attributes">
      <ref name="att.multinummeasures.attribute.multi.number"/>
   </define>
   <define name="att.multinummeasures.attribute.multi.number">
      <optional>
         <attribute name="multi.number">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether programmatically calculated counts of multiple measures of rest (mRest) and whole measure repeats (mRpt) in parts should be rendered.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.name.attributes">
      <ref name="att.authorized.attributes"/>
      <ref name="att.canonical.attributes"/>
      <ref name="att.name.attribute.nymref"/>
      <ref name="att.name.attribute.role"/>
   </define>
   <define name="att.name.attribute.nymref">
      <optional>
         <attribute name="nymref">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to record a pointer to the regularized form of the name elsewhere in the document.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.name.attribute.role">
      <optional>
         <attribute name="role">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to specify further information about the entity referenced by this name, for example, the occupation of a person or the status of a place.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.note.anl.attributes">
      <ref name="att.common.anl.attributes"/>
      <ref name="att.harmonicfunction.attributes"/>
      <ref name="att.intervallicdesc.attributes"/>
      <ref name="att.melodicfunction.attributes"/>
      <ref name="att.pitchclass.attributes"/>
      <ref name="att.solfa.attributes"/>
   </define>
   <define name="att.note.ges.attributes">
      <ref name="att.accidental.performed.attributes"/>
      <ref name="att.articulation.performed.attributes"/>
      <ref name="att.duration.performed.attributes"/>
      <ref name="att.instrumentident.attributes"/>
      <ref name="att.note.ges.cmn.attributes"/>
      <ref name="att.note.ges.mensural.attributes"/>
      <ref name="att.note.ges.tablature.attributes"/>
      <ref name="att.note.ges.attribute.oct.ges"/>
      <ref name="att.note.ges.attribute.pname.ges"/>
      <ref name="att.note.ges.attribute.pnum"/>
   </define>
   <define name="att.note.ges.attribute.oct.ges">
      <optional>
         <attribute name="oct.ges">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records performed octave information that differs from the written value.</a:documentation>
            <ref name="data.OCTAVE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.note.ges.attribute.pname.ges">
      <optional>
         <attribute name="pname.ges">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a performed pitch name that differs from the written value.</a:documentation>
            <ref name="data.PITCHNAME.GES"/>
         </attribute>
      </optional>
   </define>
   <define name="att.note.ges.attribute.pnum">
      <optional>
         <attribute name="pnum">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds a pitch-to-number mapping, a base-40 or MIDI note number, for example.</a:documentation>
            <ref name="data.PITCHNUMBER"/>
         </attribute>
      </optional>
   </define>
   <define name="att.note.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.accidental.attributes"/>
      <ref name="att.articulation.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.musical.attributes"/>
      <ref name="att.fermatapresent.attributes"/>
      <ref name="att.pitched.attributes"/>
      <ref name="att.syltext.attributes"/>
      <ref name="att.slurpresent.attributes"/>
      <ref name="att.tiepresent.attributes"/>
      <ref name="att.tupletpresent.attributes"/>
      <ref name="att.note.log.cmn.attributes"/>
      <ref name="att.note.log.mensural.attributes"/>
   </define>
   <define name="att.note.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.coloration.attributes"/>
      <ref name="att.enclosingchars.attributes"/>
      <ref name="att.relativesize.attributes"/>
      <ref name="att.staffloc.attributes"/>
      <ref name="att.stemmed.attributes"/>
      <ref name="att.visibility.attributes"/>
      <ref name="att.visualoffset.ho.attributes"/>
      <ref name="att.visualoffset.to.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.note.vis.cmn.attributes"/>
      <ref name="att.note.vis.attribute.headshape"/>
   </define>
   <define name="att.note.vis.attribute.headshape">
      <optional>
         <attribute name="headshape">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to override the head shape normally used for the given duration.</a:documentation>
            <ref name="data.HEADSHAPE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.octave.attributes">
      <ref name="att.octave.attribute.oct"/>
   </define>
   <define name="att.octave.attribute.oct">
      <optional>
         <attribute name="oct">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures written octave information.</a:documentation>
            <ref name="data.OCTAVE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.octavedefault.attributes">
      <ref name="att.octavedefault.attribute.octave.default"/>
   </define>
   <define name="att.octavedefault.attribute.octave.default">
      <optional>
         <attribute name="octave.default">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a default octave specification for use when the first note, rest, chord, etc. in a measure does not have an octave value specified.</a:documentation>
            <ref name="data.OCTAVE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.octavedisplacement.attributes">
      <ref name="att.octavedisplacement.attribute.dis"/>
      <ref name="att.octavedisplacement.attribute.dis.place"/>
   </define>
   <define name="att.octavedisplacement.attribute.dis">
      <optional>
         <attribute name="dis">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the amount of octave displacement.</a:documentation>
            <ref name="data.OCTAVE.DIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.octavedisplacement.attribute.dis.place">
      <optional>
         <attribute name="dis.place">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the direction of octave displacement.</a:documentation>
            <ref name="data.PLACE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.onelinestaff.attributes">
      <ref name="att.onelinestaff.attribute.ontheline"/>
   </define>
   <define name="att.onelinestaff.attribute.ontheline">
      <optional>
         <attribute name="ontheline">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines the placement of notes on a 1-line staff. A value of 'true' places all notes on the line, while a value of 'false' places stems-up notes above the line and stems-down notes below the line.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.pad.anl.attributes">
      <empty/>
   </define>
   <define name="att.pad.ges.attributes">
      <empty/>
   </define>
   <define name="att.pad.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.pad.log.attribute.num"/>
   </define>
   <define name="att.pad.log.attribute.num">
      <attribute name="num">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">amount of "padding" to be added, in interline units; that is, in units of 1/2 the distance between adjacent staff lines.</a:documentation>
         <data type="decimal"/>
      </attribute>
   </define>
   <define name="att.pad.vis.attributes">
      <empty/>
   </define>
   <define name="att.part.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.part.ges.attributes">
      <empty/>
   </define>
   <define name="att.part.log.attributes">
      <empty/>
   </define>
   <define name="att.part.vis.attributes">
      <empty/>
   </define>
   <define name="att.parts.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.parts.ges.attributes">
      <empty/>
   </define>
   <define name="att.parts.log.attributes">
      <empty/>
   </define>
   <define name="att.parts.vis.attributes">
      <empty/>
   </define>
   <define name="att.pb.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.pb.ges.attributes">
      <empty/>
   </define>
   <define name="att.pb.log.attributes">
      <empty/>
   </define>
   <define name="att.pb.vis.attributes">
      <ref name="att.pb.vis.attribute.func"/>
   </define>
   <define name="att.pb.vis.attribute.func">
      <optional>
         <attribute name="func">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">states the side of a leaf (as in a manuscript) on which the content following the &lt;pb&gt; element occurs.</a:documentation>
            <choice>
               <value>verso</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>recto</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.phrase.anl.attributes">
      <ref name="att.common.anl.attributes"/>
      <ref name="att.joined.attributes"/>
   </define>
   <define name="att.phrase.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.phrase.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.phrase.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.xy2.attributes"/>
      <ref name="att.phrase.vis.cmn.attributes"/>
   </define>
   <define name="att.pitch.attributes">
      <ref name="att.pitch.attribute.pname"/>
   </define>
   <define name="att.pitch.attribute.pname">
      <optional>
         <attribute name="pname">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a written pitch name.</a:documentation>
            <ref name="data.PITCHNAME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.pitched.attributes">
      <ref name="att.pitch.attributes"/>
      <ref name="att.octave.attributes"/>
   </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">captures the placement of the item with respect to the staff with which it is associated.</a:documentation>
            <ref name="data.STAFFREL"/>
         </attribute>
      </optional>
   </define>
   <define name="att.plist.attributes">
      <ref name="att.plist.attribute.plist"/>
      <ref name="att.plist.attribute.evaluate"/>
   </define>
   <define name="att.plist.attribute.plist">
      <optional>
         <attribute name="plist">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a space separated list of references that identify logical events that participate in a collection, such as notes under a phrase mark.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.plist.attribute.evaluate">
      <optional>
         <attribute name="evaluate">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the intended meaning when the target of a pointer is itself a pointer.</a:documentation>
            <choice>
               <value>all</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">if the element pointed to is itself a pointer, then the target of that pointer will be taken, and so on, until an element is found which is not a pointer.</a:documentation>
               <value>one</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">if the element pointed to is itself a pointer, then its target (whether a pointer or not) is taken as the target of this pointer.</a:documentation>
               <value>none</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">no further evaluation of targets is carried out beyond that needed to find the element specified in the pointer's target.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.pointing.attributes">
      <ref name="att.pointing.attribute.xlinkactuate"/>
      <ref name="att.pointing.attribute.xlinkrole"/>
      <ref name="att.pointing.attribute.xlinkshow"/>
      <ref name="att.pointing.attribute.target"/>
      <ref name="att.pointing.attribute.targettype"/>
      <ref name="att.pointing.attribute.xlinktitle"/>
   </define>
   <define name="att.pointing.attribute.xlinkactuate">
      <optional>
         <attribute name="xlink:actuate">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines whether a link occurs automatically or must be requested by the user.</a:documentation>
            <choice>
               <value>onLoad</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">load the target resource immediately.</a:documentation>
               <value>onRequest</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">load the target resource upon user request.</a:documentation>
               <value>none</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">do not permit loading of the target resource.</a:documentation>
               <value>other</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">behavior other than allowed by the other values of this attribute.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.pointing.attribute.xlinkrole">
      <optional>
         <attribute name="xlink:role">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates a property of the entire link. The value of the role attribute must be a URI.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.pointing.attribute.xlinkshow">
      <optional>
         <attribute name="xlink:show">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines how a remote resource is rendered.</a:documentation>
            <choice>
               <value>new</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">open in a new window.</a:documentation>
               <value>replace</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">load the referenced resource in the same window.</a:documentation>
               <value>embed</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">embed the referenced resource at the point of the link.</a:documentation>
               <value>none</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">do not permit traversal to the referenced resource.</a:documentation>
               <value>other</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">behavior other than permitted by the other values of this attribute.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.pointing.attribute.target">
      <optional>
         <attribute name="target">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">allows the use of one or more previously-undeclared URIs to identify an external electronic object.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.pointing.attribute.targettype">
      <optional>
         <attribute name="targettype">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in contrast with the role attribute, allows the target resource to be characterized using any convenient classification scheme or typology.</a:documentation>
            <data type="NMTOKEN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.pointing.attribute.xlinktitle">
      <optional>
         <attribute name="xlink:title">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a human-readable description of the entire link.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.relativesize.attributes">
      <ref name="att.relativesize.attribute.size"/>
   </define>
   <define name="att.relativesize.attribute.size">
      <optional>
         <attribute name="size">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the relative size of a feature.</a:documentation>
            <ref name="data.SIZE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.responsibility.attributes">
      <ref name="att.responsibility.attribute.resp"/>
   </define>
   <define name="att.responsibility.attribute.resp">
      <optional>
         <attribute name="resp">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures information regarding responsibility for some aspect of the text's creation, transcription, editing, or encoding. Its value must point to one or more identifiers declared in the document header.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.rest.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.rest.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
      <ref name="att.instrumentident.attributes"/>
      <ref name="att.rest.ges.mensural.attributes"/>
   </define>
   <define name="att.rest.log.attributes">
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.event.attributes"/>
      <ref name="att.duration.musical.attributes"/>
      <ref name="att.fermatapresent.attributes"/>
      <ref name="att.tupletpresent.attributes"/>
      <ref name="att.rest.log.cmn.attributes"/>
   </define>
   <define name="att.rest.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.enclosingchars.attributes"/>
      <ref name="att.relativesize.attributes"/>
      <ref name="att.rest.vis.cmn.attributes"/>
      <ref name="att.rest.vis.mensural.attributes"/>
      <ref name="att.staffloc.attributes"/>
      <ref name="att.staffloc.pitched.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.sb.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.sb.ges.attributes">
      <empty/>
   </define>
   <define name="att.sb.log.attributes">
      <empty/>
   </define>
   <define name="att.sb.vis.attributes">
      <ref name="att.sb.vis.attribute.rend"/>
   </define>
   <define name="att.sb.vis.attribute.rend">
      <optional>
         <attribute name="rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether hash marks should be rendered between systems. See Read, p. 436, ex. 26-3.</a:documentation>
            <choice>
               <value>hash</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">display hash marks between systems.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.scalable.attributes">
      <ref name="att.scalable.attribute.scale"/>
   </define>
   <define name="att.scalable.attribute.scale">
      <optional>
         <attribute name="scale">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">scale factor to be applied to the feature to make it the desired display size.</a:documentation>
            <ref name="data.PERCENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.score.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.score.ges.attributes">
      <empty/>
   </define>
   <define name="att.score.log.attributes">
      <empty/>
   </define>
   <define name="att.score.vis.attributes">
      <empty/>
   </define>
   <define name="att.scoreDef.anl.attributes">
      <empty/>
   </define>
   <define name="att.scoreDef.ges.attributes">
      <ref name="att.channelized.attributes"/>
      <ref name="att.timebase.attributes"/>
      <ref name="att.miditempo.attributes"/>
      <ref name="att.mmtempo.attributes"/>
      <ref name="att.scoreDef.ges.attribute.tune.pname"/>
      <ref name="att.scoreDef.ges.attribute.tune.Hz"/>
      <ref name="att.scoreDef.ges.attribute.tune.temper"/>
   </define>
   <define name="att.scoreDef.ges.attribute.tune.pname">
      <optional>
         <attribute name="tune.pname">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds the pitch name of a tuning reference pitch.</a:documentation>
            <ref name="data.PITCHNAME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.ges.attribute.tune.Hz">
      <optional>
         <attribute name="tune.Hz">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds a value for cycles per second, i.e., Hertz, for a tuning reference pitch.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.ges.attribute.tune.temper">
      <optional>
         <attribute name="tune.temper">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an indication of the tuning system, 'just', for example.</a:documentation>
            <ref name="data.TEMPERAMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.log.attributes">
      <ref name="att.cleffing.log.attributes"/>
      <ref name="att.duration.default.attributes"/>
      <ref name="att.keySigDefault.log.attributes"/>
      <ref name="att.meterSigDefault.log.attributes"/>
      <ref name="att.octavedefault.attributes"/>
      <ref name="att.transposition.attributes"/>
      <ref name="att.scoreDef.log.cmn.attributes"/>
      <ref name="att.scoreDef.log.mensural.attributes"/>
   </define>
   <define name="att.scoreDef.vis.attributes">
      <ref name="att.barplacement.attributes"/>
      <ref name="att.cleffing.vis.attributes"/>
      <ref name="att.distances.attributes"/>
      <ref name="att.keySigDefault.vis.attributes"/>
      <ref name="att.lyricstyle.attributes"/>
      <ref name="att.meterSigDefault.vis.attributes"/>
      <ref name="att.multinummeasures.attributes"/>
      <ref name="att.onelinestaff.attributes"/>
      <ref name="att.textstyle.attributes"/>
      <ref name="att.scoreDef.vis.cmn.attributes"/>
      <ref name="att.scoreDef.vis.mensural.attributes"/>
      <ref name="att.scoreDef.vis.attribute.ending.rend"/>
      <ref name="att.scoreDef.vis.attribute.mnum.visible"/>
      <ref name="att.scoreDef.vis.attribute.music.name"/>
      <ref name="att.scoreDef.vis.attribute.music.size"/>
      <ref name="att.scoreDef.vis.attribute.optimize"/>
      <ref name="att.scoreDef.vis.attribute.page.height"/>
      <ref name="att.scoreDef.vis.attribute.page.width"/>
      <ref name="att.scoreDef.vis.attribute.page.topmar"/>
      <ref name="att.scoreDef.vis.attribute.page.botmar"/>
      <ref name="att.scoreDef.vis.attribute.page.leftmar"/>
      <ref name="att.scoreDef.vis.attribute.page.rightmar"/>
      <ref name="att.scoreDef.vis.attribute.page.panels"/>
      <ref name="att.scoreDef.vis.attribute.page.scale"/>
      <ref name="att.scoreDef.vis.attribute.spacing.packexp"/>
      <ref name="att.scoreDef.vis.attribute.spacing.packfact"/>
      <ref name="att.scoreDef.vis.attribute.spacing.staff"/>
      <ref name="att.scoreDef.vis.attribute.spacing.system"/>
      <ref name="att.scoreDef.vis.attribute.system.leftmar"/>
      <ref name="att.scoreDef.vis.attribute.system.rightmar"/>
      <ref name="att.scoreDef.vis.attribute.system.topmar"/>
      <ref name="att.scoreDef.vis.attribute.vu.height"/>
   </define>
   <define name="att.scoreDef.vis.attribute.ending.rend">
      <optional>
         <attribute name="ending.rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes where ending marks should be displayed.</a:documentation>
            <choice>
               <value>top</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ending rendered only above top staff.</a:documentation>
               <value>barred</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ending rendered above staves that have bar lines drawn across them.</a:documentation>
               <value>grouped</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">endings rendered above staff groups.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.mnum.visible">
      <optional>
         <attribute name="mnum.visible">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether measure numbers should be displayed.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.music.name">
      <optional>
         <attribute name="music.name">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the default music font name.</a:documentation>
            <ref name="data.MUSICFONT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.music.size">
      <optional>
         <attribute name="music.size">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the default music font size.</a:documentation>
            <ref name="data.FONTSIZE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.optimize">
      <optional>
         <attribute name="optimize">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether staves without notes, rests, etc. should be displayed. When the value is 'true', empty staves are displayed.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.page.height">
      <optional>
         <attribute name="page.height">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the height of the page; may be expressed in real-world units or staff steps.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.page.width">
      <optional>
         <attribute name="page.width">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the width of the page; may be expressed in real-world units or staff steps.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.page.topmar">
      <optional>
         <attribute name="page.topmar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the amount of whitespace at the top of a page.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.page.botmar">
      <optional>
         <attribute name="page.botmar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the amount of whitespace at the bottom of a page.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.page.leftmar">
      <optional>
         <attribute name="page.leftmar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the amount of whitespace at the left side of a page.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.page.rightmar">
      <optional>
         <attribute name="page.rightmar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the amount of whitespace at the right side of a page.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.page.panels">
      <optional>
         <attribute name="page.panels">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number of logical pages to be rendered on a single physical page.</a:documentation>
            <ref name="data.PAGE.PANELS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.page.scale">
      <optional>
         <attribute name="page.scale">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates how the page should be scaled when rendered.</a:documentation>
            <ref name="data.PGSCALE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.spacing.packexp">
      <optional>
         <attribute name="spacing.packexp">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a note's spacing relative to its time value.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.spacing.packfact">
      <optional>
         <attribute name="spacing.packfact">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the note spacing of output.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.spacing.staff">
      <optional>
         <attribute name="spacing.staff">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the minimum amount of space between adjacent staves in the same system; measured from the bottom line of the staff above to the top line of the staff below.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.spacing.system">
      <optional>
         <attribute name="spacing.system">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the space between adjacent systems; a pair of space-separated values (minimum and maximum, respectively) provides a range between which a rendering system-supplied value may fall, while a single value indicates a fixed amount of space; that is, the minimum and maximum values are equal.</a:documentation>
            <list>
               <ref name="data.MEASUREMENT"/>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.system.leftmar">
      <optional>
         <attribute name="system.leftmar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the amount of whitespace at the left system margin relative to page.leftmar.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.system.rightmar">
      <optional>
         <attribute name="system.rightmar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the amount of whitespace at the right system margin relative to page.rightmar.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.system.topmar">
      <optional>
         <attribute name="system.topmar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the distance from page's top edge to the first system; used for first page only.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.vis.attribute.vu.height">
      <optional>
         <attribute name="vu.height">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines the height of a "virtual unit" (vu) in terms of real-world units. A single vu is half the distance between the vertical center point of a staff line and that of an adjacent staff line.</a:documentation>
            <data type="token">
               <param name="pattern">\d+(\.\d+)?(cm|mm|in|pt|pc)</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.section.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.section.ges.attributes">
      <empty/>
   </define>
   <define name="att.section.log.attributes">
      <empty/>
   </define>
   <define name="att.section.vis.attributes">
      <ref name="att.section.vis.attribute.restart"/>
   </define>
   <define name="att.section.vis.attribute.restart">
      <optional>
         <attribute name="restart">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that staves begin again with this section.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.sequence.attributes">
      <ref name="att.sequence.attribute.seq"/>
   </define>
   <define name="att.sequence.attribute.seq">
      <optional>
         <attribute name="seq">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to assign a sequence number related to the order in which the encoded features carrying this attribute are believed to have occurred.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.slashcount.attributes">
      <ref name="att.slashcount.attribute.slash"/>
   </define>
   <define name="att.slashcount.attribute.slash">
      <optional>
         <attribute name="slash">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number of slashes present.</a:documentation>
            <ref name="data.SLASH"/>
         </attribute>
      </optional>
   </define>
   <define name="att.slurpresent.attributes">
      <ref name="att.slurpresent.attribute.slur"/>
   </define>
   <define name="att.slurpresent.attribute.slur">
      <optional>
         <attribute name="slur">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that this element participates in a slur. If visual information about the slur needs to be recorded, then a &lt;slur&gt; element should be employed.</a:documentation>
            <ref name="data.SLURS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.space.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.space.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.space.log.attributes">
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.event.attributes"/>
      <ref name="att.duration.musical.attributes"/>
      <ref name="att.fermatapresent.attributes"/>
      <ref name="att.tupletpresent.attributes"/>
      <ref name="att.space.log.cmn.attributes"/>
   </define>
   <define name="att.space.vis.attributes">
      <ref name="att.space.vis.attribute.compressable"/>
   </define>
   <define name="att.space.vis.attribute.compressable">
      <optional>
         <attribute name="compressable">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether a space is 'compressible', i.e., if it may be removed at the discretion of processing software.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staff.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.staff.ges.attributes">
      <empty/>
   </define>
   <define name="att.staff.log.attributes">
      <ref name="att.meterconformance.attributes"/>
      <ref name="att.staff.log.attribute.def"/>
   </define>
   <define name="att.staff.log.attribute.def">
      <optional>
         <attribute name="def">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a mechanism for linking the staff to a staffDef element.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staff.vis.attributes">
      <ref name="att.visibility.attributes"/>
   </define>
   <define name="att.staffDef.anl.attributes">
      <empty/>
   </define>
   <define name="att.staffDef.ges.attributes">
      <ref name="att.instrumentident.attributes"/>
      <ref name="att.timebase.attributes"/>
      <ref name="att.staffDef.ges.tablature.attributes"/>
   </define>
   <define name="att.staffDef.log.attributes">
      <ref name="att.cleffing.log.attributes"/>
      <ref name="att.duration.default.attributes"/>
      <ref name="att.keySigDefault.log.attributes"/>
      <ref name="att.meterSigDefault.log.attributes"/>
      <ref name="att.octavedefault.attributes"/>
      <ref name="att.transposition.attributes"/>
      <ref name="att.staffDef.log.cmn.attributes"/>
      <ref name="att.staffDef.log.mensural.attributes"/>
   </define>
   <define name="att.staffDef.vis.attributes">
      <ref name="att.cleffing.vis.attributes"/>
      <ref name="att.distances.attributes"/>
      <ref name="att.keySigDefault.vis.attributes"/>
      <ref name="att.labels.addl.attributes"/>
      <ref name="att.lyricstyle.attributes"/>
      <ref name="att.meterSigDefault.vis.attributes"/>
      <ref name="att.multinummeasures.attributes"/>
      <ref name="att.onelinestaff.attributes"/>
      <ref name="att.scalable.attributes"/>
      <ref name="att.textstyle.attributes"/>
      <ref name="att.visibility.attributes"/>
      <ref name="att.staffDef.vis.cmn.attributes"/>
      <ref name="att.staffDef.vis.mensural.attributes"/>
      <ref name="att.staffDef.vis.attribute.grid.show"/>
      <ref name="att.staffDef.vis.attribute.layerscheme"/>
      <ref name="att.staffDef.vis.attribute.lines"/>
      <ref name="att.staffDef.vis.attribute.lines.color"/>
      <ref name="att.staffDef.vis.attribute.lines.visible"/>
      <ref name="att.staffDef.vis.attribute.spacing"/>
   </define>
   <define name="att.staffDef.vis.attribute.grid.show">
      <optional>
         <attribute name="grid.show">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines whether to display guitar chord grids.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staffDef.vis.attribute.layerscheme">
      <optional>
         <attribute name="layerscheme">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number of layers and their stem directions.</a:documentation>
            <ref name="data.LAYERSCHEME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staffDef.vis.attribute.lines">
      <optional>
         <attribute name="lines">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number of staff lines.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staffDef.vis.attribute.lines.color">
      <optional>
         <attribute name="lines.color">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures the colors of the staff lines. The value is structured; that is, it should have the same number of space-separated RGB values as the number of lines indicated by the lines attribute. A line can be made invisible by assigning it the same RGB value as the background, usually white.</a:documentation>
            <ref name="data.COLORS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staffDef.vis.attribute.lines.visible">
      <optional>
         <attribute name="lines.visible">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records whether all staff lines are visible.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staffDef.vis.attribute.spacing">
      <optional>
         <attribute name="spacing">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the absolute distance (as opposed to the relative distances recorded in &lt;scoreDef&gt; elements) between this staff and the preceding one in the same system. This value is meaningless for the first staff in a system since the spacing.system attribute indicates the spacing between systems.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staffgroupingsym.attributes">
      <ref name="att.staffgroupingsym.attribute.symbol"/>
   </define>
   <define name="att.staffgroupingsym.attribute.symbol">
      <optional>
         <attribute name="symbol">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the symbol used to group a set of staves.</a:documentation>
            <choice>
               <value>brace</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">curved symbol, i.e., {.</a:documentation>
               <value>bracket</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">square symbol, i.e., [.</a:documentation>
               <value>line</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">line symbol, i.e., |.</a:documentation>
               <value>none</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">grouping symbol missing.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.staffGrp.anl.attributes">
      <empty/>
   </define>
   <define name="att.staffGrp.ges.attributes">
      <ref name="att.instrumentident.attributes"/>
   </define>
   <define name="att.staffGrp.log.attributes">
      <empty/>
   </define>
   <define name="att.staffGrp.vis.attributes">
      <ref name="att.labels.addl.attributes"/>
      <ref name="att.staffgroupingsym.attributes"/>
      <ref name="att.visibility.attributes"/>
      <ref name="att.staffGrp.vis.attribute.barthru"/>
   </define>
   <define name="att.staffGrp.vis.attribute.barthru">
      <optional>
         <attribute name="barthru">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether bar lines go across the space between staves (true) or are only drawn across the lines of each staff (false).</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staffident.attributes">
      <ref name="att.staffident.attribute.staff"/>
   </define>
   <define name="att.staffident.attribute.staff">
      <optional>
         <attribute name="staff">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the staff on which a notated event occurs or to which a control event applies. Mandatory when applicable.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="positiveInteger"/>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="att.staffloc.attributes">
      <ref name="att.staffloc.attribute.loc"/>
   </define>
   <define name="att.staffloc.attribute.loc">
      <optional>
         <attribute name="loc">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds the staff location of the feature.</a:documentation>
            <ref name="data.STAFFLOC"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staffloc.pitched.attributes">
      <ref name="att.staffloc.pitched.attribute.ploc"/>
      <ref name="att.staffloc.pitched.attribute.oloc"/>
   </define>
   <define name="att.staffloc.pitched.attribute.ploc">
      <optional>
         <attribute name="ploc">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures staff location in terms of written pitch name.</a:documentation>
            <ref name="data.PITCHNAME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staffloc.pitched.attribute.oloc">
      <optional>
         <attribute name="oloc">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records staff location in terms of written octave.</a:documentation>
            <ref name="data.OCTAVE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.startendid.attributes">
      <ref name="att.startid.attributes"/>
      <ref name="att.startendid.attribute.endid"/>
   </define>
   <define name="att.startendid.attribute.endid">
      <optional>
         <attribute name="endid">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the final element in a sequence of events to which the feature applies.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.startid.attributes">
      <ref name="att.startid.attribute.startid"/>
   </define>
   <define name="att.startid.attribute.startid">
      <optional>
         <attribute name="startid">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds a reference to the first element in a sequence of events to which the feature applies.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.stemmed.attributes">
      <ref name="att.stemmed.cmn.attributes"/>
      <ref name="att.stemmed.attribute.stem.dir"/>
      <ref name="att.stemmed.attribute.stem.len"/>
      <ref name="att.stemmed.attribute.stem.pos"/>
      <ref name="att.stemmed.attribute.stem.x"/>
      <ref name="att.stemmed.attribute.stem.y"/>
   </define>
   <define name="att.stemmed.attribute.stem.dir">
      <optional>
         <attribute name="stem.dir">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the direction of a stem.</a:documentation>
            <ref name="data.STEMDIRECTION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.stemmed.attribute.stem.len">
      <optional>
         <attribute name="stem.len">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the stem length.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.stemmed.attribute.stem.pos">
      <optional>
         <attribute name="stem.pos">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the position of the stem in relation to the note head(s).</a:documentation>
            <ref name="data.STEMPOSITION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.stemmed.attribute.stem.x">
      <optional>
         <attribute name="stem.x">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the output x coordinate of the stem's attachment point.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.stemmed.attribute.stem.y">
      <optional>
         <attribute name="stem.y">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the output y coordinate of the stem's attachment point.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.syl.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.syl.ges.attributes">
      <empty/>
   </define>
   <define name="att.syl.log.attributes">
      <ref name="att.syl.log.attribute.con"/>
      <ref name="att.syl.log.attribute.wordpos"/>
   </define>
   <define name="att.syl.log.attribute.con">
      <optional>
         <attribute name="con">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the symbols typically used to indicate breaks between syllables and their functions.</a:documentation>
            <choice>
               <value>s</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">space (word separator).</a:documentation>
               <value>d</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dash (syllable separator).</a:documentation>
               <value>u</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">underscore (syllable extension).</a:documentation>
               <value>t</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tilde (syllable elision).</a:documentation>
               <value>c</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">circumflex [angled line above] (syllable elision).</a:documentation>
               <value>v</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">caron [angled line below] (syllable elision).</a:documentation>
               <value>i</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">inverted breve [curved line above] (syllable elision).</a:documentation>
               <value>b</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">breve [curved line below] (syllable elision).</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.syl.log.attribute.wordpos">
      <optional>
         <attribute name="wordpos">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the position of a syllable within a word.</a:documentation>
            <choice>
               <value>i</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(initial) first syllable.</a:documentation>
               <value>m</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(medial) neither first nor last syllable.</a:documentation>
               <value>t</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(terminal) last syllable.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.syl.vis.attributes">
      <ref name="att.typography.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.horizontalalign.attributes"/>
   </define>
   <define name="att.syltext.attributes">
      <ref name="att.syltext.attribute.syl"/>
   </define>
   <define name="att.syltext.attribute.syl">
      <optional>
         <attribute name="syl">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds an associated sung text syllable.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.tempo.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.tempo.ges.attributes">
      <ref name="att.miditempo.attributes"/>
      <ref name="att.mmtempo.attributes"/>
   </define>
   <define name="att.tempo.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.startid.attributes"/>
   </define>
   <define name="att.tempo.vis.attributes">
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.ho.attributes"/>
      <ref name="att.visualoffset2.to.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.textstyle.attributes">
      <ref name="att.textstyle.attribute.text.fam"/>
      <ref name="att.textstyle.attribute.text.name"/>
      <ref name="att.textstyle.attribute.text.size"/>
      <ref name="att.textstyle.attribute.text.style"/>
      <ref name="att.textstyle.attribute.text.weight"/>
   </define>
   <define name="att.textstyle.attribute.text.fam">
      <optional>
         <attribute name="text.fam">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a default value for the font family name of text (other than lyrics) when this information is not provided on the individual elements.</a:documentation>
            <ref name="data.FONTFAMILY"/>
         </attribute>
      </optional>
   </define>
   <define name="att.textstyle.attribute.text.name">
      <optional>
         <attribute name="text.name">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a default value for the font name of text (other than lyrics) when this information is not provided on the individual elements.</a:documentation>
            <ref name="data.FONTNAME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.textstyle.attribute.text.size">
      <optional>
         <attribute name="text.size">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a default value for the font size of text (other than lyrics) when this information is not provided on the individual elements.</a:documentation>
            <ref name="data.FONTSIZE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.textstyle.attribute.text.style">
      <optional>
         <attribute name="text.style">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a default value for the font style of text (other than lyrics) when this information is not provided on the individual elements.</a:documentation>
            <ref name="data.FONTSTYLE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.textstyle.attribute.text.weight">
      <optional>
         <attribute name="text.weight">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a default value for the font weight for text (other than lyrics) when this information is not provided on the individual elements.</a:documentation>
            <ref name="data.FONTWEIGHT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.tiepresent.attributes">
      <ref name="att.tiepresent.attribute.tie"/>
   </define>
   <define name="att.tiepresent.attribute.tie">
      <optional>
         <attribute name="tie">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that this element participates in a tie. If visual information about the tie needs to be recorded, then a &lt;tie&gt; element should be employed.</a:documentation>
            <ref name="data.TIES"/>
         </attribute>
      </optional>
   </define>
   <define name="att.timestamp.musical.attributes">
      <ref name="att.timestamp.musical.attribute.tstamp"/>
   </define>
   <define name="att.timestamp.musical.attribute.tstamp">
      <optional>
         <attribute name="tstamp">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the onset time in terms of musical time, i.e., beats[.fractional_beat_part].</a:documentation>
            <ref name="data.BEAT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.timestamp.performed.attributes">
      <ref name="att.timestamp.performed.attribute.tstamp.ges"/>
      <ref name="att.timestamp.performed.attribute.tstamp.real"/>
   </define>
   <define name="att.timestamp.performed.attribute.tstamp.ges">
      <optional>
         <attribute name="tstamp.ges">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to record the onset time in pulses per quarter note (ppq, MusicXML divisions, or MIDI clicks) since the start of the file.</a:documentation>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.timestamp.performed.attribute.tstamp.real">
      <optional>
         <attribute name="tstamp.real">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to record the onset time in terms of ISO time since the start of the file.</a:documentation>
            <ref name="data.ISOTIME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.timestamp2.musical.attributes">
      <ref name="att.timestamp2.musical.attribute.tstamp2"/>
   </define>
   <define name="att.timestamp2.musical.attribute.tstamp2">
      <optional>
         <attribute name="tstamp2">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the ending point of an event in terms of musical time, i.e., a count of measures plus a beat location.</a:documentation>
            <ref name="data.MEASUREBEAT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.transposition.attributes">
      <ref name="att.transposition.attribute.trans.diat"/>
      <ref name="att.transposition.attribute.trans.semi"/>
   </define>
   <define name="att.transposition.attribute.trans.diat">
      <optional>
         <attribute name="trans.diat">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the amount of diatonic pitch shift, e.g., C to C♯ = 0, C to D♭ = 1, necessary to calculate the sounded pitch from the written one. </a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.transposition.attribute.trans.semi">
      <optional>
         <attribute name="trans.semi">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the amount of pitch shift in semitones, e.g., C to C♯ = 1, C to D♭ = 1, necessary to calculate the sounded pitch from the written one. </a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.tupletpresent.attributes">
      <ref name="att.tupletpresent.attribute.tuplet"/>
   </define>
   <define name="att.tupletpresent.attribute.tuplet">
      <optional>
         <attribute name="tuplet">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that this feature participates in a tuplet. If visual information about the tuplet needs to be recorded, then a &lt;tuplet&gt; element should be employed.</a:documentation>
            <ref name="data.TUPLETS"/>
         </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>
            <data type="NMTOKEN"/>
         </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">provide any sub-classification for the element, additional to that given by its type attribute.</a:documentation>
            <data type="NMTOKEN"/>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="subtype-constraint-When_subtype">
      <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                xmlns="http://www.tei-c.org/ns/1.0"
                context="mei:*[@subtype]">
                <sch:assert test="@type">An element with a subtype attribute must have a type
                  attribute.</sch:assert>
              </sch:rule>
   </pattern>
   <define name="att.typography.attributes">
      <ref name="att.typography.attribute.fontfam"/>
      <ref name="att.typography.attribute.fontname"/>
      <ref name="att.typography.attribute.fontsize"/>
      <ref name="att.typography.attribute.fontstyle"/>
      <ref name="att.typography.attribute.fontweight"/>
   </define>
   <define name="att.typography.attribute.fontfam">
      <optional>
         <attribute name="fontfam">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of a font-family.</a:documentation>
            <ref name="data.FONTFAMILY"/>
         </attribute>
      </optional>
   </define>
   <define name="att.typography.attribute.fontname">
      <optional>
         <attribute name="fontname">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds the name of a font.</a:documentation>
            <ref name="data.FONTNAME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.typography.attribute.fontsize">
      <optional>
         <attribute name="fontsize">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the size of a font in printers' points, i.e., 1/72nd of an inch.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.typography.attribute.fontstyle">
      <optional>
         <attribute name="fontstyle">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the style of a font, i.e, italic, oblique, or normal.</a:documentation>
            <ref name="data.FONTSTYLE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.typography.attribute.fontweight">
      <optional>
         <attribute name="fontweight">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to indicate bold type.</a:documentation>
            <ref name="data.FONTWEIGHT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.visibility.attributes">
      <ref name="att.visibility.attribute.visible"/>
   </define>
   <define name="att.visibility.attribute.visible">
      <optional>
         <attribute name="visible">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates if a feature should be rendered when the notation is presented graphically or sounded when it is presented in an aural form.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.visualoffset.attributes">
      <ref name="att.visualoffset.ho.attributes"/>
      <ref name="att.visualoffset.to.attributes"/>
      <ref name="att.visualoffset.vo.attributes"/>
   </define>
   <define name="att.visualoffset.ho.attributes">
      <ref name="att.visualoffset.ho.attribute.ho"/>
   </define>
   <define name="att.visualoffset.ho.attribute.ho">
      <optional>
         <attribute name="ho">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records a horizontal adjustment to a feature's programmatically-determined location in terms of staff interline distance; that is, in units of 1/2 the distance between adjacent staff lines.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.visualoffset.to.attributes">
      <ref name="att.visualoffset.to.attribute.to"/>
   </define>
   <define name="att.visualoffset.to.attribute.to">
      <optional>
         <attribute name="to">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records a timestamp adjustment of a feature's programmatically-determined location in terms of musical time; that is, beats.</a:documentation>
            <ref name="data.TSTAMPOFFSET"/>
         </attribute>
      </optional>
   </define>
   <define name="att.visualoffset.vo.attributes">
      <ref name="att.visualoffset.vo.attribute.vo"/>
   </define>
   <define name="att.visualoffset.vo.attribute.vo">
      <optional>
         <attribute name="vo">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the vertical adjustment of a feature's programmatically-determined location in terms of staff interline distance; that is, in units of 1/2 the distance between adjacent staff lines.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.visualoffset2.attributes">
      <ref name="att.visualoffset2.ho.attributes"/>
      <ref name="att.visualoffset2.to.attributes"/>
      <ref name="att.visualoffset2.vo.attributes"/>
   </define>
   <define name="att.visualoffset2.ho.attributes">
      <ref name="att.visualoffset2.ho.attribute.startho"/>
      <ref name="att.visualoffset2.ho.attribute.endho"/>
   </define>
   <define name="att.visualoffset2.ho.attribute.startho">
      <optional>
         <attribute name="startho">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the horizontal adjustment of a feature's programmatically-determined start point.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.visualoffset2.ho.attribute.endho">
      <optional>
         <attribute name="endho">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the horizontal adjustment of a feature's programmatically-determined end point.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.visualoffset2.to.attributes">
      <ref name="att.visualoffset2.to.attribute.startto"/>
      <ref name="att.visualoffset2.to.attribute.endto"/>
   </define>
   <define name="att.visualoffset2.to.attribute.startto">
      <optional>
         <attribute name="startto">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records a timestamp adjustment of a feature's programmatically-determined start point.</a:documentation>
            <ref name="data.TSTAMPOFFSET"/>
         </attribute>
      </optional>
   </define>
   <define name="att.visualoffset2.to.attribute.endto">
      <optional>
         <attribute name="endto">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records a timestamp adjustment of a feature's programmatically-determined end point.</a:documentation>
            <ref name="data.TSTAMPOFFSET"/>
         </attribute>
      </optional>
   </define>
   <define name="att.visualoffset2.vo.attributes">
      <ref name="att.visualoffset2.vo.attribute.startvo"/>
      <ref name="att.visualoffset2.vo.attribute.endvo"/>
   </define>
   <define name="att.visualoffset2.vo.attribute.startvo">
      <optional>
         <attribute name="startvo">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records a vertical adjustment of a feature's programmatically-determined start point.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.visualoffset2.vo.attribute.endvo">
      <optional>
         <attribute name="endvo">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records a vertical adjustment of a feature's programmatically-determined end point.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.whitespace.attributes">
      <ref name="att.whitespace.attribute.xmlspace"/>
   </define>
   <define name="att.whitespace.attribute.xmlspace">
      <optional>
         <attribute name="xml:space">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">allows one to signal to an application whether an element's white space is "significant". The behavior of xml:space cascades to all descendant elements, but it can be turned off locally by setting the xml:space attribute to the value "default".</a:documentation>
            <choice>
               <value>default</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">allows the application to handle white space as necessary. Not including an xml:space attribute produces the same result as using the default value.</a:documentation>
               <value>preserve</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">instructs the application to maintain white space "as-is", suggesting that it might have meaning.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.width.attributes">
      <ref name="att.width.attribute.width"/>
   </define>
   <define name="att.width.attribute.width">
      <optional>
         <attribute name="width">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">measurement of the horizontal dimension of an entity. The width attribute may be used to capture measure width data for interchange with music printing systems that utilize this information for printing. On &lt;barLine&gt; the width attribute captures the width of the preceding measure.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.xy.attributes">
      <ref name="att.xy.attribute.x"/>
      <ref name="att.xy.attribute.y"/>
   </define>
   <define name="att.xy.attribute.x">
      <optional>
         <attribute name="x">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes an x coordinate for a feature in an output coordinate system. When it is necessary to record the placement of a feature in a facsimile image, use the facs attribute.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.xy.attribute.y">
      <optional>
         <attribute name="y">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes an y coordinate for a feature in an output coordinate system. When it is necessary to record the placement of a feature in a facsimile image, use the facs attribute.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.xy2.attributes">
      <ref name="att.xy2.attribute.x2"/>
      <ref name="att.xy2.attribute.y2"/>
   </define>
   <define name="att.xy2.attribute.x2">
      <optional>
         <attribute name="x2">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the optional 2nd x coordinate.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.xy2.attribute.y2">
      <optional>
         <attribute name="y2">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the optional 2nd y coordinate.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="model.addressLike">
      <choice>
         <ref name="address"/>
      </choice>
   </define>
   <define name="model.addressLike_alternation">
      <choice>
         <ref name="address"/>
      </choice>
   </define>
   <define name="model.addressLike_sequence">
      <ref name="address"/>
   </define>
   <define name="model.addressLike_sequenceOptional">
      <optional>
         <ref name="address"/>
      </optional>
   </define>
   <define name="model.addressLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="address"/>
      </zeroOrMore>
   </define>
   <define name="model.addressLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="address"/>
      </oneOrMore>
   </define>
   <define name="model.annotLike">
      <choice>
         <ref name="annot"/>
      </choice>
   </define>
   <define name="model.annotLike_alternation">
      <choice>
         <ref name="annot"/>
      </choice>
   </define>
   <define name="model.annotLike_sequence">
      <ref name="annot"/>
   </define>
   <define name="model.annotLike_sequenceOptional">
      <optional>
         <ref name="annot"/>
      </optional>
   </define>
   <define name="model.annotLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="annot"/>
      </zeroOrMore>
   </define>
   <define name="model.annotLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="annot"/>
      </oneOrMore>
   </define>
   <define name="model.biblLike">
      <choice>
         <ref name="bibl"/>
      </choice>
   </define>
   <define name="model.biblLike_alternation">
      <choice>
         <ref name="bibl"/>
      </choice>
   </define>
   <define name="model.biblLike_sequence">
      <ref name="bibl"/>
   </define>
   <define name="model.biblLike_sequenceOptional">
      <optional>
         <ref name="bibl"/>
      </optional>
   </define>
   <define name="model.biblLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="bibl"/>
      </zeroOrMore>
   </define>
   <define name="model.biblLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="bibl"/>
      </oneOrMore>
   </define>
   <define name="model.biblPart">
      <choice>
         <ref name="model.editionLike"/>
         <ref name="model.respLike"/>
         <ref name="biblScope"/>
         <ref name="creation"/>
         <ref name="extent"/>
         <ref name="genre"/>
         <ref name="imprint"/>
         <ref name="physLoc"/>
         <ref name="recipient"/>
         <ref name="relatedItem"/>
         <ref name="series"/>
         <ref name="textLang"/>
      </choice>
   </define>
   <define name="model.captionLike">
      <choice>
         <ref name="caption"/>
      </choice>
   </define>
   <define name="model.controleventLike">
      <choice>
         <ref name="dir"/>
         <ref name="dynam"/>
         <ref name="phrase"/>
         <ref name="tempo"/>
         <ref name="model.controleventLike.cmn"/>
         <ref name="bend"/>
         <ref name="gliss"/>
         <ref name="model.controleventLike.harmony"/>
      </choice>
   </define>
   <define name="model.controleventLike_alternation">
      <choice>
         <ref name="dir"/>
         <ref name="dynam"/>
         <ref name="phrase"/>
         <ref name="tempo"/>
         <ref name="model.controleventLike.cmn_alternation"/>
         <ref name="bend"/>
         <ref name="gliss"/>
         <ref name="model.controleventLike.harmony_alternation"/>
      </choice>
   </define>
   <define name="model.controleventLike_sequence">
      <ref name="dir"/>
      <ref name="dynam"/>
      <ref name="phrase"/>
      <ref name="tempo"/>
      <ref name="model.controleventLike.cmn_sequence"/>
      <ref name="bend"/>
      <ref name="gliss"/>
      <ref name="model.controleventLike.harmony_sequence"/>
   </define>
   <define name="model.controleventLike_sequenceOptional">
      <optional>
         <ref name="dir"/>
      </optional>
      <optional>
         <ref name="dynam"/>
      </optional>
      <optional>
         <ref name="phrase"/>
      </optional>
      <optional>
         <ref name="tempo"/>
      </optional>
      <optional>
         <ref name="model.controleventLike.cmn_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="bend"/>
      </optional>
      <optional>
         <ref name="gliss"/>
      </optional>
      <optional>
         <ref name="model.controleventLike.harmony_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.controleventLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="dir"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="dynam"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="phrase"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="tempo"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.controleventLike.cmn_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="bend"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="gliss"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.controleventLike.harmony_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.controleventLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="dir"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="dynam"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="phrase"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="tempo"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.controleventLike.cmn_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="bend"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="gliss"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.controleventLike.harmony_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.dateLike">
      <choice>
         <ref name="date"/>
      </choice>
   </define>
   <define name="model.dateLike_alternation">
      <choice>
         <ref name="date"/>
      </choice>
   </define>
   <define name="model.dateLike_sequence">
      <ref name="date"/>
   </define>
   <define name="model.dateLike_sequenceOptional">
      <optional>
         <ref name="date"/>
      </optional>
   </define>
   <define name="model.dateLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="date"/>
      </zeroOrMore>
   </define>
   <define name="model.dateLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="date"/>
      </oneOrMore>
   </define>
   <define name="model.editionLike">
      <choice>
         <ref name="edition"/>
      </choice>
   </define>
   <define name="model.editorialLike">
      <choice>
         <ref name="abbr"/>
         <ref name="expan"/>
      </choice>
   </define>
   <define name="model.editorialLike_alternation">
      <choice>
         <ref name="abbr"/>
         <ref name="expan"/>
      </choice>
   </define>
   <define name="model.editorialLike_sequence">
      <ref name="abbr"/>
      <ref name="expan"/>
   </define>
   <define name="model.editorialLike_sequenceOptional">
      <optional>
         <ref name="abbr"/>
      </optional>
      <optional>
         <ref name="expan"/>
      </optional>
   </define>
   <define name="model.editorialLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="abbr"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="expan"/>
      </zeroOrMore>
   </define>
   <define name="model.editorialLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="abbr"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="expan"/>
      </oneOrMore>
   </define>
   <define name="model.endingLike">
      <choice>
         <ref name="ending"/>
      </choice>
   </define>
   <define name="model.eventLike">
      <choice>
         <ref name="model.keySigLike"/>
         <ref name="model.meterSigLike"/>
         <ref name="barLine"/>
         <ref name="chord"/>
         <ref name="clef"/>
         <ref name="clefGrp"/>
         <ref name="custos"/>
         <ref name="note"/>
         <ref name="pad"/>
         <ref name="rest"/>
         <ref name="space"/>
         <ref name="model.eventLike.cmn"/>
         <ref name="model.eventLike.mensural"/>
      </choice>
   </define>
   <define name="model.identifierLike">
      <choice>
         <ref name="identifier"/>
      </choice>
   </define>
   <define name="model.identifierLike_alternation">
      <choice>
         <ref name="identifier"/>
      </choice>
   </define>
   <define name="model.identifierLike_sequence">
      <ref name="identifier"/>
   </define>
   <define name="model.identifierLike_sequenceOptional">
      <optional>
         <ref name="identifier"/>
      </optional>
   </define>
   <define name="model.identifierLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="identifier"/>
      </zeroOrMore>
   </define>
   <define name="model.identifierLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="identifier"/>
      </oneOrMore>
   </define>
   <define name="model.imprintPart">
      <choice>
         <ref name="distributor"/>
         <ref name="publisher"/>
         <ref name="pubPlace"/>
      </choice>
   </define>
   <define name="model.incipLike">
      <choice>
         <ref name="incip"/>
      </choice>
   </define>
   <define name="model.instrDefLike">
      <choice>
         <ref name="instrDef"/>
      </choice>
   </define>
   <define name="model.keyAccidLike">
      <choice>
         <ref name="keyAccid"/>
      </choice>
   </define>
   <define name="model.keySigLike">
      <choice>
         <ref name="keySig"/>
      </choice>
   </define>
   <define name="model.keySigLike_alternation">
      <choice>
         <ref name="keySig"/>
      </choice>
   </define>
   <define name="model.keySigLike_sequence">
      <ref name="keySig"/>
   </define>
   <define name="model.keySigLike_sequenceOptional">
      <optional>
         <ref name="keySig"/>
      </optional>
   </define>
   <define name="model.keySigLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="keySig"/>
      </zeroOrMore>
   </define>
   <define name="model.keySigLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="keySig"/>
      </oneOrMore>
   </define>
   <define name="model.labelLike">
      <choice>
         <ref name="label"/>
      </choice>
   </define>
   <define name="model.layerDefLike">
      <choice>
         <ref name="layerDef"/>
      </choice>
   </define>
   <define name="model.layerLike">
      <choice>
         <ref name="layer"/>
      </choice>
   </define>
   <define name="model.layerPart">
      <choice>
         <ref name="model.eventLike"/>
         <ref name="model.layerPart.mensuralAndNeumes"/>
         <ref name="model.layerPart.cmn"/>
      </choice>
   </define>
   <define name="model.layerPart.mensuralAndNeumes">
      <choice>
         <ref name="model.scoreDefLike"/>
         <ref name="model.staffDefLike"/>
         <ref name="model.layerPart.mensural"/>
         <ref name="model.layerPart.neumes"/>
         <ref name="model.midiLike"/>
      </choice>
   </define>
   <define name="model.lbLike">
      <choice>
         <ref name="lb"/>
      </choice>
   </define>
   <define name="model.lbLike_alternation">
      <choice>
         <ref name="lb"/>
      </choice>
   </define>
   <define name="model.lbLike_sequence">
      <ref name="lb"/>
   </define>
   <define name="model.lbLike_sequenceOptional">
      <optional>
         <ref name="lb"/>
      </optional>
   </define>
   <define name="model.lbLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="lb"/>
      </zeroOrMore>
   </define>
   <define name="model.lbLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="lb"/>
      </oneOrMore>
   </define>
   <define name="model.mdivLike">
      <choice>
         <ref name="mdiv"/>
      </choice>
   </define>
   <define name="model.measurementLike">
      <choice>
         <ref name="model.numLike"/>
      </choice>
   </define>
   <define name="model.measurementLike_alternation">
      <choice>
         <ref name="model.numLike_alternation"/>
      </choice>
   </define>
   <define name="model.measurementLike_sequence">
      <ref name="model.numLike_sequence"/>
   </define>
   <define name="model.measurementLike_sequenceOptional">
      <optional>
         <ref name="model.numLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.measurementLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.numLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.measurementLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.numLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.meterSigLike">
      <choice>
         <ref name="meterSig"/>
         <ref name="meterSigGrp"/>
      </choice>
   </define>
   <define name="model.meterSigLike_alternation">
      <choice>
         <ref name="meterSig"/>
         <ref name="meterSigGrp"/>
      </choice>
   </define>
   <define name="model.meterSigLike_sequence">
      <ref name="meterSig"/>
      <ref name="meterSigGrp"/>
   </define>
   <define name="model.meterSigLike_sequenceOptional">
      <optional>
         <ref name="meterSig"/>
      </optional>
      <optional>
         <ref name="meterSigGrp"/>
      </optional>
   </define>
   <define name="model.meterSigLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="meterSig"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="meterSigGrp"/>
      </zeroOrMore>
   </define>
   <define name="model.meterSigLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="meterSig"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="meterSigGrp"/>
      </oneOrMore>
   </define>
   <define name="model.milestoneLike.music">
      <choice>
         <ref name="model.pbLike"/>
         <ref name="sb"/>
      </choice>
   </define>
   <define name="model.milestoneLike.text">
      <choice>
         <ref name="model.lbLike"/>
         <ref name="model.pbLike"/>
      </choice>
   </define>
   <define name="model.milestoneLike.text_alternation">
      <choice>
         <ref name="model.lbLike_alternation"/>
         <ref name="model.pbLike_alternation"/>
      </choice>
   </define>
   <define name="model.milestoneLike.text_sequence">
      <ref name="model.lbLike_sequence"/>
      <ref name="model.pbLike_sequence"/>
   </define>
   <define name="model.milestoneLike.text_sequenceOptional">
      <optional>
         <ref name="model.lbLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.pbLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.milestoneLike.text_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.lbLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.pbLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.milestoneLike.text_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.lbLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.pbLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.nameLike">
      <choice>
         <ref name="name"/>
      </choice>
   </define>
   <define name="model.nameLike_alternation">
      <choice>
         <ref name="name"/>
      </choice>
   </define>
   <define name="model.nameLike_sequence">
      <ref name="name"/>
   </define>
   <define name="model.nameLike_sequenceOptional">
      <optional>
         <ref name="name"/>
      </optional>
   </define>
   <define name="model.nameLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="name"/>
      </zeroOrMore>
   </define>
   <define name="model.nameLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="name"/>
      </oneOrMore>
   </define>
   <define name="model.noteModifierLike">
      <choice>
         <ref name="accid"/>
         <ref name="artic"/>
         <ref name="dot"/>
      </choice>
   </define>
   <define name="model.noteModifierLike_alternation">
      <choice>
         <ref name="accid"/>
         <ref name="artic"/>
         <ref name="dot"/>
      </choice>
   </define>
   <define name="model.noteModifierLike_sequence">
      <ref name="accid"/>
      <ref name="artic"/>
      <ref name="dot"/>
   </define>
   <define name="model.noteModifierLike_sequenceOptional">
      <optional>
         <ref name="accid"/>
      </optional>
      <optional>
         <ref name="artic"/>
      </optional>
      <optional>
         <ref name="dot"/>
      </optional>
   </define>
   <define name="model.noteModifierLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="accid"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="artic"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="dot"/>
      </zeroOrMore>
   </define>
   <define name="model.noteModifierLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="accid"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="artic"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="dot"/>
      </oneOrMore>
   </define>
   <define name="model.numLike">
      <choice>
         <ref name="num"/>
      </choice>
   </define>
   <define name="model.numLike_alternation">
      <choice>
         <ref name="num"/>
      </choice>
   </define>
   <define name="model.numLike_sequence">
      <ref name="num"/>
   </define>
   <define name="model.numLike_sequenceOptional">
      <optional>
         <ref name="num"/>
      </optional>
   </define>
   <define name="model.numLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="num"/>
      </zeroOrMore>
   </define>
   <define name="model.numLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="num"/>
      </oneOrMore>
   </define>
   <define name="model.paracontentPart">
      <choice>
         <ref name="model.textphraseLike"/>
         <ref name="model.editLike"/>
         <ref name="model.transcriptionLike"/>
         <ref name="model.tableLike"/>
         <ref name="model.listLike"/>
         <ref name="model.quoteLike"/>
      </choice>
   </define>
   <define name="model.partLike">
      <choice>
         <ref name="part"/>
      </choice>
   </define>
   <define name="model.partsLike">
      <choice>
         <ref name="parts"/>
      </choice>
   </define>
   <define name="model.pbLike">
      <choice>
         <ref name="pb"/>
      </choice>
   </define>
   <define name="model.pbLike_alternation">
      <choice>
         <ref name="pb"/>
      </choice>
   </define>
   <define name="model.pbLike_sequence">
      <ref name="pb"/>
   </define>
   <define name="model.pbLike_sequenceOptional">
      <optional>
         <ref name="pb"/>
      </optional>
   </define>
   <define name="model.pbLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="pb"/>
      </zeroOrMore>
   </define>
   <define name="model.pbLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="pb"/>
      </oneOrMore>
   </define>
   <define name="model.pLike">
      <choice>
         <ref name="p"/>
      </choice>
   </define>
   <define name="model.pLike_alternation">
      <choice>
         <ref name="p"/>
      </choice>
   </define>
   <define name="model.pLike_sequence">
      <ref name="p"/>
   </define>
   <define name="model.pLike_sequenceOptional">
      <optional>
         <ref name="p"/>
      </optional>
   </define>
   <define name="model.pLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="p"/>
      </zeroOrMore>
   </define>
   <define name="model.pLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="p"/>
      </oneOrMore>
   </define>
   <define name="model.rendLike">
      <choice>
         <ref name="rend"/>
         <ref name="stack"/>
      </choice>
   </define>
   <define name="model.rendLike_alternation">
      <choice>
         <ref name="rend"/>
         <ref name="stack"/>
      </choice>
   </define>
   <define name="model.rendLike_sequence">
      <ref name="rend"/>
      <ref name="stack"/>
   </define>
   <define name="model.rendLike_sequenceOptional">
      <optional>
         <ref name="rend"/>
      </optional>
      <optional>
         <ref name="stack"/>
      </optional>
   </define>
   <define name="model.rendLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="rend"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="stack"/>
      </zeroOrMore>
   </define>
   <define name="model.rendLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="rend"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="stack"/>
      </oneOrMore>
   </define>
   <define name="model.repositoryLike">
      <choice>
         <ref name="repository"/>
      </choice>
   </define>
   <define name="model.repositoryLike_alternation">
      <choice>
         <ref name="repository"/>
      </choice>
   </define>
   <define name="model.repositoryLike_sequence">
      <ref name="repository"/>
   </define>
   <define name="model.repositoryLike_sequenceOptional">
      <optional>
         <ref name="repository"/>
      </optional>
   </define>
   <define name="model.repositoryLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="repository"/>
      </zeroOrMore>
   </define>
   <define name="model.repositoryLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="repository"/>
      </oneOrMore>
   </define>
   <define name="model.resourceLike">
      <choice>
         <ref name="facsimile"/>
         <ref name="performance"/>
      </choice>
   </define>
   <define name="model.respLike">
      <choice>
         <ref name="arranger"/>
         <ref name="author"/>
         <ref name="composer"/>
         <ref name="editor"/>
         <ref name="funder"/>
         <ref name="librettist"/>
         <ref name="lyricist"/>
         <ref name="respStmt"/>
         <ref name="sponsor"/>
      </choice>
   </define>
   <define name="model.scoreDefLike">
      <choice>
         <ref name="scoreDef"/>
      </choice>
   </define>
   <define name="model.scoreDefLike_alternation">
      <choice>
         <ref name="scoreDef"/>
      </choice>
   </define>
   <define name="model.scoreDefLike_sequence">
      <ref name="scoreDef"/>
   </define>
   <define name="model.scoreDefLike_sequenceOptional">
      <optional>
         <ref name="scoreDef"/>
      </optional>
   </define>
   <define name="model.scoreDefLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="scoreDef"/>
      </zeroOrMore>
   </define>
   <define name="model.scoreDefLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="scoreDef"/>
      </oneOrMore>
   </define>
   <define name="model.scoreLike">
      <choice>
         <ref name="score"/>
      </choice>
   </define>
   <define name="model.scorePart">
      <choice>
         <ref name="model.endingLike"/>
         <ref name="model.scoreDefLike"/>
         <ref name="model.sectionLike"/>
         <ref name="model.staffDefLike"/>
      </choice>
   </define>
   <define name="model.sectionLike">
      <choice>
         <ref name="section"/>
      </choice>
   </define>
   <define name="model.sectionPart">
      <choice>
         <ref name="model.endingLike"/>
         <ref name="model.scoreDefLike"/>
         <ref name="model.sectionLike"/>
         <ref name="model.sectionPart.mensuralAndNeumes"/>
         <ref name="model.staffDefLike"/>
         <ref name="model.sectionPart.cmn"/>
      </choice>
   </define>
   <define name="model.sectionPart.mensuralAndNeumes">
      <choice>
         <ref name="model.staffLike"/>
      </choice>
   </define>
   <define name="model.staffDefLike">
      <choice>
         <ref name="staffDef"/>
      </choice>
   </define>
   <define name="model.staffDefLike_alternation">
      <choice>
         <ref name="staffDef"/>
      </choice>
   </define>
   <define name="model.staffDefLike_sequence">
      <ref name="staffDef"/>
   </define>
   <define name="model.staffDefLike_sequenceOptional">
      <optional>
         <ref name="staffDef"/>
      </optional>
   </define>
   <define name="model.staffDefLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="staffDef"/>
      </zeroOrMore>
   </define>
   <define name="model.staffDefLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="staffDef"/>
      </oneOrMore>
   </define>
   <define name="model.staffDefPart">
      <choice>
         <ref name="model.keySigLike"/>
         <ref name="model.meterSigLike"/>
         <ref name="clef"/>
         <ref name="clefGrp"/>
         <ref name="model.staffDefPart.mensural"/>
      </choice>
   </define>
   <define name="model.staffGrpLike">
      <choice>
         <ref name="staffGrp"/>
      </choice>
   </define>
   <define name="model.staffLike">
      <choice>
         <ref name="staff"/>
      </choice>
   </define>
   <define name="model.staffLike_alternation">
      <choice>
         <ref name="staff"/>
      </choice>
   </define>
   <define name="model.staffLike_sequence">
      <ref name="staff"/>
   </define>
   <define name="model.staffLike_sequenceOptional">
      <optional>
         <ref name="staff"/>
      </optional>
   </define>
   <define name="model.staffLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="staff"/>
      </zeroOrMore>
   </define>
   <define name="model.staffLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="staff"/>
      </oneOrMore>
   </define>
   <define name="model.staffPart">
      <choice>
         <ref name="model.layerLike"/>
         <ref name="model.staffPart.mensuralAndNeumes"/>
         <ref name="model.ossiaLike"/>
      </choice>
   </define>
   <define name="model.staffPart.mensuralAndNeumes">
      <choice>
         <ref name="model.scoreDefLike"/>
         <ref name="model.staffDefLike"/>
      </choice>
   </define>
   <define name="model.textcomponentLike">
      <choice>
         <ref name="model.pLike"/>
         <ref name="model.tableLike"/>
         <ref name="model.lgLike"/>
         <ref name="model.listLike"/>
         <ref name="model.quoteLike"/>
      </choice>
   </define>
   <define name="model.textphraseLike">
      <choice>
         <ref name="model.addressLike"/>
         <ref name="model.annotLike"/>
         <ref name="model.biblLike"/>
         <ref name="model.dateLike"/>
         <ref name="model.editorialLike"/>
         <ref name="model.identifierLike"/>
         <ref name="model.measurementLike"/>
         <ref name="model.milestoneLike.text"/>
         <ref name="model.nameLike"/>
         <ref name="model.rendLike"/>
         <ref name="model.titleLike"/>
         <ref name="model.figureLike"/>
         <ref name="model.nameLike.agent"/>
         <ref name="model.nameLike.label"/>
         <ref name="model.nameLike.place"/>
         <ref name="model.locrefLike"/>
      </choice>
   </define>
   <define name="model.textphraseLike.limited">
      <choice>
         <ref name="model.addressLike"/>
         <ref name="model.biblLike"/>
         <ref name="model.dateLike"/>
         <ref name="model.editorialLike"/>
         <ref name="model.identifierLike"/>
         <ref name="model.lbLike"/>
         <ref name="model.measurementLike"/>
         <ref name="model.nameLike"/>
         <ref name="model.rendLike"/>
         <ref name="model.titleLike"/>
         <ref name="model.figureLike"/>
         <ref name="model.nameLike.agent"/>
         <ref name="model.nameLike.label"/>
         <ref name="model.nameLike.place"/>
         <ref name="model.locrefLike"/>
      </choice>
   </define>
   <define name="model.titleLike">
      <choice>
         <ref name="title"/>
      </choice>
   </define>
   <define name="model.titleLike_alternation">
      <choice>
         <ref name="title"/>
      </choice>
   </define>
   <define name="model.titleLike_sequence">
      <ref name="title"/>
   </define>
   <define name="model.titleLike_sequenceOptional">
      <optional>
         <ref name="title"/>
      </optional>
   </define>
   <define name="model.titleLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="title"/>
      </zeroOrMore>
   </define>
   <define name="model.titleLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="title"/>
      </oneOrMore>
   </define>
   <define name="accid">
      <element name="accid">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(accidental) – Records a temporary alteration to the pitch of a note. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typography.attributes"/>
         <ref name="att.accid.log.attributes"/>
         <ref name="att.accid.vis.attributes"/>
         <ref name="att.accid.ges.attributes"/>
         <ref name="att.accid.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="actor">
      <element name="actor">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Name of an actor appearing within a cast list.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="address">
      <element name="address">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a postal address, for example of a publisher, an organization, or an individual. </a:documentation>
         <oneOrMore>
            <ref name="addrLine"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="addrLine">
      <element name="addrLine">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(address line) – Single line of a postal address. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="annot">
      <element name="annot">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(annotation) – Provides a short statement explaining the text or indicating the basis for an assertion. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.source.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.annot.log.attributes"/>
         <ref name="att.annot.vis.attributes"/>
         <ref name="att.annot.ges.attributes"/>
         <ref name="att.annot.anl.attributes"/>
         <ref name="att.plist.attributes"/>
         <ref name="att.responsibility.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="arranger">
      <element name="arranger">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A person or organization who transcribes a musical composition, usually for a different medium from that of the original; in an arrangement the musical substance remains essentially unchanged.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="artic">
      <element name="artic">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(articulation) – An indication of how to play a note or chord. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typography.attributes"/>
         <ref name="att.artic.log.attributes"/>
         <ref name="att.artic.vis.attributes"/>
         <ref name="att.artic.ges.attributes"/>
         <ref name="att.artic.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="author">
      <element name="author">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The name of the creator of the intellectual content of a non-musical, literary work.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="barLine">
      <element name="barLine">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Vertical line drawn through one or more staves that divides musical notation into metrical units. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="barLine-constraint-Check_barLinetaktplace">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:barLine[@taktplace]">
               <sch:let name="staff" value="ancestor::mei:staff/@n"/>
               <sch:let name="staffpos"
                        value="count(ancestor::mei:staff/preceding-sibling::mei:staff)               + 1"/>
               <sch:assert test="number(@taktplace) &lt;= number(2 *               preceding::mei:staffDef[@n=$staff and @lines][1]/@lines)"/>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.barLine.log.attributes"/>
         <ref name="att.barLine.vis.attributes"/>
         <ref name="att.barLine.ges.attributes"/>
         <ref name="att.barLine.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="bibl">
      <element name="bibl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(bibliographic reference) – Provides a loosely-structured bibliographic citation in which the sub-components may or may not be explicitly marked. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.biblPart"/>
               <ref name="model.imprintPart"/>
               <ref name="model.textphraseLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.pointing.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="biblList">
      <element name="biblList">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">List of bibliographic references.</a:documentation>
         <optional>
            <ref name="head"/>
         </optional>
         <zeroOrMore>
            <ref name="model.biblLike"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="biblScope">
      <element name="biblScope">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(scope of citation) – Defines the scope of a bibliographic reference, for example as a list of page numbers, or a named subdivision of a larger work.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.measurement.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="body">
      <element name="body">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains the whole of a single musical text, excluding any front or back matter. </a:documentation>
         <oneOrMore>
            <ref name="model.mdivLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="caption">
      <element name="caption">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A label which accompanies an illustration or a table.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="castGrp">
      <element name="castGrp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cast group) – Groups one or more individual castItem elements within a cast list.</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="castItem"/>
               <ref name="castGrp"/>
               <ref name="roleDesc"/>
            </choice>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="castItem">
      <element name="castItem">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a single entry within a cast list, describing either a single role or a list of non-speaking roles.</a:documentation>
         <oneOrMore>
            <choice>
               <text/>
               <ref name="role"/>
               <ref name="roleDesc"/>
               <ref name="actor"/>
               <ref name="instrVoice"/>
            </choice>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="castList">
      <element name="castList">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a single cast list or dramatis personae.</a:documentation>
         <optional>
            <ref name="model.headLike"/>
         </optional>
         <oneOrMore>
            <choice>
               <ref name="castItem"/>
               <ref name="castGrp"/>
            </choice>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="chord">
      <element name="chord">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A simultaneous sounding of two or more notes in the same layer *with the same duration*.</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="note"/>
               <ref name="artic"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.chord.log.attributes"/>
         <ref name="att.chord.vis.attributes"/>
         <ref name="att.chord.ges.attributes"/>
         <ref name="att.chord.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="clef">
      <element name="clef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indication of the exact location of a particular note on the staff and, therefore, the other notes as well. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="clef-constraint-Check_clef_position_clef">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:clef[ancestor::mei:staffDef[@lines]]">
               <sch:let name="thisstaff" value="ancestor::mei:staffDef/@n"/>
               <sch:assert test="number(@line) &lt;=               number(ancestor::mei:staffDef[@n=$thisstaff and @lines][1]/@lines)">The clef position
              must be less than or equal to the number of lines on the staff.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="clef-constraint-Check_clef_position_clef2">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:clef[ancestor::mei:staffDef[not(@lines)]]">
               <sch:let name="thisstaff" value="ancestor::mei:staffDef/@n"/>
               <sch:assert test="number(@line) &lt;=               number(preceding::mei:staffDef[@n=$thisstaff and @lines][1]/@lines)">The clef position
              must be less than or equal to the number of lines on the staff.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.event.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.clef.anl.attributes"/>
         <ref name="att.clef.ges.attributes"/>
         <ref name="att.clef.log.attributes"/>
         <ref name="att.clef.vis.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="clefGrp">
      <element name="clefGrp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(clef group) – A set of simultaneously-occurring clefs.</a:documentation>
         <oneOrMore>
            <ref name="clef"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.event.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.clefGrp.log.attributes"/>
         <ref name="att.clefGrp.vis.attributes"/>
         <ref name="att.clefGrp.ges.attributes"/>
         <ref name="att.clefGrp.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="composer">
      <element name="composer">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The name of the creator of the intellectual content of a musical work.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="creation">
      <element name="creation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Non-bibliographic details of the creation of an intellectual entity, in narrative form, such as the date, place, and circumstances of its composition. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="date"/>
               <ref name="geogName"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="custos">
      <element name="custos">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Symbol placed at the end of a line of music to indicate the first note of the next line. Sometimes called a "direct". </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.source.attributes"/>
         <ref name="att.custos.log.attributes"/>
         <ref name="att.custos.vis.attributes"/>
         <ref name="att.custos.ges.attributes"/>
         <ref name="att.custos.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="date">
      <element name="date">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A string identifying a point in time or the time period between two such points.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.calendared.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="dir">
      <element name="dir">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(directive) – A text expression that is on the score (typically above, below, or between staves, but not on the staff) not encoded elsewhere in more specific elements, such as &lt;tempo&gt; or &lt;dynam&gt;. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="dir-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:dir[not(ancestor::mei:syllable)]">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.dir.log.attributes"/>
         <ref name="att.dir.vis.attributes"/>
         <ref name="att.dir.ges.attributes"/>
         <ref name="att.dir.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="distributor">
      <element name="distributor">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Name of a person or other agency responsible for the distribution of a bibliographic item.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="dot">
      <element name="dot">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Dot of augmentation or division. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.dot.log.attributes"/>
         <ref name="att.dot.vis.attributes"/>
         <ref name="att.dot.ges.attributes"/>
         <ref name="att.dot.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="dynam">
      <element name="dynam">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(dynamic) – Indication of the volume of a note, phrase, or section of music. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="dynam-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:dynam">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.dynam.log.attributes"/>
         <ref name="att.dynam.vis.attributes"/>
         <ref name="att.dynam.ges.attributes"/>
         <ref name="att.dynam.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="edition">
      <element name="edition">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(edition designation) – A word or text phrase that indicates a difference in either content or form between the item being described and a related item previously issued by the same publisher/distributor (e.g. 2nd edition, version 2.0, etc.), or simultaneously issued by either the same publisher/distributor or another publisher/distributor (e.g. large print edition, British edition, etc.). </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="editor">
      <element name="editor">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The name of the individual(s), institution(s) or organization(s) acting in an editorial capacity.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="ending">
      <element name="ending">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Alternative ending for a repeated passage of music; i.e., prima volta, seconda volta, etc. </a:documentation>
         <zeroOrMore>
            <ref name="expansion"/>
         </zeroOrMore>
         <zeroOrMore>
            <choice>
               <ref name="model.appLike"/>
               <ref name="model.divLike"/>
               <ref name="model.milestoneLike.music"/>
               <ref name="model.annotLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.sectionPart"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.ending.anl.attributes"/>
         <ref name="att.ending.ges.attributes"/>
         <ref name="att.ending.log.attributes"/>
         <ref name="att.ending.vis.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="expansion">
      <element name="expansion">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates how a section may be programmatically expanded into its 'through-composed' form. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.source.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.plist.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="extent">
      <element name="extent">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Used to express size in terms other than physical dimensions, such as number of pages, number of records in file, number of bytes, performance duration for music, audio recordings and visual projections, etc. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.measurement.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="funder">
      <element name="funder">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Names of individuals, institutions, or organizations responsible for funding. Funders provide financial support for a project; they are distinct from sponsors, who provide intellectual support and authority.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="fw">
      <element name="fw">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(forme work) – This element is intended for capture of header/footer material that is non-repeating; that is, occuring on isolated pages. For recurring headers and footers use pgHead* and pgFoot* elements. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.appLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="genre">
      <element name="genre">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Term or terms that designate a category characterizing a particular style, form, or content.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="group">
      <element name="group">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a composite musical text, grouping together a sequence of distinct musical texts (or groups of such musical texts) which are regarded as a unit for some purpose, for example, the collected works of a composer. </a:documentation>
         <choice>
            <ref name="music"/>
            <ref name="group"/>
         </choice>
         <zeroOrMore>
            <choice>
               <ref name="music"/>
               <ref name="group"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="grpSym">
      <element name="grpSym">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(group symbol) – A brace or bracket used to group two or more staves of a score or part. </a:documentation>
         <zeroOrMore>
            <ref name="model.labelLike"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.grpSym.log.attributes"/>
         <ref name="att.grpSym.vis.attributes"/>
         <ref name="att.grpSym.ges.attributes"/>
         <ref name="att.grpSym.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="identifier">
      <element name="identifier">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An alpha-numeric string that establishes the identity of the described material. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="imprint">
      <element name="imprint">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Information relating to the publication or distribution of a bibliographic item.</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="model.imprintPart"/>
               <ref name="model.dateLike"/>
            </choice>
            <zeroOrMore>
               <ref name="respStmt"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.annotLike"/>
            </zeroOrMore>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="incip">
      <element name="incip">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(incipit) – The opening music and/or words of a composition. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="incipCode"/>
               <ref name="incipText"/>
               <ref name="model.scoreLike"/>
               <ref name="model.graphicLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="keyAccid">
      <element name="keyAccid">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(key accidental) – Accidental in a key signature. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.keyAccid.anl.attributes"/>
         <ref name="att.keyAccid.ges.attributes"/>
         <ref name="att.keyAccid.log.attributes"/>
         <ref name="att.keyAccid.vis.attributes"/>
         <optional>
            <attribute name="form">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies whether enharmonic (written) values or implicit ("perform-able") values are allowed.</a:documentation>
               <choice>
                  <value>implicit</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">only performed values (sharp, flat, natural) allowed.</a:documentation>
                  <value>explicit</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">all enharmonic (written) values allowed.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="keySig">
      <element name="keySig">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(key signature) – Written key signature. </a:documentation>
         <zeroOrMore>
            <ref name="model.keyAccidLike"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.keySig.anl.attributes"/>
         <ref name="att.keySig.ges.attributes"/>
         <ref name="att.keySig.log.attributes"/>
         <ref name="att.keySig.vis.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="label">
      <element name="label">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A container for text that identifies the feature to which it is attached.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.source.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="layer">
      <element name="layer">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An independent stream of events on a staff. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.appLike"/>
               <ref name="model.divLike"/>
               <ref name="model.milestoneLike.music"/>
               <ref name="model.annotLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.layerPart"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="layer-constraint-Check_layern">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:layer[@n]">
               <sch:assert test="number(@n) = round(number(@n))">The n attribute must be a single
              integer.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.layer.log.attributes"/>
         <ref name="att.layer.vis.attributes"/>
         <ref name="att.layer.ges.attributes"/>
         <ref name="att.layer.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="layerDef">
      <element name="layerDef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(layer definition) – Container for layer meta-information.</a:documentation>
         <zeroOrMore>
            <ref name="model.labelLike"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="model.instrDefLike"/>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="layerDef-constraint-Check_layerDefn">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:layerDef">
               <sch:assert test="number(@n) = round(number(@n))">An n attribute with a single integer
              value must be present.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.layerDef.log.attributes"/>
         <ref name="att.layerDef.vis.attributes"/>
         <ref name="att.layerDef.ges.attributes"/>
         <ref name="att.layerDef.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="lb">
      <element name="lb">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(line break) – An empty formatting element that forces text to begin on a new line. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.source.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="func">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">states whether the line break follows a single line or a line group.</a:documentation>
               <choice>
                  <value>line</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
                  <value>group</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="librettist">
      <element name="librettist">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Person or organization who is a writer of the text of an opera, oratorio, etc.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="lyricist">
      <element name="lyricist">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Person or organization who is a writer of the text of a song.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="mdiv">
      <element name="mdiv">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(musical division) – contains a subdivision of the body of a musical text. </a:documentation>
         <choice>
            <group>
               <optional>
                  <ref name="model.scoreLike"/>
               </optional>
               <optional>
                  <ref name="model.partsLike"/>
               </optional>
            </group>
            <zeroOrMore>
               <ref name="model.mdivLike"/>
            </zeroOrMore>
         </choice>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="mei">
      <element name="mei">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a single MEI-conformant document, consisting of an MEI header and a musical text, either in isolation or as part of an meiCorpus element. </a:documentation>
         <ref name="meiHead"/>
         <ref name="music"/>
         <ns xmlns="http://purl.oclc.org/dsdl/schematron" prefix="mei"
             uri="http://www.music-encoding.org/ns/mei"/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="mei-constraint-Check_staff">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:*[@staff]">
               <sch:assert test="every $i in tokenize(@staff, '\s+') satisfies               $i=//mei:staffDef/@n">The values in @staff must correspond to @n attribute of a
              staffDef element.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.meiversion.attributes"/>
         <ref name="att.id.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="music">
      <element name="music">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a single musical text of any kind, whether unitary or composite, for example, an etude, opera, song cycle, symphony, or anthology of piano solos.</a:documentation>
         <zeroOrMore>
            <ref name="model.alignLike"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="model.resourceLike"/>
         </zeroOrMore>
         <ref name="macro.musicPart"/>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.meiversion.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="name">
      <element name="name">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Proper noun or noun phrase. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.name.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="note">
      <element name="note">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A single pitched event. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.noteModifierLike"/>
               <ref name="model.verseLike"/>
               <ref name="model.sylLike"/>
               <ref name="model.appLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.note.log.attributes"/>
         <ref name="att.note.vis.attributes"/>
         <ref name="att.note.ges.attributes"/>
         <ref name="att.note.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="num">
      <element name="num">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) – Numeric information in any form. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.measurement.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="p">
      <element name="p">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(paragraph) – One or more text phrases that form a logical prose passage. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.paracontentPart"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.xy.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pad">
      <element name="pad">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(padding) – An indication of extra visual space between notational elements.</a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.pad.log.attributes"/>
         <ref name="att.pad.vis.attributes"/>
         <ref name="att.pad.ges.attributes"/>
         <ref name="att.pad.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="part">
      <element name="part">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An alternative visual rendition of the score from the point of view of a particular performer (or group of performers). </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.appLike"/>
               <ref name="model.divLike"/>
               <ref name="model.milestoneLike.music"/>
               <ref name="model.annotLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.scorePart"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.part.log.attributes"/>
         <ref name="att.part.vis.attributes"/>
         <ref name="att.part.ges.attributes"/>
         <ref name="att.part.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="parts">
      <element name="parts">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Provides a container for performers' parts.</a:documentation>
         <zeroOrMore>
            <ref name="model.partLike"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.parts.log.attributes"/>
         <ref name="att.parts.vis.attributes"/>
         <ref name="att.parts.ges.attributes"/>
         <ref name="att.parts.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pb">
      <element name="pb">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page break) – An empty formatting element that forces text to begin on a new page. </a:documentation>
         <ref name="macro.metaLike.page"/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.source.attributes"/>
         <ref name="att.pb.anl.attributes"/>
         <ref name="att.pb.ges.attributes"/>
         <ref name="att.pb.log.attributes"/>
         <ref name="att.pb.vis.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pgDesc">
      <element name="pgDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page description) – Contains a brief prose description of the appearance or description of the content of a physical page. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.annotLike"/>
               <ref name="model.locrefLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pgFoot">
      <element name="pgFoot">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page footer) – A running footer on the first page. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.appLike"/>
               <ref name="anchoredText"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pgFoot2">
      <element name="pgFoot2">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page footer 2) – A running footer on the pages following the first. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.appLike"/>
               <ref name="anchoredText"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pgHead">
      <element name="pgHead">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page header) – A running header on the first page. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.appLike"/>
               <ref name="anchoredText"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pgHead2">
      <element name="pgHead2">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page header 2) – A running header on the pages following the first. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.appLike"/>
               <ref name="anchoredText"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="phrase">
      <element name="phrase">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indication of 1) a "unified melodic idea" or 2) performance technique. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="phrase-constraint-Start-_and_end-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:phrase">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
               <sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the
              attributes: dur, dur.ges, endid, or tstamp2</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.phrase.log.attributes"/>
         <ref name="att.phrase.vis.attributes"/>
         <ref name="att.phrase.ges.attributes"/>
         <ref name="att.phrase.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="physLoc">
      <element name="physLoc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(physical location) – Groups information about the physical location of a bibliographic item, such as the repository in which it is located and its shelf mark.</a:documentation>
         <optional>
            <ref name="model.repositoryLike"/>
         </optional>
         <zeroOrMore>
            <ref name="model.identifierLike"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="publisher">
      <element name="publisher">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Name of the organization responsible for the publication of a bibliographic item.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pubPlace">
      <element name="pubPlace">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publication place) – Name of the place where a bibliographic item was published.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="recipient">
      <element name="recipient">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The name of the individual(s), institution(s) or organization(s) receiving correspondence.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="relatedItem">
      <element name="relatedItem">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(related item) – Contains or references another bibliographic item which is related to the present one.</a:documentation>
         <zeroOrMore>
            <ref name="model.biblLike"/>
         </zeroOrMore>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.pointing.attributes"/>
         <attribute name="rel">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the relationship between the &lt;relatedItem&gt; and the resource described in the parent element, i.e., &lt;bibl&gt;, &lt;source&gt; or &lt;relatedItem&gt;. The values are based on MODS version 3.4. The subject of these relations is always the &lt;relatedItem&gt;, and the object is always the parent of the &lt;relatedItem&gt;. "preceding" and "succeeding" indicate temporal order.</a:documentation>
            <choice>
               <value>preceding</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">predecessor of the resource</a:documentation>
               <value>succeeding</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">successor to the resource</a:documentation>
               <value>original</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">original form of the resource</a:documentation>
               <value>host</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">parent containing the resource</a:documentation>
               <value>constituent</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">intellectual or physical component of the resource</a:documentation>
               <value>otherVersion</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">version of the resource's intellectual content not changed enough to be a different work</a:documentation>
               <value>otherFormat</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">version of the resource in a different physical format</a:documentation>
               <value>isReferencedBy</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">published bibliographic description, review, abstract, or index of the resource's content</a:documentation>
               <value>references</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cited or referred to in the resource</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="rend">
      <element name="rend">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(render) – A formatting element indicating special visual rendering, e.g., bold or italicized, of a text word or phrase. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.color.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.horizontalalign.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.typography.attributes"/>
         <ref name="att.whitespace.attributes"/>
         <optional>
            <attribute name="altrend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to extend the values of the rend attribute.</a:documentation>
               <text/>
            </attribute>
         </optional>
         <optional>
            <attribute name="rend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures the appearance of the element's contents using MEI-defined descriptors.</a:documentation>
               <ref name="data.TEXTRENDITION"/>
            </attribute>
         </optional>
         <optional>
            <attribute name="rotation">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A positive value for rotation rotates the text in a counter-clockwise fashion, while negative values produce clockwise rotation.</a:documentation>
               <ref name="data.DEGREES"/>
            </attribute>
         </optional>
         <optional>
            <attribute name="valign">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the vertical position of the element content relative to the surrounding text.</a:documentation>
               <choice>
                  <value>top</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">aligns the top of the content with the top of the surrounding text.</a:documentation>
                  <value>middle</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">aligns the middle of the content with the middle of the surrounding text.</a:documentation>
                  <value>bottom</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">aligns the bottom of the content with the bottom of the surrounding text.</a:documentation>
                  <value>baseline</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">aligns the baseline of the content with the baseline of the surrounding text.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="repository">
      <element name="repository">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Institution, agency, or individual which holds a bibliographic item. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.name.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="resp">
      <element name="resp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsibility) – A phrase describing the nature of intellectual responsibility. </a:documentation>
         <text/>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.coded.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="respStmt">
      <element name="respStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsibility statement) – Names one or more individuals, groups, or in rare cases, mechanical processes, responsible for creation or realization of the intellectual or artistic content. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="resp"/>
               <ref name="model.nameLike"/>
               <ref name="model.nameLike.agent"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="rest">
      <element name="rest">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A non-sounding event found in the source being transcribed. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="rest-constraint-Check_restline">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:rest[@line]">
               <sch:let name="thisstaff" value="ancestor::mei:staff/@n"/>
               <sch:assert test="number(@line) &lt;=               number(preceding::mei:staffDef[@n=$thisstaff and @lines][1]/@lines)">The value of
              @line must be less than or equal to the number of lines on the staff.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.rest.log.attributes"/>
         <ref name="att.rest.vis.attributes"/>
         <ref name="att.rest.ges.attributes"/>
         <ref name="att.rest.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="role">
      <element name="role">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Name of a dramatic role, as given in a cast list.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="roleDesc">
      <element name="roleDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(role description) – Describes a character's role in a drama.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="sb">
      <element name="sb">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(system break) – An empty formatting element that forces musical notation to begin on a new line. </a:documentation>
         <optional>
            <ref name="custos"/>
         </optional>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.source.attributes"/>
         <ref name="att.sb.log.attributes"/>
         <ref name="att.sb.vis.attributes"/>
         <ref name="att.sb.ges.attributes"/>
         <ref name="att.sb.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="score">
      <element name="score">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Full score view of the musical content. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.appLike"/>
               <ref name="model.divLike"/>
               <ref name="model.milestoneLike.music"/>
               <ref name="model.annotLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.scorePart"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.score.log.attributes"/>
         <ref name="att.score.vis.attributes"/>
         <ref name="att.score.ges.attributes"/>
         <ref name="att.score.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="scoreDef">
      <element name="scoreDef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(score definition) – Container for score meta-information.</a:documentation>
         <zeroOrMore>
            <ref name="model.alignLike"/>
         </zeroOrMore>
         <optional>
            <ref name="model.chordTableLike"/>
         </optional>
         <optional>
            <ref name="model.symbolTableLike"/>
         </optional>
         <optional>
            <ref name="model.keySigLike"/>
         </optional>
         <optional>
            <ref name="model.meterSigLike"/>
         </optional>
         <optional>
            <ref name="pgHead"/>
         </optional>
         <optional>
            <ref name="pgHead2"/>
         </optional>
         <optional>
            <ref name="pgFoot"/>
         </optional>
         <optional>
            <ref name="pgFoot2"/>
         </optional>
         <optional>
            <ref name="instrGrp"/>
         </optional>
         <optional>
            <ref name="model.staffGrpLike"/>
         </optional>
         <ref name="att.common.attributes"/>
         <ref name="att.scoreDef.log.attributes"/>
         <ref name="att.scoreDef.vis.attributes"/>
         <ref name="att.scoreDef.ges.attributes"/>
         <ref name="att.scoreDef.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="section">
      <element name="section">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Segment of music data. </a:documentation>
         <zeroOrMore>
            <ref name="expansion"/>
         </zeroOrMore>
         <zeroOrMore>
            <choice>
               <ref name="model.appLike"/>
               <ref name="model.divLike"/>
               <ref name="model.milestoneLike.music"/>
               <ref name="model.annotLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.sectionPart"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="section-constraint-Check_sectionexpansion">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:section[mei:expansion]">
               <sch:assert test="descendant::mei:section|descendant::mei:ending|descendant::mei:rdg">Must have descendant section, ending, or rdg elements that can be pointed
              to.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.section.log.attributes"/>
         <ref name="att.section.vis.attributes"/>
         <ref name="att.section.ges.attributes"/>
         <ref name="att.section.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="series">
      <element name="series">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains information about the serial publication in which a bibliographic item has appeared.</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.titleLike"/>
               <ref name="model.locrefLike"/>
               <ref name="editor"/>
               <ref name="respStmt"/>
               <ref name="extent"/>
               <ref name="model.identifierLike"/>
               <ref name="model.pLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="space">
      <element name="space">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A placeholder used to fill an incomplete measure, layer, etc. most often so that the combined duration of the events equals the number of beats in the measure.</a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.space.log.attributes"/>
         <ref name="att.space.vis.attributes"/>
         <ref name="att.space.ges.attributes"/>
         <ref name="att.space.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="sponsor">
      <element name="sponsor">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Names of sponsoring individuals, organizations or institutions. Sponsors give their intellectual authority to a project; they are to be distinguished from funders, who provide the funding but do not necessarily take intellectual responsibility.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="stack">
      <element name="stack">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(stacked text) – An inline table with a single column.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <optional>
            <attribute name="delim">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the delimiter used to mark the portions of text that are to be stacked.</a:documentation>
               <text/>
            </attribute>
         </optional>
         <optional>
            <attribute name="align">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies how the stacked text components should be aligned.</a:documentation>
               <choice>
                  <value>left</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">left justified.</a:documentation>
                  <value>right</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">right justified.</a:documentation>
                  <value>center</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">centered.</a:documentation>
                  <value>rightdigit</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">aligned on right-most digit.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="staff">
      <element name="staff">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A group of equidistant horizontal lines on which notes are placed in order to represent pitch or a grouping element for individual 'strands' of notes, rests, etc. that may or may not actually be rendered on staff lines; that is, both diastematic and non-diastematic signs. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.appLike"/>
               <ref name="model.divLike"/>
               <ref name="model.milestoneLike.music"/>
               <ref name="model.annotLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.staffPart"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="staff-constraint-Check_staffn">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:staff[@n]">
               <sch:assert test="number(@n) = round(number(@n))">The n attribute must be a single
              integer.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.staff.log.attributes"/>
         <ref name="att.staff.vis.attributes"/>
         <ref name="att.staff.ges.attributes"/>
         <ref name="att.staff.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="staffDef">
      <element name="staffDef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(staff definition) – Container for staff meta-information.</a:documentation>
         <zeroOrMore>
            <ref name="model.labelLike"/>
         </zeroOrMore>
         <zeroOrMore>
            <choice>
               <ref name="model.instrDefLike"/>
               <ref name="model.layerDefLike"/>
               <ref name="model.staffDefPart"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="staffDef-constraint-Check_staffDefn">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:staffDef">
               <sch:let name="thisstaff" value="@n"/>
               <sch:assert test="@n">A staffDef must have an n attribute.</sch:assert>
               <sch:assert test="@lines or preceding::mei:staffDef[@n=$thisstaff and @lines]">The first
              occurrence of a staff must declare the number of staff lines.</sch:assert>
               <sch:assert test="count(mei:clef) + count(mei:clefGrp) &lt; 2">Only one clef or clefGrp
              is permitted.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="staffDef-constraint-Check_ancestor_staff">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:staffDef[ancestor::mei:staff]">
               <sch:let name="thisstaff" value="@n"/>
               <sch:assert test="ancestor::mei:staff/@n eq $thisstaff">If a staffDef appears in a
              staff, it must bear the same @n than this staff.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="staffDef-constraint-Check_clef_position_staffDef">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:staffDef[@clef.line and @lines]">
               <sch:assert test="number(@clef.line) &lt;= number(@lines)">The clef position must be
              less than or equal to the number of lines on the staff.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="staffDef-constraint-Check_clef_position_staffDef_nolines">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:staffDef[@clef.line and not(@lines)]">
               <sch:let name="thisstaff" value="@n"/>
               <sch:let name="stafflines"
                        value="preceding::mei:staffDef[@n=$thisstaff and               @lines][1]/@lines"/>
               <sch:assert test="number(@clef.line) &lt;= number($stafflines)">The clef position must
              be less than or equal to the number of lines on the staff.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="staffDef-constraint-Check_tab_strings">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:staffDef[@tab.strings and @lines]">
               <sch:let name="countTokens"
                        value="count(tokenize(normalize-space(@tab.strings),               '\s'))"/>
               <sch:assert test="$countTokens = 1 or $countTokens = @lines">The tab.strings attribute
              must have the same number of values as there are staff lines.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="staffDef-constraint-Check_tab_strings2">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:staffDef[@tab.strings and not(@lines)]">
               <sch:let name="countTokens"
                        value="count(tokenize(normalize-space(@tab.strings),               '\s'))"/>
               <sch:let name="thisStaff" value="@n"/>
               <sch:assert test="$countTokens = 1 or $countTokens =               preceding::mei:staffDef[@n=$thisStaff and @lines][1]/@lines">The tab.strings attribute
              must have the same number of values as there are staff lines.</sch:assert>
            </sch:rule>
         </pattern>
         <sch:pattern xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0">
            <sch:rule context="mei:staffDef[@lines.color and @lines]">
              <sch:let name="countTokens"
                        value="count(tokenize(normalize-space(@lines.color),                 '\s'))"/>
              <sch:assert test="$countTokens = 1 or $countTokens = @lines">The lines.color attribute
                must have either 1) a single value or 2) the same number of values as there are
                staff lines.</sch:assert>
            </sch:rule>
            <sch:rule context="mei:staffDef[@lines.color and not(@lines)]">
              <sch:let name="countTokens"
                        value="count(tokenize(normalize-space(@lines.color),                 '\s'))"/>
              <sch:let name="thisStaff" value="@n"/>
              <sch:assert test="$countTokens = 1 or $countTokens =                 preceding::mei:staffDef[@n=$thisStaff and @lines][1]/@lines">The lines.color
                attribute must have either 1) a single value or 2) the same number of values as
                there are staff lines.</sch:assert>
            </sch:rule>
          </sch:pattern>
         <sch:pattern xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0">
            <sch:rule context="mei:staffDef[@ppq][ancestor::mei:scoreDef[@ppq]]">
              <sch:let name="staffPPQ" value="@ppq"/>
              <sch:let name="scorePPQ" value="ancestor::mei:scoreDef[@ppq][1]/@ppq"/>
              <sch:assert test="($scorePPQ mod $staffPPQ) = 0">The value of ppq must be a factor of
                the value of ppq on an ancestor scoreDef.</sch:assert>
            </sch:rule>
          </sch:pattern>
         <sch:pattern xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0">
            <sch:rule context="mei:staffDef[@ppq][preceding::mei:scoreDef[@ppq]]">
              <sch:let name="staffPPQ" value="@ppq"/>
              <sch:let name="scorePPQ" value="preceding::mei:scoreDef[@ppq][1]/@ppq"/>
              <sch:assert test="($scorePPQ mod $staffPPQ) = 0">The value of ppq must be a factor of
                the value of ppq on a preceding scoreDef.</sch:assert>
            </sch:rule>
          </sch:pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.staffDef.log.attributes"/>
         <ref name="att.staffDef.vis.attributes"/>
         <ref name="att.staffDef.ges.attributes"/>
         <ref name="att.staffDef.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="staffGrp">
      <element name="staffGrp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(staff group) – A group of bracketed or braced staves. </a:documentation>
         <zeroOrMore>
            <ref name="grpSym"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="model.labelLike"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="model.instrDefLike"/>
         </zeroOrMore>
         <oneOrMore>
            <choice>
               <ref name="model.staffGrpLike"/>
               <ref name="model.staffDefLike"/>
            </choice>
         </oneOrMore>
         <zeroOrMore>
            <ref name="grpSym"/>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="staffGrp-constraint-Check_staffGrp_unique_staff_n_values">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:staffGrp">
               <sch:let name="countstaves" value="count(descendant::mei:staffDef)"/>
               <sch:let name="countuniqstaves"
                        value="count(distinct-values(descendant::mei:staffDef/@n))"/>
               <sch:assert test="$countstaves eq $countuniqstaves">Each staffDef must have a unique
              value for the n attribute.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.staffGrp.log.attributes"/>
         <ref name="att.staffGrp.vis.attributes"/>
         <ref name="att.staffGrp.ges.attributes"/>
         <ref name="att.staffGrp.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="syl">
      <element name="syl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(syllable) – Individual lyric syllable. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.syl.log.attributes"/>
         <ref name="att.syl.vis.attributes"/>
         <ref name="att.syl.ges.attributes"/>
         <ref name="att.syl.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="tempo">
      <element name="tempo">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Text and symbols descriptive of tempo, mood, or style, e.g., "allarg.", "a tempo", "cantabile", "Moderato", "♩=60", "Moderato ♩ =60").</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="tempo-constraint-tempo_in_header_disallow_most_attrs">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:tempo[ancestor::mei:meiHead]">
               <sch:assert test="not(@*[name() != 'label' and name() != 'n' and name() !=               'xml:base' and name() != 'xml:id' and name() != 'xml:lang'])">Only label, n, xml:base,
              xml:id, and xml:lang attributes allowed when this element occurs in the
              header.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="tempo-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:tempo[not(ancestor::mei:syllable) and not(ancestor::mei:meiHead)]">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.tempo.log.attributes"/>
         <ref name="att.tempo.vis.attributes"/>
         <ref name="att.tempo.ges.attributes"/>
         <ref name="att.tempo.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="textLang">
      <element name="textLang">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text language) – Identifies the languages and writing systems within the work described by a bibliographic description, not the language of the description.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <optional>
            <attribute name="mainLang">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(main language) supplies a code which identifies the chief language used in the bibliographic work.</a:documentation>
               <data type="language"/>
            </attribute>
         </optional>
         <optional>
            <attribute name="otherLangs">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(other languages) one or more codes identifying any other languages used in the bibliographic work.</a:documentation>
               <list>
                  <oneOrMore>
                     <data type="language"/>
                  </oneOrMore>
               </list>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="title">
      <element name="title">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Title of a bibliographic entity. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.canonical.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="level">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the bibliographic level for a title.</a:documentation>
               <choice>
                  <value>a</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">article.</a:documentation>
                  <value>m</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">monograph.</a:documentation>
                  <value>j</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">journal.</a:documentation>
                  <value>s</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">series.</a:documentation>
                  <value>u</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unpublished (including theses and dissertations unless published by a commercial press).</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="titlePage">
      <element name="titlePage">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a transcription of the title page of a text. </a:documentation>
         <oneOrMore>
            <choice>
               <ref name="model.textcomponentLike"/>
               <ref name="model.milestoneLike.text"/>
            </choice>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.regularmethod.attributes">
      <ref name="att.regularmethod.attribute.method"/>
   </define>
   <define name="att.regularmethod.attribute.method">
      <optional>
         <attribute name="method">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the method employed to mark corrections and normalizations.</a:documentation>
            <choice>
               <value>silent</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">corrections and normalizations made silently.</a:documentation>
               <value>tags</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">corrections and normalizations indicated using elements.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="model.editorialDeclPart">
      <choice>
         <ref name="correction"/>
         <ref name="interpretation"/>
         <ref name="normalization"/>
         <ref name="segmentation"/>
         <ref name="stdVals"/>
      </choice>
   </define>
   <define name="model.encodingPart_sequenceOptional">
      <optional>
         <ref name="appInfo"/>
      </optional>
      <optional>
         <ref name="editorialDecl"/>
      </optional>
      <optional>
         <ref name="projectDesc"/>
      </optional>
      <optional>
         <ref name="samplingDecl"/>
      </optional>
   </define>
   <define name="model.eventPart">
      <choice>
         <ref name="model.addressLike"/>
         <ref name="model.dateLike"/>
         <ref name="model.nameLike"/>
         <ref name="model.nameLike.agent"/>
         <ref name="model.nameLike.geogName"/>
      </choice>
   </define>
   <define name="model.frontPart">
      <choice>
         <ref name="titlePage"/>
      </choice>
   </define>
   <define name="model.headerPart_sequenceOptional">
      <optional>
         <ref name="encodingDesc"/>
      </optional>
      <optional>
         <ref name="workDesc"/>
      </optional>
   </define>
   <define name="model.physDescPart">
      <choice>
         <ref name="extent"/>
         <ref name="model.frontPart"/>
         <ref name="captureMode"/>
         <ref name="carrierForm"/>
         <ref name="condition"/>
         <ref name="dimensions"/>
         <ref name="exhibHist"/>
         <ref name="fileChar"/>
         <ref name="fingerprint"/>
         <ref name="handList"/>
         <ref name="inscription"/>
         <ref name="physMedium"/>
         <ref name="plateNum"/>
         <ref name="playingSpeed"/>
         <ref name="provenance"/>
         <ref name="soundChan"/>
         <ref name="specRepro"/>
         <ref name="tapeConfig"/>
         <ref name="treatHist"/>
         <ref name="treatSched"/>
         <ref name="watermark"/>
      </choice>
   </define>
   <define name="model.pubStmtPart">
      <choice>
         <ref name="model.addressLike"/>
         <ref name="model.dateLike"/>
         <ref name="model.identifierLike"/>
         <ref name="distributor"/>
         <ref name="publisher"/>
         <ref name="pubPlace"/>
         <ref name="respStmt"/>
         <ref name="availability"/>
      </choice>
   </define>
   <define name="model.workIdent">
      <choice>
         <ref name="model.incipLike"/>
         <ref name="tempo"/>
         <ref name="key"/>
         <ref name="mensuration"/>
         <ref name="meter"/>
      </choice>
   </define>
   <define name="model.workLike">
      <choice>
         <ref name="work"/>
      </choice>
   </define>
   <define name="accessRestrict">
      <element name="accessRestrict">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(access restriction) – Describes the conditions that affect the accessibility of material. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="acqSource">
      <element name="acqSource">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(acquisition source) – Post-publication source, such as a vendor or distributor, from which access to a bibliographic item may be obtained, including electronic access. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="altId">
      <element name="altId">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternative identifier) – May contain a bibliographic identifier that does not fit within the meiHead element's id attribute, for example because the id does not fit the definition of an XML id or because multiple identifiers are needed. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.lbLike"/>
               <ref name="model.rendLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="appInfo">
      <element name="appInfo">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(application information) – Groups information about applications which have acted upon the MEI file. </a:documentation>
         <zeroOrMore>
            <ref name="application"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </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 current document. </a:documentation>
         <oneOrMore>
            <ref name="model.nameLike"/>
         </oneOrMore>
         <choice>
            <zeroOrMore>
               <ref name="model.locrefLike"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.pLike"/>
            </zeroOrMore>
         </choice>
         <ref name="att.common.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="version">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a version number for an application, independent of its identifier or display name.</a:documentation>
               <text/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="audience">
      <element name="audience">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Defines the class of user for which the work is intended, as defined by age group (e.g., children, young adults, adults, etc.), educational level (e.g., primary, secondary, etc.), or other categorization.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="availability">
      <element name="availability">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Groups elements that describe the availability of and access to a bibliographic item, including an MEI-encoded document. </a:documentation>
         <ref name="macro.availabilityPart"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="captureMode">
      <element name="captureMode">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(capture mode) – The means used to record notation, sound, or images in the production of a source/manifestation (e.g., analogue, acoustic, electric, digital, optical etc.).</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="carrierForm">
      <element name="carrierForm">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(carrier form) – The specific class of material to which the physical carrier of the source/manifestation belongs (e.g., sound cassette, videodisc, microfilm cartridge, transparency, etc.). The carrier for a manifestation comprising multiple physical components may include more than one form (e.g., a filmstrip with an accompanying booklet, a separate sound disc carrying the sound track for a film, etc.).</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="change">
      <element name="change">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Individual change within the revision description. </a:documentation>
         <optional>
            <ref name="respStmt"/>
         </optional>
         <ref name="changeDesc"/>
         <optional>
            <ref name="model.dateLike"/>
         </optional>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="change-constraint-change_requirements">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:change">
               <sch:assert test="@isodate or mei:date">The date of the change must be recorded in an
              isodate attribute or date element.</sch:assert>
               <sch:assert test="@resp or mei:respStmt">The person responsible for the change must be
              recorded in a resp attribute or respStmt element.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.responsibility.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="changeDesc">
      <element name="changeDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(change description) – Description of a revision of the MEI file.</a:documentation>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="classCode">
      <element name="classCode">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(classification code) – Holds a citation to the source of controlled-vocabulary terms used in the &lt;termList&gt; element; for example, Library of Congress Subject Headings (LCSH), Library of Congress Classification (LCC), Library of Congress Name Authority File (LCNAF), or other thesaurus or ontology. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.lbLike"/>
               <ref name="model.rendLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="classification">
      <element name="classification">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Groups information which describes the nature or topic of an entity. </a:documentation>
         <oneOrMore>
            <choice>
               <ref name="classCode"/>
               <ref name="termList"/>
            </choice>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="condition">
      <element name="condition">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The physical condition of an item, particularly any variances between the physical makeup of the item and that of other copies of the same item (e.g., missing pages, plates, etc.). </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="contentItem">
      <element name="contentItem">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a single entry within a content description element.</a:documentation>
         <zeroOrMore>
            <text/>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="contents">
      <element name="contents">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Description of the material contained within a resource.</a:documentation>
         <optional>
            <ref name="model.headLike"/>
         </optional>
         <choice>
            <optional>
               <ref name="model.pLike"/>
            </optional>
            <oneOrMore>
               <optional>
                  <ref name="model.labelLike"/>
               </optional>
               <ref name="contentItem"/>
            </oneOrMore>
         </choice>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.pointing.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="context">
      <element name="context">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The historical, social, intellectual, artistic, or other context within which the work was originally conceived (e.g., the 17th century restoration of the monarchy in England, the aesthetic movement of the late 19th century, etc.) or the historical, social, intellectual, artistic, or other context within which the expression was realized.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="correction">
      <element name="correction">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">States how and under what circumstances corrections have been made in the text. </a:documentation>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.regularmethod.attributes"/>
         <optional>
            <attribute name="corrlevel">
               <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>
         <empty/>
      </element>
   </define>
   <define name="dimensions">
      <element name="dimensions">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Information about the physical size of a bibliographic source; usually includes numerical data. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.measurement.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="editionStmt">
      <element name="editionStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(edition statement) – Container for meta-data pertaining to a particular edition of the material being described. </a:documentation>
         <oneOrMore>
            <ref name="model.editionLike"/>
            <zeroOrMore>
               <ref name="respStmt"/>
            </zeroOrMore>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="editorialDecl">
      <element name="editorialDecl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(editorial declaration) – Used to provide details of editorial principles and practices applied during the encoding of musical text. </a:documentation>
         <choice>
            <oneOrMore>
               <ref name="model.pLike"/>
            </oneOrMore>
            <group>
               <oneOrMore>
                  <ref name="model.editorialDeclPart"/>
               </oneOrMore>
               <zeroOrMore>
                  <ref name="model.pLike"/>
               </zeroOrMore>
            </group>
         </choice>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="encodingDesc">
      <element name="encodingDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(encoding description) – Documents the relationship between an electronic file and the source or sources from which it was derived as well as applications used in the encoding/editing process. </a:documentation>
         <ref name="model.encodingPart_sequenceOptional"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="ensemble">
      <element name="ensemble">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The name of a standard instrumental or vocal grouping, such as 'orchestra' or 'marching band'. </a:documentation>
         <text/>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.coded.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="event">
      <element name="event">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a description of an event, including the dates and locations of its occurrence and prominent participants.</a:documentation>
         <optional>
            <ref name="model.headLike"/>
         </optional>
         <zeroOrMore>
            <choice>
               <ref name="model.eventPart"/>
               <ref name="model.pLike"/>
               <ref name="model.tableLike"/>
               <ref name="list"/>
               <ref name="castList"/>
            </choice>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="biblList"/>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.calendared.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="eventList">
      <element name="eventList">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains historical information given as a sequence of significant past events. </a:documentation>
         <optional>
            <ref name="model.headLike"/>
         </optional>
         <oneOrMore>
            <ref name="event"/>
         </oneOrMore>
         <zeroOrMore>
            <ref name="biblList"/>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="exhibHist">
      <element name="exhibHist">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(exhibition history) – A record of public exhibitions, including dates, venues, etc. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="fileChar">
      <element name="fileChar">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(file characteristics) – Standards or schemes used to encode the file (e.g., ASCII, SGML, etc.), physical characteristics of the file (e.g., recording density, parity, blocking, etc.), and other characteristics that have a bearing on how the file can be processed.</a:documentation>
         <text/>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="fileDesc">
      <element name="fileDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(file description) – Contains a full bibliographic description of the MEI file. </a:documentation>
         <ref name="titleStmt"/>
         <optional>
            <ref name="editionStmt"/>
         </optional>
         <optional>
            <ref name="extent"/>
         </optional>
         <ref name="pubStmt"/>
         <optional>
            <ref name="seriesStmt"/>
         </optional>
         <optional>
            <ref name="notesStmt"/>
         </optional>
         <optional>
            <ref name="sourceDesc"/>
         </optional>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="fingerprint">
      <element name="fingerprint">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a string that uniquely identifies an item, such as those constructed by combining groups of characters transcribed from specified pages of a printed item or a file's checksum.</a:documentation>
         <text/>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="hand">
      <element name="hand">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Defines a distinct scribe or handwriting style. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.medium.attributes"/>
         <ref name="att.responsibility.attributes"/>
         <optional>
            <attribute name="initial">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks this hand as the first one of the document.</a:documentation>
               <ref name="data.BOOLEAN"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="handList">
      <element name="handList">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Container for one or more hand elements. </a:documentation>
         <oneOrMore>
            <ref name="hand"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="history">
      <element name="history">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Provides a container for information about the creation and history of a resource.</a:documentation>
         <optional>
            <ref name="model.headLike"/>
         </optional>
         <optional>
            <ref name="creation"/>
         </optional>
         <zeroOrMore>
            <choice>
               <ref name="eventList"/>
               <ref name="p"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="incipCode">
      <element name="incipCode">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Incipit coded in a non-XML, plain text format, such as Plaine &amp; Easie Code.</a:documentation>
         <text/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="incipCode-constraint-Check_incipCode_form_mimetype">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:incipCode">
               <sch:assert test="@form or @mimetype">incipCode must have a form or mimetype
              attribute.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.internetmedia.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.whitespace.attributes"/>
         <optional>
            <attribute name="form">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">form of the encoded incipit.
Suggested values include: 1] plaineAndEasie; 2] humdrumKern; 3] parsons</a:documentation>
               <choice>
                  <value>plaineAndEasie</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Plaine &amp; Easie Code.</a:documentation>
                  <value>humdrumKern</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Humdrum Kern format.</a:documentation>
                  <value>parsons</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Parsons code.</a:documentation>
                  <data type="Name"/>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="incipText">
      <element name="incipText">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Opening words of a musical composition.</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.pLike"/>
               <ref name="model.lgLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.internetmedia.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="inscription">
      <element name="inscription">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An inscription added to an item, such as a bookplate, a note designating the item as a gift, and/or the author's signature.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="instrumentation">
      <element name="instrumentation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Instrumental and non-dramatic vocal resources.</a:documentation>
         <optional>
            <ref name="head"/>
         </optional>
         <zeroOrMore>
            <choice>
               <ref name="ensemble"/>
               <ref name="instrVoice"/>
               <ref name="instrVoiceGrp"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.authorized.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="instrVoice">
      <element name="instrVoice">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(instrument or voice) – Name of an instrument on which a performer plays or a performer's voice range.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="instrVoice"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.coded.attributes"/>
         <optional>
            <attribute name="count">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number of performers.</a:documentation>
               <data type="positiveInteger"/>
            </attribute>
         </optional>
         <optional>
            <attribute name="solo">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks this instrument or vocal part as a soloist. Do not use this attribute for a solo instrument which is not accompanied.</a:documentation>
               <ref name="data.BOOLEAN"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="instrVoiceGrp">
      <element name="instrVoiceGrp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Several instrumental or vocal resources treated as a group.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.headLike"/>
               <ref name="instrVoice"/>
               <ref name="instrVoiceGrp"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.coded.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="interpretation">
      <element name="interpretation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Describes the scope of any analytic or interpretive information added to the transcription of the music. </a:documentation>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="key">
      <element name="key">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Key captures information about tonal center and mode. </a:documentation>
         <text/>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.keySig.log.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="language">
      <element name="language">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Description of a language used in the document. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.authorized.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="langUsage">
      <element name="langUsage">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language usage) – Groups elements describing the languages, sub-languages, dialects, etc., represented within the encoded resource. </a:documentation>
         <oneOrMore>
            <ref name="language"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="meiHead">
      <element name="meiHead">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(MEI header) – Supplies the descriptive and declarative metadata prefixed to every MEI-conformant text. </a:documentation>
         <zeroOrMore>
            <ref name="altId"/>
         </zeroOrMore>
         <ref name="fileDesc"/>
         <ref name="model.headerPart_sequenceOptional"/>
         <optional>
            <ref name="revisionDesc"/>
         </optional>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.meiversion.attributes"/>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the kind of document to which the header is attached, for example whether it is a corpus or individual text.</a:documentation>
               <choice>
                  <value>music</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">header is attached to a music document.</a:documentation>
                  <value>corpus</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">header is attached to a corpus.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="mensuration">
      <element name="mensuration">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Captures information about mensuration within bibliographic descriptions.</a:documentation>
         <text/>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.mensur.log.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="meter">
      <element name="meter">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Captures information about the time signature within bibliographic descriptions. </a:documentation>
         <text/>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.meterSig.log.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="normalization">
      <element name="normalization">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates the extent of normalization or regularization of the original source carried out in converting it to electronic form. </a:documentation>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.regularmethod.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="notesStmt">
      <element name="notesStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(notes statement)– Collects any notes providing information about a text additional to that recorded in other parts of the bibliographic description. </a:documentation>
         <oneOrMore>
            <ref name="model.annotLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="otherChar">
      <element name="otherChar">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(other distinguishing characteristic) – Any characteristic that serves to differentiate a work or expression from another.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="perfMedium">
      <element name="perfMedium">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(performance medium) – Indicates the number and character of the performing forces used in a musical composition. </a:documentation>
         <optional>
            <ref name="model.headLike"/>
         </optional>
         <optional>
            <ref name="castList"/>
         </optional>
         <optional>
            <ref name="instrumentation"/>
         </optional>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.authorized.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="physDesc">
      <element name="physDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(physical description) – Container for information about the appearance, construction, or handling of physical materials, such as their dimension, quantity, color, style, and technique of creation. </a:documentation>
         <zeroOrMore>
            <ref name="model.pLike"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="model.physDescPart"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="physMedium">
      <element name="physMedium">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(physical medium) – Records the physical materials used in the source, such as ink and paper. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="plateNum">
      <element name="plateNum">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(plate number) – Designation assigned to a resource by a music publisher, usually printed at the bottom of each page, and sometimes appearing also on the title page. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="playingSpeed">
      <element name="playingSpeed">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Playing speed for a sound recording is the speed at which the carrier must be operated to produce the sound intended (e.g., 33 1/3 rpm, 19 cm/s, etc.)</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="price">
      <element name="price">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The cost of access to a bibliographic item.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.measurement.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="projectDesc">
      <element name="projectDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(project description) – Project-level meta-data describing the aim or purpose for which the electronic file was encoded, funding agencies, etc. together with any other relevant information concerning the process by which it was assembled or collected. </a:documentation>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="provenance">
      <element name="provenance">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The record of ownership or custodianship of an item. </a:documentation>
         <choice>
            <optional>
               <ref name="eventList"/>
            </optional>
            <zeroOrMore>
               <choice>
                  <text/>
                  <ref name="model.textphraseLike.limited"/>
               </choice>
            </zeroOrMore>
         </choice>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pubStmt">
      <element name="pubStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publication statement) – Container for information regarding the publication or distribution of a bibliographic item, including the publisher's name and address, the date of publication, and other relevant details. </a:documentation>
         <choice>
            <optional>
               <ref name="unpub"/>
            </optional>
            <zeroOrMore>
               <ref name="model.pubStmtPart"/>
            </zeroOrMore>
         </choice>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="revisionDesc">
      <element name="revisionDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(revision description) – Container for information about alterations that have been made to an MEI file. </a:documentation>
         <oneOrMore>
            <ref name="change"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </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 sampling texts in the creation of a corpus or collection. </a:documentation>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="scoreFormat">
      <element name="scoreFormat">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Describes the type of score used to represent a musical composition (e.g., short score, full score, condensed score, close score, etc.).</a:documentation>
         <text/>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="segmentation">
      <element name="segmentation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Describes the principles according to which the musical text has been segmented, for example into movements, sections, etc. </a:documentation>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="seriesStmt">
      <element name="seriesStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series statement) – Groups information about the series, if any, to which a publication belongs. </a:documentation>
         <oneOrMore>
            <ref name="model.titleLike"/>
         </oneOrMore>
         <zeroOrMore>
            <choice>
               <ref name="editor"/>
               <ref name="respStmt"/>
            </choice>
         </zeroOrMore>
         <zeroOrMore>
            <choice>
               <ref name="model.identifierLike"/>
               <ref name="biblScope"/>
               <ref name="contents"/>
               <ref name="seriesStmt"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="soundChan">
      <element name="soundChan">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(sound channels) – Reflects the number of sound channels used to make a recording (monaural, stereophonic, quadraphonic, etc.).</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="source">
      <element name="source">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A bibliographic description of a source used in the creation of the electronic file.</a:documentation>
         <zeroOrMore>
            <ref name="model.identifierLike"/>
         </zeroOrMore>
         <optional>
            <ref name="titleStmt"/>
         </optional>
         <ref name="macro.bibldescPart"/>
         <optional>
            <ref name="contents"/>
         </optional>
         <optional>
            <ref name="langUsage"/>
         </optional>
         <optional>
            <ref name="notesStmt"/>
         </optional>
         <optional>
            <ref name="classification"/>
         </optional>
         <optional>
            <ref name="itemList"/>
         </optional>
         <optional>
            <ref name="componentGrp"/>
         </optional>
         <optional>
            <ref name="relationList"/>
         </optional>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.pointing.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="sourceDesc">
      <element name="sourceDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(source description) – A container for the descriptions of the source(s) used in the creation of the electronic file. </a:documentation>
         <oneOrMore>
            <ref name="source"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="specRepro">
      <element name="specRepro">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(special reproduction characteristic) – The equalization system, noise reduction system, etc. used in making the recording (e.g., NAB, DBX, Dolby, etc.).</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </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>
         <oneOrMore>
            <ref name="model.pLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="sysReq">
      <element name="sysReq">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(system requirements) – System requirements for using the electronic item.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="tapeConfig">
      <element name="tapeConfig">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tape configuration) – Number of tracks on a sound tape (e.g., eight track, twelve track).</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="term">
      <element name="term">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Keyword or phrase which describes a resource. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="term"/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <optional>
            <attribute name="classcode">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a reference to the controlled vocabulary from which the term is drawn. The value must match the value of an ID attribute on a classCode element given elsewhere in the document.</a:documentation>
               <ref name="data.URI"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="termList">
      <element name="termList">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Collection of text phrases which describe a resource.</a:documentation>
         <oneOrMore>
            <ref name="term"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <optional>
            <attribute name="classcode">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a reference to the controlled vocabulary from which the terms are drawn. The value must match the value of an ID attribute on a classCode element given elsewhere in the document.</a:documentation>
               <ref name="data.URI"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="titleStmt">
      <element name="titleStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title statement) – Container for title and responsibility meta-data.</a:documentation>
         <oneOrMore>
            <ref name="model.titleLike"/>
         </oneOrMore>
         <zeroOrMore>
            <ref name="model.respLike"/>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="treatHist">
      <element name="treatHist">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(treatment history) – A record of the treatment the item has undergone (e.g., de-acidification, restoration, etc.). </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="treatSched">
      <element name="treatSched">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(treatment scheduled) – Scheduled treatment, e.g. de-acidification, restoration, etc., for an item. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="unpub">
      <element name="unpub">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unpublished) – Used to explicitly indicate that a bibliographic resource is unpublished. </a:documentation>
         <text/>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="useRestrict">
      <element name="useRestrict">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(usage restrictions) – Container for information about the conditions that affect use of a bibliographic item after access has been granted. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="watermark">
      <element name="watermark">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a description of a watermark or similar device. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="work">
      <element name="work">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Provides a detailed description of a work, specifically its history, language use, and high-level musical attributes: key, tempo, meter, and medium of performance.</a:documentation>
         <zeroOrMore>
            <ref name="model.identifierLike"/>
         </zeroOrMore>
         <optional>
            <ref name="titleStmt"/>
         </optional>
         <zeroOrMore>
            <ref name="model.workIdent"/>
         </zeroOrMore>
         <optional>
            <ref name="otherChar"/>
         </optional>
         <optional>
            <ref name="history"/>
         </optional>
         <optional>
            <ref name="langUsage"/>
         </optional>
         <optional>
            <ref name="perfMedium"/>
         </optional>
         <optional>
            <ref name="audience"/>
         </optional>
         <optional>
            <ref name="contents"/>
         </optional>
         <optional>
            <ref name="context"/>
         </optional>
         <zeroOrMore>
            <ref name="biblList"/>
         </zeroOrMore>
         <optional>
            <ref name="notesStmt"/>
         </optional>
         <optional>
            <ref name="classification"/>
         </optional>
         <optional>
            <ref name="expressionList"/>
         </optional>
         <optional>
            <ref name="componentGrp"/>
         </optional>
         <optional>
            <ref name="relationList"/>
         </optional>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="workDesc">
      <element name="workDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(work description) – Grouping mechanism for information describing non-bibliographic aspects of a text.</a:documentation>
         <oneOrMore>
            <ref name="work"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.arpeg.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.arpeg.ges.attributes">
      <empty/>
   </define>
   <define name="att.arpeg.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.arpeg.log.attribute.order"/>
   </define>
   <define name="att.arpeg.log.attribute.order">
      <optional>
         <attribute name="order">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the direction in which an arpeggio is to be performed.</a:documentation>
            <choice>
               <value>up</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lowest to highest pitch.</a:documentation>
               <value>down</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">highest to lowest pitch.</a:documentation>
               <value>nonarp</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">non-arpeggiated style (usually rendered with a preceding bracket instead of a wavy line).</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.arpeg.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.arpeg.vis.attribute.arrow"/>
   </define>
   <define name="att.arpeg.vis.attribute.arrow">
      <optional>
         <attribute name="arrow">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates if an arrowhead is to be drawn as part of the arpeggiation symbol.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.beam.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.beam.ges.attributes">
      <empty/>
   </define>
   <define name="att.beam.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.beamedwith.attributes"/>
   </define>
   <define name="att.beam.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.beamrend.attributes"/>
   </define>
   <define name="att.beamed.attributes">
      <ref name="att.beamed.attribute.beam"/>
   </define>
   <define name="att.beamed.attribute.beam">
      <optional>
         <attribute name="beam">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that this event is "under a beam".</a:documentation>
            <ref name="data.BEAMS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.beamedwith.attributes">
      <ref name="att.beamedwith.attribute.beam.with"/>
   </define>
   <define name="att.beamedwith.attribute.beam.with">
      <optional>
         <attribute name="beam.with">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">In the case of cross-staff beams, the beam.with attribute is used to indicate which staff the beam is connected to; that is, the staff above or the staff below.</a:documentation>
            <ref name="data.OTHERSTAFF"/>
         </attribute>
      </optional>
   </define>
   <define name="att.beaming.log.attributes">
      <ref name="att.beaming.log.attribute.beam.group"/>
      <ref name="att.beaming.log.attribute.beam.rests"/>
   </define>
   <define name="att.beaming.log.attribute.beam.group">
      <optional>
         <attribute name="beam.group">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an example of how automated beaming (including secondary beams) is to be performed. </a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.beaming.log.attribute.beam.rests">
      <optional>
         <attribute name="beam.rests">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether automatically-drawn beams should include rests shorter than a quarter note duration.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.beamrend.attributes">
      <ref name="att.beamrend.attribute.rend"/>
      <ref name="att.beamrend.attribute.slope"/>
   </define>
   <define name="att.beamrend.attribute.rend">
      <optional>
         <attribute name="rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures whether a beam is "feathered" and in which direction.</a:documentation>
            <choice>
               <value>acc</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(accelerando) indicates that the secondary beams get progressively closer together toward the end of the beam.</a:documentation>
               <value>mixed</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(mixed acc and rit) for beams that are "feathered" in both directions.</a:documentation>
               <value>rit</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(ritardando) means that the secondary beams become progressively more distance toward the end of the beam.</a:documentation>
               <value>norm</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(normal) indicates that the secondary beams are equidistant along the course of the beam.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.beamrend.attribute.slope">
      <optional>
         <attribute name="slope">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the slope of the beam.</a:documentation>
            <data type="decimal"/>
         </attribute>
      </optional>
   </define>
   <define name="att.beamsecondary.attributes">
      <ref name="att.beamsecondary.attribute.breaksec"/>
   </define>
   <define name="att.beamsecondary.attribute.breaksec">
      <optional>
         <attribute name="breaksec">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">presence of this attribute indicates that the secondary beam should be broken following this note/chord. The value of the attribute records the number of beams which should remain unbroken.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.beamSpan.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.beamSpan.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.beamSpan.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.beamedwith.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.beamSpan.vis.attributes">
      <ref name="att.beam.vis.attributes"/>
   </define>
   <define name="att.beatRpt.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.beatRpt.ges.attributes">
      <empty/>
   </define>
   <define name="att.beatRpt.log.attributes">
      <ref name="att.event.attributes"/>
   </define>
   <define name="att.beatRpt.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.expandable.attributes"/>
      <ref name="att.beatRpt.vis.attribute.rend"/>
   </define>
   <define name="att.beatRpt.vis.attribute.rend">
      <attribute name="rend">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number of slashes required to render the appropriate beat repeat symbol. When a single beat is repeated, consisting of a single note or chord, it is indicated by a single thick, slanting slash; therefore, the value '1' should be used. The following values should be used when the beat is divided into even notes: 4ths or 8ths=1, 16ths=2, 32nds=3, 64ths=4, 128ths=5. When the beat is comprised of mixed duration values, the symbol is always rendered as 2 slashes and 2 dots.</a:documentation>
         <ref name="data.BEATRPT.REND"/>
      </attribute>
   </define>
   <define name="att.bend.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.bend.ges.attributes">
      <ref name="att.bend.ges.attribute.amount"/>
   </define>
   <define name="att.bend.ges.attribute.amount">
      <optional>
         <attribute name="amount">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the amount of detuning. The decimal values should be rendered as a fraction (or an integer plus a fraction) along with the bend symbol.</a:documentation>
            <ref name="data.BEND.AMOUNT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.bend.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.bend.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.xy2.attributes"/>
      <ref name="att.curvature.attributes"/>
      <ref name="att.curverend.attributes"/>
   </define>
   <define name="att.breath.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.breath.ges.attributes">
      <empty/>
   </define>
   <define name="att.breath.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.breath.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.bTrem.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.bTrem.ges.attributes">
      <ref name="att.tremmeasured.attributes"/>
   </define>
   <define name="att.bTrem.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.musical.attributes"/>
      <ref name="att.numbered.attributes"/>
      <ref name="att.bTrem.log.attribute.form"/>
   </define>
   <define name="att.bTrem.log.attribute.form">
      <optional>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the style of the tremolo.</a:documentation>
            <choice>
               <value>meas</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">measured tremolo.</a:documentation>
               <value>unmeas</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unmeasured tremolo.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.bTrem.vis.attributes">
      <ref name="att.numberplacement.attributes"/>
   </define>
   <define name="att.chord.ges.cmn.attributes">
      <ref name="att.graced.attributes"/>
   </define>
   <define name="att.chord.log.cmn.attributes">
      <ref name="att.beamed.attributes"/>
      <ref name="att.lvpresent.attributes"/>
      <ref name="att.ornam.attributes"/>
   </define>
   <define name="att.chord.vis.cmn.attributes">
      <ref name="att.beamsecondary.attributes"/>
   </define>
   <define name="att.cutout.attributes">
      <ref name="att.cutout.attribute.cutout"/>
   </define>
   <define name="att.cutout.attribute.cutout">
      <optional>
         <attribute name="cutout">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">"Cut-out" style indicated for this measure.</a:documentation>
            <choice>
               <value>cutout</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the staff lines should not be drawn.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.expandable.attributes">
      <ref name="att.expandable.attribute.expand"/>
   </define>
   <define name="att.expandable.attribute.expand">
      <optional>
         <attribute name="expand">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether to render a repeat symbol or the source material to which it refers. A value of 'true' renders the source material, while 'false' displays the repeat symbol.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.fermata.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.fermata.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.fermata.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.startendid.attributes"/>
   </define>
   <define name="att.fermata.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.fermata.vis.attribute.form"/>
      <ref name="att.fermata.vis.attribute.shape"/>
   </define>
   <define name="att.fermata.vis.attribute.form">
      <optional>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the visual appearance of the fermata; that is, whether it occurs as upright or inverted.</a:documentation>
            <choice>
               <value>inv</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">inverted, i.e., curve or bracket below the dot.</a:documentation>
               <value>norm</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">upright; i.e., curve or bracket above the dot.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.fermata.vis.attribute.shape">
      <optional>
         <attribute name="shape">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the visual appearance of the fermata; that is, whether it has a curved or square shape.</a:documentation>
            <choice>
               <value>curved</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a curve above or below the dot.</a:documentation>
               <value>square</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a bracket above or below the dot.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.fTrem.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.fTrem.ges.attributes">
      <ref name="att.tremmeasured.attributes"/>
   </define>
   <define name="att.fTrem.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.musical.attributes"/>
      <ref name="att.fTrem.log.attribute.form"/>
   </define>
   <define name="att.fTrem.log.attribute.form">
      <optional>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the style of the tremolo.</a:documentation>
            <choice>
               <value>meas</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">measured tremolo.</a:documentation>
               <value>unmeas</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unmeasured tremolo.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.fTrem.vis.attributes">
      <ref name="att.slashcount.attributes"/>
   </define>
   <define name="att.gliss.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.gliss.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.gliss.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.gliss.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.xy2.attributes"/>
      <ref name="att.linerend.attributes"/>
      <ref name="att.gliss.vis.attribute.text"/>
   </define>
   <define name="att.gliss.vis.attribute.text">
      <optional>
         <attribute name="text">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records a text string, such as 'gliss', that accompanies the glissando mark.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.graced.attributes">
      <ref name="att.graced.attribute.grace"/>
      <ref name="att.graced.attribute.grace.time"/>
   </define>
   <define name="att.graced.attribute.grace">
      <optional>
         <attribute name="grace">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks a note or chord as a "grace" (without a definitive written duration) and records from which other note/chord it should "steal" time.</a:documentation>
            <ref name="data.GRACE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.graced.attribute.grace.time">
      <optional>
         <attribute name="grace.time">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the amount of time to be "stolen" from a non-grace note/chord.</a:documentation>
            <ref name="data.PERCENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.hairpin.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.hairpin.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.hairpin.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
      <ref name="att.hairpin.log.attribute.form"/>
   </define>
   <define name="att.hairpin.log.attribute.form">
      <attribute name="form">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures the visual rendition and function of the hairpin; that is, whether it indicates an increase or a decrease in volume.</a:documentation>
         <choice>
            <value>cres</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">crescendo; i.e., louder.</a:documentation>
            <value>dim</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">diminuendo; i.e., softer.</a:documentation>
         </choice>
      </attribute>
   </define>
   <define name="att.hairpin.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.xy2.attributes"/>
      <ref name="att.hairpin.vis.attribute.opening"/>
   </define>
   <define name="att.hairpin.vis.attribute.opening">
      <optional>
         <attribute name="opening">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the distance between the points of the open end of a hairpin dynamic mark.</a:documentation>
            <ref name="data.MEASUREMENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.halfmRpt.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.halfmRpt.ges.attributes">
      <empty/>
   </define>
   <define name="att.halfmRpt.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.duration.musical.attributes"/>
   </define>
   <define name="att.halfmRpt.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.expandable.attributes"/>
      <ref name="att.visualoffset.attributes"/>
   </define>
   <define name="att.harpPedal.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.harpPedal.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.harpPedal.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.harpPedal.log.attribute.c"/>
      <ref name="att.harpPedal.log.attribute.d"/>
      <ref name="att.harpPedal.log.attribute.e"/>
      <ref name="att.harpPedal.log.attribute.f"/>
      <ref name="att.harpPedal.log.attribute.g"/>
      <ref name="att.harpPedal.log.attribute.a"/>
      <ref name="att.harpPedal.log.attribute.b"/>
   </define>
   <define name="att.harpPedal.log.attribute.c">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="c"
                    a:defaultValue="n">
            <a:documentation>indicates the pedal setting for the harp's C strings.</a:documentation>
            <choice>
               <value>f</value>
               <a:documentation>flat.</a:documentation>
               <value>n</value>
               <a:documentation>natural.</a:documentation>
               <value>s</value>
               <a:documentation>sharp.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.harpPedal.log.attribute.d">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="d"
                    a:defaultValue="n">
            <a:documentation>indicates the pedal setting for the harp's D strings.</a:documentation>
            <choice>
               <value>f</value>
               <a:documentation>flat.</a:documentation>
               <value>n</value>
               <a:documentation>natural.</a:documentation>
               <value>s</value>
               <a:documentation>sharp.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.harpPedal.log.attribute.e">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="e"
                    a:defaultValue="n">
            <a:documentation>indicates the pedal setting for the harp's E strings.</a:documentation>
            <choice>
               <value>f</value>
               <a:documentation>flat.</a:documentation>
               <value>n</value>
               <a:documentation>natural.</a:documentation>
               <value>s</value>
               <a:documentation>sharp.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.harpPedal.log.attribute.f">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="f"
                    a:defaultValue="n">
            <a:documentation>indicates the pedal setting for the harp's F strings.</a:documentation>
            <choice>
               <value>f</value>
               <a:documentation>flat.</a:documentation>
               <value>n</value>
               <a:documentation>natural.</a:documentation>
               <value>s</value>
               <a:documentation>sharp.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.harpPedal.log.attribute.g">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="g"
                    a:defaultValue="n">
            <a:documentation>indicates the pedal setting for the harp's G strings.</a:documentation>
            <choice>
               <value>f</value>
               <a:documentation>flat.</a:documentation>
               <value>n</value>
               <a:documentation>natural.</a:documentation>
               <value>s</value>
               <a:documentation>sharp.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.harpPedal.log.attribute.a">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="a"
                    a:defaultValue="n">
            <a:documentation>indicates the pedal setting for the harp's A strings.</a:documentation>
            <choice>
               <value>f</value>
               <a:documentation>flat.</a:documentation>
               <value>n</value>
               <a:documentation>natural.</a:documentation>
               <value>s</value>
               <a:documentation>sharp.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.harpPedal.log.attribute.b">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="b"
                    a:defaultValue="n">
            <a:documentation>indicates the pedal setting for the harp's B strings.</a:documentation>
            <choice>
               <value>f</value>
               <a:documentation>flat.</a:documentation>
               <value>n</value>
               <a:documentation>natural.</a:documentation>
               <value>s</value>
               <a:documentation>sharp.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.harpPedal.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.layerDef.log.cmn.attributes">
      <ref name="att.beaming.log.attributes"/>
   </define>
   <define name="att.lvpresent.attributes">
      <ref name="att.lvpresent.attribute.lv"/>
   </define>
   <define name="att.lvpresent.attribute.lv">
      <optional>
         <attribute name="lv">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the attachment of an l.v. (laissez vibrer) sign to this element.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.measure.vis.attributes">
      <ref name="att.barplacement.attributes"/>
      <ref name="att.measurement.attributes"/>
      <ref name="att.width.attributes"/>
   </define>
   <define name="att.meterSigGrp.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.meterSigGrp.ges.attributes">
      <empty/>
   </define>
   <define name="att.meterSigGrp.log.attributes">
      <empty/>
   </define>
   <define name="att.meterSigGrp.vis.attributes">
      <empty/>
   </define>
   <define name="att.mRest.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.mRest.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
      <ref name="att.instrumentident.attributes"/>
   </define>
   <define name="att.mRest.log.attributes">
      <ref name="att.duration.musical.attributes"/>
      <ref name="att.event.attributes"/>
      <ref name="att.fermatapresent.attributes"/>
   </define>
   <define name="att.mRest.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.cutout.attributes"/>
      <ref name="att.relativesize.attributes"/>
      <ref name="att.staffloc.attributes"/>
      <ref name="att.staffloc.pitched.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visibility.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.mRpt.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.mRpt.ges.attributes">
      <empty/>
   </define>
   <define name="att.mRpt.log.attributes">
      <ref name="att.event.attributes"/>
   </define>
   <define name="att.mRpt.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.expandable.attributes"/>
   </define>
   <define name="att.mRpt2.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.mRpt2.ges.attributes">
      <empty/>
   </define>
   <define name="att.mRpt2.log.attributes">
      <ref name="att.event.attributes"/>
   </define>
   <define name="att.mRpt2.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.expandable.attributes"/>
   </define>
   <define name="att.mSpace.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.mSpace.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
      <ref name="att.instrumentident.attributes"/>
   </define>
   <define name="att.mSpace.log.attributes">
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.event.attributes"/>
      <ref name="att.duration.musical.attributes"/>
      <ref name="att.fermatapresent.attributes"/>
   </define>
   <define name="att.mSpace.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.cutout.attributes"/>
      <ref name="att.visibility.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.multiRest.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.multiRest.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
      <ref name="att.instrumentident.attributes"/>
   </define>
   <define name="att.multiRest.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.numbered.attributes"/>
   </define>
   <define name="att.multiRest.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.staffloc.attributes"/>
      <ref name="att.staffloc.pitched.attributes"/>
      <ref name="att.multiRest.vis.attribute.block"/>
   </define>
   <define name="att.multiRest.vis.attribute.block">
      <optional>
         <attribute name="block">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">When the block attribute is used, combinations of the 1, 2, and 4 measure rest forms (Read, p. 104) should be rendered instead of the modern form or an alternative symbol.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.multiRpt.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.multiRpt.ges.attributes">
      <empty/>
   </define>
   <define name="att.multiRpt.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.numbered.attributes"/>
   </define>
   <define name="att.multiRpt.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.expandable.attributes"/>
   </define>
   <define name="att.note.ges.cmn.attributes">
      <ref name="att.graced.attributes"/>
      <ref name="att.note.ges.cmn.attribute.gliss"/>
   </define>
   <define name="att.note.ges.cmn.attribute.gliss">
      <optional>
         <attribute name="gliss">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that this element participates in a glissando.</a:documentation>
            <ref name="data.GLISSANDO"/>
         </attribute>
      </optional>
   </define>
   <define name="att.note.log.cmn.attributes">
      <ref name="att.beamed.attributes"/>
      <ref name="att.lvpresent.attributes"/>
      <ref name="att.ornam.attributes"/>
   </define>
   <define name="att.note.vis.cmn.attributes">
      <ref name="att.beamsecondary.attributes"/>
   </define>
   <define name="att.numbered.attributes">
      <ref name="att.numbered.attribute.num"/>
   </define>
   <define name="att.numbered.attribute.num">
      <optional>
         <attribute name="num">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records a number or count accompanying a notational feature.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.numberplacement.attributes">
      <ref name="att.numberplacement.attribute.num.place"/>
      <ref name="att.numberplacement.attribute.num.visible"/>
   </define>
   <define name="att.numberplacement.attribute.num.place">
      <optional>
         <attribute name="num.place">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">states where the tuplet number will be placed in relation to the note heads.</a:documentation>
            <ref name="data.PLACE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.numberplacement.attribute.num.visible">
      <optional>
         <attribute name="num.visible">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines if the tuplet number is visible.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.octave.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.octave.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.octave.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.octavedisplacement.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
      <ref name="att.octave.log.attribute.coll"/>
   </define>
   <define name="att.octave.log.attribute.coll">
      <optional>
         <attribute name="coll">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether the octave displacement should be performed simultaneously with the written notes, i.e., "coll' ottava". Unlike other octave signs which are indicated by broken lines, coll' ottava typically uses an unbroken line or a series of longer broken lines, ending with a short vertical stroke. See Read, p. 47-48.</a:documentation>
            <choice>
               <value>coll</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">coll' ottava (with the octave).</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.octave.vis.attributes">
      <ref name="att.xy.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.ho.attributes"/>
      <ref name="att.visualoffset2.to.attributes"/>
      <ref name="att.linerend.attributes"/>
   </define>
   <define name="att.ossia.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.ossia.ges.attributes">
      <empty/>
   </define>
   <define name="att.ossia.log.attributes">
      <empty/>
   </define>
   <define name="att.ossia.vis.attributes">
      <empty/>
   </define>
   <define name="att.pedal.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.pedal.ges.attributes">
      <empty/>
   </define>
   <define name="att.pedal.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.pedal.log.attribute.dir"/>
   </define>
   <define name="att.pedal.log.attribute.dir">
      <attribute name="dir">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the position of the piano damper pedal.</a:documentation>
         <choice>
            <value>down</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">depress the pedal.</a:documentation>
            <value>up</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">release the pedal.</a:documentation>
            <value>half</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">half pedal.</a:documentation>
            <value>bounce</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">release then immediately depress the pedal.</a:documentation>
         </choice>
      </attribute>
   </define>
   <define name="att.pedal.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.pedal.vis.attribute.style"/>
   </define>
   <define name="att.pedal.vis.attribute.style">
      <optional>
         <attribute name="style">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines whether piano pedal marks should be rendered as lines or as terms.</a:documentation>
            <choice>
               <value>line</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">continuous line with start and end positions rendered by vertical bars and bounces shown by upward-pointing "blips".</a:documentation>
               <value>pedstar</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pedal down and half pedal rendered with "Ped.", pedal up rendered by "*", pedal "bounce" rendered with "* Ped.".</a:documentation>
               <value>altpedstar</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pedal up and down indications same as with "pedstar", but bounce is rendered with "Ped." only.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.phrase.vis.cmn.attributes">
      <ref name="att.curvature.attributes"/>
      <ref name="att.curverend.attributes"/>
   </define>
   <define name="att.pianopedals.attributes">
      <ref name="att.pianopedals.attribute.pedal.style"/>
   </define>
   <define name="att.pianopedals.attribute.pedal.style">
      <optional>
         <attribute name="pedal.style">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines whether piano pedal marks should be rendered as lines or as terms.</a:documentation>
            <choice>
               <value>line</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">continuous line with start and end positions rendered by vertical bars and bounces shown by upward-pointing "blips".</a:documentation>
               <value>pedstar</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pedal down and half pedal rendered with "Ped.", pedal up rendered by "*", pedal "bounce" rendered with "* Ped.".</a:documentation>
               <value>altpedstar</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pedal up and down indications same as with "pedstar", but bounce is rendered with "Ped." only.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.reh.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.reh.ges.attributes">
      <empty/>
   </define>
   <define name="att.reh.log.attributes">
      <ref name="att.staffident.attributes"/>
      <ref name="att.startid.attributes"/>
      <ref name="att.timestamp.musical.attributes"/>
      <ref name="att.timestamp.performed.attributes"/>
   </define>
   <define name="att.reh.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.typography.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.rehearsal.attributes">
      <ref name="att.rehearsal.attribute.reh.enclose"/>
   </define>
   <define name="att.rehearsal.attribute.reh.enclose">
      <optional>
         <attribute name="reh.enclose">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the enclosing shape for rehearsal marks.</a:documentation>
            <choice>
               <value>box</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">enclosed by box.</a:documentation>
               <value>circle</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">enclosed by circle.</a:documentation>
               <value>none</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">no enclosing shape.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.rest.log.cmn.attributes">
      <ref name="att.beamed.attributes"/>
   </define>
   <define name="att.rest.vis.cmn.attributes">
      <empty/>
   </define>
   <define name="att.scoreDef.log.cmn.attributes">
      <ref name="att.beaming.log.attributes"/>
   </define>
   <define name="att.scoreDef.vis.cmn.attributes">
      <ref name="att.beaming.vis.attributes"/>
      <ref name="att.pianopedals.attributes"/>
      <ref name="att.rehearsal.attributes"/>
      <ref name="att.slurrend.attributes"/>
      <ref name="att.tierend.attributes"/>
      <ref name="att.scoreDef.vis.cmn.attribute.grid.show"/>
   </define>
   <define name="att.scoreDef.vis.cmn.attribute.grid.show">
      <optional>
         <attribute name="grid.show">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines whether to display guitar chord grids.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.slur.anl.attributes">
      <ref name="att.common.anl.attributes"/>
      <ref name="att.joined.attributes"/>
   </define>
   <define name="att.slur.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.slur.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.slur.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.xy2.attributes"/>
      <ref name="att.curvature.attributes"/>
      <ref name="att.curverend.attributes"/>
   </define>
   <define name="att.slurrend.attributes">
      <ref name="att.slurrend.attribute.slur.rend"/>
   </define>
   <define name="att.slurrend.attribute.slur.rend">
      <optional>
         <attribute name="slur.rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the line style of the slur.</a:documentation>
            <ref name="data.CURVERENDITION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.space.log.cmn.attributes">
      <ref name="att.beamed.attributes"/>
   </define>
   <define name="att.staffDef.log.cmn.attributes">
      <ref name="att.beaming.log.attributes"/>
   </define>
   <define name="att.staffDef.vis.cmn.attributes">
      <ref name="att.beaming.vis.attributes"/>
      <ref name="att.pianopedals.attributes"/>
      <ref name="att.rehearsal.attributes"/>
      <ref name="att.slurrend.attributes"/>
      <ref name="att.tierend.attributes"/>
   </define>
   <define name="att.stemmed.cmn.attributes">
      <ref name="att.stemmed.cmn.attribute.stem.mod"/>
      <ref name="att.stemmed.cmn.attribute.stem.with"/>
   </define>
   <define name="att.stemmed.cmn.attribute.stem.mod">
      <optional>
         <attribute name="stem.mod">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes any stem "modifiers"; that is, symbols rendered on the stem, such as tremolo or Sprechstimme indicators.</a:documentation>
            <ref name="data.STEMMODIFIER"/>
         </attribute>
      </optional>
   </define>
   <define name="att.stemmed.cmn.attribute.stem.with">
      <optional>
         <attribute name="stem.with">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an indication of which staff a note or chord that logically belongs to the current staff should be visually placed on; that is, the one above or the one below.</a:documentation>
            <ref name="data.OTHERSTAFF"/>
         </attribute>
      </optional>
   </define>
   <define name="att.tie.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.tie.ges.attributes">
      <empty/>
   </define>
   <define name="att.tie.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.tie.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.xy2.attributes"/>
      <ref name="att.curvature.attributes"/>
      <ref name="att.curverend.attributes"/>
   </define>
   <define name="att.tierend.attributes">
      <ref name="att.tierend.attribute.tie.rend"/>
   </define>
   <define name="att.tierend.attribute.tie.rend">
      <optional>
         <attribute name="tie.rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the line style of the tie.</a:documentation>
            <ref name="data.CURVERENDITION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.tremmeasured.attributes">
      <ref name="att.tremmeasured.attribute.measperf"/>
   </define>
   <define name="att.tremmeasured.attribute.measperf">
      <optional>
         <attribute name="measperf">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the performed duration of an individual note in a measured tremolo.</a:documentation>
            <ref name="data.DURATION.cmn"/>
         </attribute>
      </optional>
   </define>
   <define name="att.tuplet.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.tuplet.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.tuplet.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.beamedwith.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.duration.ratio.attributes"/>
      <ref name="att.startendid.attributes"/>
   </define>
   <define name="att.tuplet.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.numberplacement.attributes"/>
      <ref name="att.tuplet.vis.attribute.bracket.place"/>
      <ref name="att.tuplet.vis.attribute.bracket.visible"/>
      <ref name="att.tuplet.vis.attribute.dur.visible"/>
      <ref name="att.tuplet.vis.attribute.num.format"/>
   </define>
   <define name="att.tuplet.vis.attribute.bracket.place">
      <optional>
         <attribute name="bracket.place">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to state where a tuplet bracket will be placed in relation to the note heads.</a:documentation>
            <ref name="data.PLACE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.tuplet.vis.attribute.bracket.visible">
      <optional>
         <attribute name="bracket.visible">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">states whether a bracket should be rendered with a tuplet.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.tuplet.vis.attribute.dur.visible">
      <optional>
         <attribute name="dur.visible">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines if the tuplet duration is visible.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.tuplet.vis.attribute.num.format">
      <optional>
         <attribute name="num.format">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">controls how the num:numbase ratio is to be displayed.</a:documentation>
            <choice>
               <value>count</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">only the num attribute is displayed, e.g., '7'.</a:documentation>
               <value>ratio</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">both the num and numbase attributes are displayed, e.g., '7:4'.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.tupletSpan.anl.attributes">
      <ref name="att.tuplet.anl.attributes"/>
   </define>
   <define name="att.tupletSpan.ges.attributes">
      <ref name="att.tuplet.ges.attributes"/>
   </define>
   <define name="att.tupletSpan.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.beamedwith.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.duration.ratio.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.tupletSpan.vis.attributes">
      <ref name="att.tuplet.vis.attributes"/>
   </define>
   <define name="model.controleventLike.cmn">
      <choice>
         <ref name="arpeg"/>
         <ref name="beamSpan"/>
         <ref name="breath"/>
         <ref name="fermata"/>
         <ref name="hairpin"/>
         <ref name="harpPedal"/>
         <ref name="octave"/>
         <ref name="pedal"/>
         <ref name="reh"/>
         <ref name="slur"/>
         <ref name="tie"/>
         <ref name="tupletSpan"/>
         <ref name="model.ornamentLike.cmn"/>
      </choice>
   </define>
   <define name="model.controleventLike.cmn_alternation">
      <choice>
         <ref name="arpeg"/>
         <ref name="beamSpan"/>
         <ref name="breath"/>
         <ref name="fermata"/>
         <ref name="hairpin"/>
         <ref name="harpPedal"/>
         <ref name="octave"/>
         <ref name="pedal"/>
         <ref name="reh"/>
         <ref name="slur"/>
         <ref name="tie"/>
         <ref name="tupletSpan"/>
         <ref name="model.ornamentLike.cmn_alternation"/>
      </choice>
   </define>
   <define name="model.controleventLike.cmn_sequence">
      <ref name="arpeg"/>
      <ref name="beamSpan"/>
      <ref name="breath"/>
      <ref name="fermata"/>
      <ref name="hairpin"/>
      <ref name="harpPedal"/>
      <ref name="octave"/>
      <ref name="pedal"/>
      <ref name="reh"/>
      <ref name="slur"/>
      <ref name="tie"/>
      <ref name="tupletSpan"/>
      <ref name="model.ornamentLike.cmn_sequence"/>
   </define>
   <define name="model.controleventLike.cmn_sequenceOptional">
      <optional>
         <ref name="arpeg"/>
      </optional>
      <optional>
         <ref name="beamSpan"/>
      </optional>
      <optional>
         <ref name="breath"/>
      </optional>
      <optional>
         <ref name="fermata"/>
      </optional>
      <optional>
         <ref name="hairpin"/>
      </optional>
      <optional>
         <ref name="harpPedal"/>
      </optional>
      <optional>
         <ref name="octave"/>
      </optional>
      <optional>
         <ref name="pedal"/>
      </optional>
      <optional>
         <ref name="reh"/>
      </optional>
      <optional>
         <ref name="slur"/>
      </optional>
      <optional>
         <ref name="tie"/>
      </optional>
      <optional>
         <ref name="tupletSpan"/>
      </optional>
      <optional>
         <ref name="model.ornamentLike.cmn_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.controleventLike.cmn_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="arpeg"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="beamSpan"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="breath"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="fermata"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="hairpin"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="harpPedal"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="octave"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="pedal"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="reh"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="slur"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="tie"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="tupletSpan"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.ornamentLike.cmn_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.controleventLike.cmn_sequenceRepeatable">
      <oneOrMore>
         <ref name="arpeg"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="beamSpan"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="breath"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="fermata"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="hairpin"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="harpPedal"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="octave"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="pedal"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="reh"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="slur"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="tie"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="tupletSpan"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.ornamentLike.cmn_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.eventLike.cmn">
      <choice>
         <ref name="beam"/>
         <ref name="beatRpt"/>
         <ref name="bTrem"/>
         <ref name="fTrem"/>
         <ref name="halfmRpt"/>
         <ref name="tuplet"/>
      </choice>
   </define>
   <define name="model.eventLike.cmn_alternation">
      <choice>
         <ref name="beam"/>
         <ref name="beatRpt"/>
         <ref name="bTrem"/>
         <ref name="fTrem"/>
         <ref name="halfmRpt"/>
         <ref name="tuplet"/>
      </choice>
   </define>
   <define name="model.eventLike.cmn_sequence">
      <ref name="beam"/>
      <ref name="beatRpt"/>
      <ref name="bTrem"/>
      <ref name="fTrem"/>
      <ref name="halfmRpt"/>
      <ref name="tuplet"/>
   </define>
   <define name="model.eventLike.cmn_sequenceOptional">
      <optional>
         <ref name="beam"/>
      </optional>
      <optional>
         <ref name="beatRpt"/>
      </optional>
      <optional>
         <ref name="bTrem"/>
      </optional>
      <optional>
         <ref name="fTrem"/>
      </optional>
      <optional>
         <ref name="halfmRpt"/>
      </optional>
      <optional>
         <ref name="tuplet"/>
      </optional>
   </define>
   <define name="model.eventLike.cmn_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="beam"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="beatRpt"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="bTrem"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="fTrem"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="halfmRpt"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="tuplet"/>
      </zeroOrMore>
   </define>
   <define name="model.eventLike.cmn_sequenceRepeatable">
      <oneOrMore>
         <ref name="beam"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="beatRpt"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="bTrem"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="fTrem"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="halfmRpt"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="tuplet"/>
      </oneOrMore>
   </define>
   <define name="model.eventLike.measureFilling">
      <choice>
         <ref name="mRest"/>
         <ref name="mRpt"/>
         <ref name="mRpt2"/>
         <ref name="mSpace"/>
         <ref name="multiRest"/>
         <ref name="multiRpt"/>
      </choice>
   </define>
   <define name="model.eventLike.measureFilling_alternation">
      <choice>
         <ref name="mRest"/>
         <ref name="mRpt"/>
         <ref name="mRpt2"/>
         <ref name="mSpace"/>
         <ref name="multiRest"/>
         <ref name="multiRpt"/>
      </choice>
   </define>
   <define name="model.eventLike.measureFilling_sequence">
      <ref name="mRest"/>
      <ref name="mRpt"/>
      <ref name="mRpt2"/>
      <ref name="mSpace"/>
      <ref name="multiRest"/>
      <ref name="multiRpt"/>
   </define>
   <define name="model.eventLike.measureFilling_sequenceOptional">
      <optional>
         <ref name="mRest"/>
      </optional>
      <optional>
         <ref name="mRpt"/>
      </optional>
      <optional>
         <ref name="mRpt2"/>
      </optional>
      <optional>
         <ref name="mSpace"/>
      </optional>
      <optional>
         <ref name="multiRest"/>
      </optional>
      <optional>
         <ref name="multiRpt"/>
      </optional>
   </define>
   <define name="model.eventLike.measureFilling_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="mRest"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="mRpt"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="mRpt2"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="mSpace"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="multiRest"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="multiRpt"/>
      </zeroOrMore>
   </define>
   <define name="model.eventLike.measureFilling_sequenceRepeatable">
      <oneOrMore>
         <ref name="mRest"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="mRpt"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="mRpt2"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="mSpace"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="multiRest"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="multiRpt"/>
      </oneOrMore>
   </define>
   <define name="model.layerPart.cmn">
      <choice>
         <ref name="model.eventLike.measureFilling"/>
      </choice>
   </define>
   <define name="model.measureLike">
      <choice>
         <ref name="measure"/>
      </choice>
   </define>
   <define name="model.measureLike_alternation">
      <choice>
         <ref name="measure"/>
      </choice>
   </define>
   <define name="model.measureLike_sequence">
      <ref name="measure"/>
   </define>
   <define name="model.measureLike_sequenceOptional">
      <optional>
         <ref name="measure"/>
      </optional>
   </define>
   <define name="model.measureLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="measure"/>
      </zeroOrMore>
   </define>
   <define name="model.measureLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="measure"/>
      </oneOrMore>
   </define>
   <define name="model.measurePart">
      <choice>
         <ref name="model.controleventLike"/>
         <ref name="model.staffLike"/>
         <ref name="model.ossiaLike"/>
         <ref name="model.lyricsLike"/>
         <ref name="model.midiLike"/>
      </choice>
   </define>
   <define name="model.ossiaLike">
      <choice>
         <ref name="ossia"/>
      </choice>
   </define>
   <define name="model.sectionPart.cmn">
      <choice>
         <ref name="model.measureLike"/>
      </choice>
   </define>
   <define name="arpeg">
      <element name="arpeg">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(arpeggiation) – Indicates that the notes of a chord are to be performed successively rather than simultaneously, usually from lowest to highest. Sometimes called a "roll". </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.arpeg.log.attributes"/>
         <ref name="att.arpeg.vis.attributes"/>
         <ref name="att.arpeg.ges.attributes"/>
         <ref name="att.arpeg.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="beam">
      <element name="beam">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A container for a series of explicitly beamed events that begins and ends entirely within a measure. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.eventLike"/>
               <ref name="model.appLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="beam-constraint-When_not_copyof_beam_content">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:beam[not(@copyof)]">
               <sch:assert test="count(descendant::*[local-name()='note' or local-name()='rest' or               local-name()='chord' or local-name()='space']) &gt; 1">A beam without a copyof
              attribute must have at least 2 note, rest, chord, or space descendants.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.beam.log.attributes"/>
         <ref name="att.beam.vis.attributes"/>
         <ref name="att.beam.ges.attributes"/>
         <ref name="att.beam.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="beamSpan">
      <element name="beamSpan">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(beam span) – Alternative element for explicitly encoding beams, particularly those which extend across bar lines. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="beamSpan-constraint-Start-_and_end-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:beamSpan">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
               <sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the
              attributes: dur, dur.ges, endid, or tstamp2</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.beamSpan.log.attributes"/>
         <ref name="att.beamSpan.vis.attributes"/>
         <ref name="att.beamSpan.ges.attributes"/>
         <ref name="att.beamSpan.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="beatRpt">
      <element name="beatRpt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(beat repeat) – An indication that material on a preceding beat should be repeated. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.beatRpt.log.attributes"/>
         <ref name="att.beatRpt.vis.attributes"/>
         <ref name="att.beatRpt.ges.attributes"/>
         <ref name="att.beatRpt.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="bend">
      <element name="bend">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A variation in pitch (often micro-tonal) upwards or downwards during the course of a note.</a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="bend-constraint-Start-_and_end-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:bend">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
               <sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the
              attributes: dur, dur.ges, endid, or tstamp2</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.bend.log.attributes"/>
         <ref name="att.bend.vis.attributes"/>
         <ref name="att.bend.ges.attributes"/>
         <ref name="att.bend.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="breath">
      <element name="breath">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(breath mark) – A indication of a point at which the performer on an instrument requiring breath (including the voice) may breathe. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="breath-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:breath">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.breath.log.attributes"/>
         <ref name="att.breath.vis.attributes"/>
         <ref name="att.breath.ges.attributes"/>
         <ref name="att.breath.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="bTrem">
      <element name="bTrem">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(bowed tremolo) – A rapid alternation on a single pitch or chord.</a:documentation>
         <choice>
            <ref name="chord"/>
            <ref name="note"/>
         </choice>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.bTrem.log.attributes"/>
         <ref name="att.bTrem.vis.attributes"/>
         <ref name="att.bTrem.ges.attributes"/>
         <ref name="att.bTrem.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="fermata">
      <element name="fermata">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An indication placed over a note or rest to indicate that it should be held longer than its written value. May also occur over a bar line to indicate the end of a phrase or section. Sometimes called a 'hold' or 'pause'. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="fermata-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:fermata">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.fermata.log.attributes"/>
         <ref name="att.fermata.vis.attributes"/>
         <ref name="att.fermata.ges.attributes"/>
         <ref name="att.fermata.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="fTrem">
      <element name="fTrem">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(fingered tremolo) – A rapid alternation between a pair of notes (or chords or perhaps between a note and a chord) that are (usually) farther apart than a major second.</a:documentation>
         <choice>
            <group>
               <ref name="chord"/>
               <choice>
                  <ref name="chord"/>
                  <ref name="note"/>
               </choice>
            </group>
            <group>
               <ref name="note"/>
               <choice>
                  <ref name="chord"/>
                  <ref name="note"/>
               </choice>
            </group>
         </choice>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.fTrem.log.attributes"/>
         <ref name="att.fTrem.vis.attributes"/>
         <ref name="att.fTrem.ges.attributes"/>
         <ref name="att.fTrem.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="gliss">
      <element name="gliss">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(glissando) – A continuous or sliding movement from one pitch to another, usually indicated by a straight or wavy line. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="gliss-constraint-Start-_and_end-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:gliss">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
               <sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the
              attributes: dur, dur.ges, endid, or tstamp2</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.gliss.log.attributes"/>
         <ref name="att.gliss.vis.attributes"/>
         <ref name="att.gliss.ges.attributes"/>
         <ref name="att.gliss.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="hairpin">
      <element name="hairpin">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates continuous dynamics expressed on the score as wedge-shaped graphics, e.g. &lt; and &gt;. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="hairpin-constraint-Start-_and_end-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:hairpin">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
               <sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the
              attributes: dur, dur.ges, endid, or tstamp2</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.hairpin.log.attributes"/>
         <ref name="att.hairpin.vis.attributes"/>
         <ref name="att.hairpin.ges.attributes"/>
         <ref name="att.hairpin.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="halfmRpt">
      <element name="halfmRpt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(half-measure repeat) – A half-measure repeat in any meter.</a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.halfmRpt.log.attributes"/>
         <ref name="att.halfmRpt.vis.attributes"/>
         <ref name="att.halfmRpt.ges.attributes"/>
         <ref name="att.halfmRpt.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="harpPedal">
      <element name="harpPedal">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(harp pedal) – Harp pedal diagram. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="harpPedal-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:harpPedal">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.harpPedal.log.attributes"/>
         <ref name="att.harpPedal.vis.attributes"/>
         <ref name="att.harpPedal.ges.attributes"/>
         <ref name="att.harpPedal.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="measure">
      <element name="measure">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Unit of musical time consisting of a fixed number of note-values of a given type, as determined by the prevailing meter, and delimited in musical notation by two bar lines. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.appLike"/>
               <ref name="model.divLike"/>
               <ref name="model.milestoneLike.music"/>
               <ref name="model.staffDefLike"/>
               <ref name="model.annotLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.measurePart"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.measure.log.attributes"/>
         <ref name="att.measure.vis.attributes"/>
         <ref name="att.measure.ges.attributes"/>
         <ref name="att.measure.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="meterSig">
      <element name="meterSig">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(meter signature) – Written meter signature.</a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.meterSig.anl.attributes"/>
         <ref name="att.meterSig.ges.attributes"/>
         <ref name="att.meterSig.log.attributes"/>
         <ref name="att.meterSig.vis.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="meterSigGrp">
      <element name="meterSigGrp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(meter signature group) – Used to capture alternating, interchanging, and mixed meter signatures.</a:documentation>
         <ref name="meterSig"/>
         <oneOrMore>
            <ref name="meterSig"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.meterSigGrp.anl.attributes"/>
         <ref name="att.meterSigGrp.ges.attributes"/>
         <ref name="att.meterSigGrp.log.attributes"/>
         <ref name="att.meterSigGrp.vis.attributes"/>
         <attribute name="func">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Function of the meter signature group.</a:documentation>
            <choice>
               <value>alternating</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Meter signatures appear in alternating measures.</a:documentation>
               <value>interchanging</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Meter signatures are interchangable, e.g. 3/4 and 6/8.</a:documentation>
               <value>mixed</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Meter signatures with different unit values are used to express a complex metrical pattern that is not expressable using traditional means, such as 2/4+1/8.</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="mRest">
      <element name="mRest">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(measure rest) – Complete measure rest in any meter. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.mRest.log.attributes"/>
         <ref name="att.mRest.vis.attributes"/>
         <ref name="att.mRest.ges.attributes"/>
         <ref name="att.mRest.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="mRpt">
      <element name="mRpt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(measure repeat) – An indication that the previous measure should be repeated. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.mRpt.log.attributes"/>
         <ref name="att.mRpt.vis.attributes"/>
         <ref name="att.mRpt.ges.attributes"/>
         <ref name="att.mRpt.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="mRpt2">
      <element name="mRpt2">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(2-measure repeat) – An indication that the previous two measures should be repeated.</a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.mRpt2.log.attributes"/>
         <ref name="att.mRpt2.vis.attributes"/>
         <ref name="att.mRpt2.ges.attributes"/>
         <ref name="att.mRpt2.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="mSpace">
      <element name="mSpace">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(measure space) – A measure containing only empty space in any meter. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.mSpace.log.attributes"/>
         <ref name="att.mSpace.vis.attributes"/>
         <ref name="att.mSpace.ges.attributes"/>
         <ref name="att.mSpace.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="multiRest">
      <element name="multiRest">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(multiple rest) – Multiple measures of rest compressed into a single symbol, frequently found in performer parts. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.multiRest.log.attributes"/>
         <ref name="att.multiRest.vis.attributes"/>
         <ref name="att.multiRest.ges.attributes"/>
         <ref name="att.multiRest.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="multiRpt">
      <element name="multiRpt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(multiple repeat) – Multiple repeated measures. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.multiRpt.log.attributes"/>
         <ref name="att.multiRpt.vis.attributes"/>
         <ref name="att.multiRpt.ges.attributes"/>
         <ref name="att.multiRpt.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="octave">
      <element name="octave">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An indication that a passage should be performed one or more octaves above or below its written pitch. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="octave-constraint-Start-_and_end-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:octave">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
               <sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the
              attributes: dur, dur.ges, endid, or tstamp2</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.octave.log.attributes"/>
         <ref name="att.octave.vis.attributes"/>
         <ref name="att.octave.ges.attributes"/>
         <ref name="att.octave.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="ossia">
      <element name="ossia">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An alternate notational version *present in the source being transcribed*. </a:documentation>
         <choice>
            <group>
               <ref name="model.staffLike"/>
               <oneOrMore>
                  <ref name="model.staffLike"/>
               </oneOrMore>
            </group>
            <group>
               <ref name="model.layerLike"/>
               <oneOrMore>
                  <ref name="model.layerLike"/>
               </oneOrMore>
            </group>
         </choice>
         <sch:pattern xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0">
            <sch:rule context="mei:measure/mei:ossia">
              <sch:assert test="count(mei:*) = count(mei:staff)">Ossia may contain only staff
                elements in this context.</sch:assert>
            </sch:rule>
            <sch:rule context="mei:staff/mei:ossia">
              <sch:assert test="count(mei:*) = count(mei:layer)">Ossia may contain only layer
                elements in this context.</sch:assert>
            </sch:rule>
          </sch:pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.ossia.log.attributes"/>
         <ref name="att.ossia.vis.attributes"/>
         <ref name="att.ossia.ges.attributes"/>
         <ref name="att.ossia.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="pedal">
      <element name="pedal">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Piano pedal mark. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="pedal-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:pedal">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.pedal.log.attributes"/>
         <ref name="att.pedal.vis.attributes"/>
         <ref name="att.pedal.ges.attributes"/>
         <ref name="att.pedal.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="reh">
      <element name="reh">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rehearsal mark) – In an orchestral score and its corresponding parts, a mark indicating a convenient point from which to resume rehearsal after a break. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.lbLike"/>
               <ref name="model.rendLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.reh.log.attributes"/>
         <ref name="att.reh.vis.attributes"/>
         <ref name="att.reh.ges.attributes"/>
         <ref name="att.reh.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="slur">
      <element name="slur">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indication of 1) a "unified melodic idea" or 2) performance technique. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="slur-constraint-Start-_and_end-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:slur">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
               <sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the
              attributes: dur, dur.ges, endid, or tstamp2</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.slur.log.attributes"/>
         <ref name="att.slur.vis.attributes"/>
         <ref name="att.slur.ges.attributes"/>
         <ref name="att.slur.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="tie">
      <element name="tie">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An indication that two notes of the same pitch form a single note with their combined rhythmic values. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="tie-constraint-Start-_and_end-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:tie">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
               <sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the
              attributes: dur, dur.ges, endid, or tstamp2</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.tie.log.attributes"/>
         <ref name="att.tie.vis.attributes"/>
         <ref name="att.tie.ges.attributes"/>
         <ref name="att.tie.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="tuplet">
      <element name="tuplet">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A group of notes with "irregular" (sometimes called "irrational") rhythmic values, for example, three notes in the time normally occupied by two or nine in the time of five. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.eventLike"/>
               <ref name="model.appLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="tuplet-constraint-When_not_copyof_tuplet_content">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:tuplet[not(@copyof)]">
               <sch:assert test="count(descendant::*[local-name()='note' or local-name()='rest' or               local-name()='chord']) &gt; 1">A tuplet without a copyof attribute must have at least
              2 note, rest, or chord descendants.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.tuplet.log.attributes"/>
         <ref name="att.tuplet.vis.attributes"/>
         <ref name="att.tuplet.ges.attributes"/>
         <ref name="att.tuplet.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="tupletSpan">
      <element name="tupletSpan">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tuplet span) – Alternative element for encoding tuplets, especially useful for tuplets that extend across bar lines. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="tupletSpan-constraint-Start-_and_end-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:tupletSpan">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real">Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
               <sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the
              attributes: dur, dur.ges, endid, or tstamp2</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.tupletSpan.log.attributes"/>
         <ref name="att.tupletSpan.vis.attributes"/>
         <ref name="att.tupletSpan.ges.attributes"/>
         <ref name="att.tupletSpan.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.accid.vis.mensural.attributes">
      <ref name="att.staffloc.pitched.attributes"/>
   </define>
   <define name="att.dot.vis.mensural.attributes">
      <ref name="att.staffloc.pitched.attributes"/>
   </define>
   <define name="att.ligature.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.ligature.ges.attributes">
      <empty/>
   </define>
   <define name="att.ligature.log.attributes">
      <ref name="att.ligature.log.attribute.form"/>
   </define>
   <define name="att.ligature.log.attribute.form">
      <optional>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an indication of the function of the ligature.</a:documentation>
            <ref name="data.LIGATUREFORM"/>
         </attribute>
      </optional>
   </define>
   <define name="att.ligature.vis.attributes">
      <empty/>
   </define>
   <define name="att.mensur.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.mensur.ges.attributes">
      <empty/>
   </define>
   <define name="att.mensur.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.relativesize.attributes"/>
      <ref name="att.staffloc.attributes"/>
      <ref name="att.mensur.vis.attribute.form"/>
      <ref name="att.mensur.vis.attribute.orient"/>
   </define>
   <define name="att.mensur.vis.attribute.form">
      <optional>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether the base symbol is written vertically or horizontally.</a:documentation>
            <choice>
               <value>horizontal</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>vertical</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.mensur.vis.attribute.orient">
      <optional>
         <attribute name="orient">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the rotation or reflection of the base symbol.</a:documentation>
            <ref name="data.ORIENTATION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.log.attributes">
      <ref name="att.mensural.shared.attributes"/>
      <ref name="att.mensural.log.attribute.mensur.dot"/>
      <ref name="att.mensural.log.attribute.mensur.sign"/>
      <ref name="att.mensural.log.attribute.mensur.slash"/>
      <ref name="att.mensural.log.attribute.proport.num"/>
      <ref name="att.mensural.log.attribute.proport.numbase"/>
   </define>
   <define name="att.mensural.log.attribute.mensur.dot">
      <optional>
         <attribute name="mensur.dot">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">determines if a dot is to be added to the base symbol.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.log.attribute.mensur.sign">
      <optional>
         <attribute name="mensur.sign">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the base symbol in the mensuration sign/time signature of mensural notation.</a:documentation>
            <ref name="data.MENSURATIONSIGN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.log.attribute.mensur.slash">
      <optional>
         <attribute name="mensur.slash">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number lines added to the mensuration sign. For example, one slash is added for what we now call 'alla breve'.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.log.attribute.proport.num">
      <optional>
         <attribute name="proport.num">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Together, proport.num and proport.numbase specify a proportional change as a ratio, e.g., 1:3. Proport.num is for the first value in the ratio.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.log.attribute.proport.numbase">
      <optional>
         <attribute name="proport.numbase">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Together, proport.num and proport.numbase specify a proportional change as a ratio, e.g., 1:3. Proport.numbase is for the second value in the ratio.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.shared.attributes">
      <ref name="att.mensural.shared.attribute.modusmaior"/>
      <ref name="att.mensural.shared.attribute.modusminor"/>
      <ref name="att.mensural.shared.attribute.prolatio"/>
      <ref name="att.mensural.shared.attribute.tempus"/>
   </define>
   <define name="att.mensural.shared.attribute.modusmaior">
      <optional>
         <attribute name="modusmaior">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the maxima-long relationship.</a:documentation>
            <ref name="data.MODUSMAIOR"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.shared.attribute.modusminor">
      <optional>
         <attribute name="modusminor">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the long-breve relationship.</a:documentation>
            <ref name="data.MODUSMINOR"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.shared.attribute.prolatio">
      <optional>
         <attribute name="prolatio">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the semibreve-minim relationship.</a:documentation>
            <ref name="data.PROLATIO"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.shared.attribute.tempus">
      <optional>
         <attribute name="tempus">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the breve-semibreve relationship.</a:documentation>
            <ref name="data.TEMPUS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.vis.attributes">
      <ref name="att.mensural.vis.attribute.mensur.color"/>
      <ref name="att.mensural.vis.attribute.mensur.form"/>
      <ref name="att.mensural.vis.attribute.mensur.loc"/>
      <ref name="att.mensural.vis.attribute.mensur.orient"/>
      <ref name="att.mensural.vis.attribute.mensur.size"/>
   </define>
   <define name="att.mensural.vis.attribute.mensur.color">
      <optional>
         <attribute name="mensur.color">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the color of the mensuration sign. Do not confuse this with the musical term 'color' as used in pre-CMN notation.</a:documentation>
            <ref name="data.COLOR"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.vis.attribute.mensur.form">
      <optional>
         <attribute name="mensur.form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether the base symbol is written vertically or horizontally.</a:documentation>
            <choice>
               <value>horizontal</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>vertical</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.vis.attribute.mensur.loc">
      <optional>
         <attribute name="mensur.loc">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds the staff location of the mensuration sign.</a:documentation>
            <ref name="data.STAFFLOC"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.vis.attribute.mensur.orient">
      <optional>
         <attribute name="mensur.orient">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the rotation or reflection of the base symbol.</a:documentation>
            <ref name="data.ORIENTATION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mensural.vis.attribute.mensur.size">
      <optional>
         <attribute name="mensur.size">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the relative size of the mensuration sign.</a:documentation>
            <ref name="data.SIZE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.note.ges.mensural.attributes">
      <ref name="att.duration.ratio.attributes"/>
   </define>
   <define name="att.note.log.mensural.attributes">
      <ref name="att.note.log.mensural.attribute.lig"/>
   </define>
   <define name="att.note.log.mensural.attribute.lig">
      <optional>
         <attribute name="lig">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates this element's participation in a ligature.</a:documentation>
            <choice>
               <value>recta</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>obliqua</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.proport.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.proport.ges.attributes">
      <empty/>
   </define>
   <define name="att.proport.log.attributes">
      <ref name="att.duration.ratio.attributes"/>
   </define>
   <define name="att.proport.vis.attributes">
      <empty/>
   </define>
   <define name="att.rest.ges.mensural.attributes">
      <ref name="att.duration.ratio.attributes"/>
   </define>
   <define name="att.rest.vis.mensural.attributes">
      <ref name="att.rest.vis.mensural.attribute.spaces"/>
   </define>
   <define name="att.rest.vis.mensural.attribute.spaces">
      <optional>
         <attribute name="spaces">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">states how many spaces are covered by the rest.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.scoreDef.log.mensural.attributes">
      <ref name="att.mensural.log.attributes"/>
   </define>
   <define name="att.scoreDef.vis.mensural.attributes">
      <ref name="att.mensural.vis.attributes"/>
   </define>
   <define name="att.staffDef.log.mensural.attributes">
      <ref name="att.mensural.log.attributes"/>
   </define>
   <define name="att.staffDef.vis.mensural.attributes">
      <ref name="att.mensural.vis.attributes"/>
   </define>
   <define name="model.eventLike.mensural">
      <choice>
         <ref name="ligature"/>
         <ref name="mensur"/>
         <ref name="proport"/>
      </choice>
   </define>
   <define name="model.eventLike.mensural_alternation">
      <choice>
         <ref name="ligature"/>
         <ref name="mensur"/>
         <ref name="proport"/>
      </choice>
   </define>
   <define name="model.eventLike.mensural_sequence">
      <ref name="ligature"/>
      <ref name="mensur"/>
      <ref name="proport"/>
   </define>
   <define name="model.eventLike.mensural_sequenceOptional">
      <optional>
         <ref name="ligature"/>
      </optional>
      <optional>
         <ref name="mensur"/>
      </optional>
      <optional>
         <ref name="proport"/>
      </optional>
   </define>
   <define name="model.eventLike.mensural_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="ligature"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="mensur"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="proport"/>
      </zeroOrMore>
   </define>
   <define name="model.eventLike.mensural_sequenceRepeatable">
      <oneOrMore>
         <ref name="ligature"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="mensur"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="proport"/>
      </oneOrMore>
   </define>
   <define name="model.layerPart.mensural">
      <choice>
         <ref name="model.controleventLike"/>
         <ref name="model.noteModifierLike"/>
         <ref name="model.lyricsLike"/>
      </choice>
   </define>
   <define name="model.layerPart.mensural_alternation">
      <choice>
         <ref name="model.controleventLike_alternation"/>
         <ref name="model.noteModifierLike_alternation"/>
         <ref name="model.lyricsLike_alternation"/>
      </choice>
   </define>
   <define name="model.layerPart.mensural_sequence">
      <ref name="model.controleventLike_sequence"/>
      <ref name="model.noteModifierLike_sequence"/>
      <ref name="model.lyricsLike_sequence"/>
   </define>
   <define name="model.layerPart.mensural_sequenceOptional">
      <optional>
         <ref name="model.controleventLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.noteModifierLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.lyricsLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.layerPart.mensural_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.controleventLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.noteModifierLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.lyricsLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.layerPart.mensural_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.controleventLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.noteModifierLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.lyricsLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.staffDefPart.mensural">
      <choice>
         <ref name="mensur"/>
         <ref name="proport"/>
      </choice>
   </define>
   <define name="ligature">
      <element name="ligature">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A mensural notation symbol that combines two or more notes into a single sign. </a:documentation>
         <zeroOrMore>
            <ref name="model.layerPart"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.ligature.log.attributes"/>
         <ref name="att.ligature.vis.attributes"/>
         <ref name="att.ligature.ges.attributes"/>
         <ref name="att.ligature.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="mensur">
      <element name="mensur">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(mensuration) – Collects information about the metrical relationship between a note value and the next smaller value; that is, either triple or duple. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.mensur.log.attributes"/>
         <ref name="att.mensur.vis.attributes"/>
         <ref name="att.mensur.ges.attributes"/>
         <ref name="att.mensur.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="proport">
      <element name="proport">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(proportion) – Description of note duration as arithmetic ratio. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.proport.log.attributes"/>
         <ref name="att.proport.vis.attributes"/>
         <ref name="att.proport.ges.attributes"/>
         <ref name="att.proport.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.ineume.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.ineume.ges.attributes">
      <empty/>
   </define>
   <define name="att.ineume.log.attributes">
      <ref name="att.ineume.log.attribute.form"/>
      <ref name="att.ineume.log.attribute.name"/>
   </define>
   <define name="att.ineume.log.attribute.form">
      <optional>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a subclass or functional label for the neume.</a:documentation>
            <ref name="data.INEUMEFORM"/>
         </attribute>
      </optional>
   </define>
   <define name="att.ineume.log.attribute.name">
      <optional>
         <attribute name="name">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the name of the neume.</a:documentation>
            <ref name="data.INEUMENAME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.ineume.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.staffloc.attributes"/>
   </define>
   <define name="att.uneume.anl.attributes">
      <ref name="att.common.anl.attributes"/>
      <ref name="att.harmonicfunction.attributes"/>
      <ref name="att.melodicfunction.attributes"/>
      <ref name="att.intervallicdesc.attributes"/>
      <ref name="att.solfa.attributes"/>
   </define>
   <define name="att.uneume.ges.attributes">
      <empty/>
   </define>
   <define name="att.uneume.log.attributes">
      <ref name="att.event.attributes"/>
      <ref name="att.syltext.attributes"/>
      <ref name="att.uneume.log.attribute.form"/>
      <ref name="att.uneume.log.attribute.name"/>
   </define>
   <define name="att.uneume.log.attribute.form">
      <optional>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a subclass or functional label for the neume.</a:documentation>
            <ref name="data.UNEUMEFORM"/>
         </attribute>
      </optional>
   </define>
   <define name="att.uneume.log.attribute.name">
      <optional>
         <attribute name="name">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the name of the neume.</a:documentation>
            <ref name="data.UNEUMENAME"/>
         </attribute>
      </optional>
   </define>
   <define name="att.uneume.vis.attributes">
      <ref name="att.altsym.attributes"/>
      <ref name="att.color.attributes"/>
      <ref name="att.relativesize.attributes"/>
      <ref name="att.staffloc.attributes"/>
      <ref name="att.visualoffset.ho.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.visibility.attributes"/>
   </define>
   <define name="model.eventLike.neumes">
      <choice>
         <ref name="ineume"/>
         <ref name="uneume"/>
      </choice>
   </define>
   <define name="model.eventLike.neumes_alternation">
      <choice>
         <ref name="ineume"/>
         <ref name="uneume"/>
      </choice>
   </define>
   <define name="model.eventLike.neumes_sequence">
      <ref name="ineume"/>
      <ref name="uneume"/>
   </define>
   <define name="model.eventLike.neumes_sequenceOptional">
      <optional>
         <ref name="ineume"/>
      </optional>
      <optional>
         <ref name="uneume"/>
      </optional>
   </define>
   <define name="model.eventLike.neumes_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="ineume"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="uneume"/>
      </zeroOrMore>
   </define>
   <define name="model.eventLike.neumes_sequenceRepeatable">
      <oneOrMore>
         <ref name="ineume"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="uneume"/>
      </oneOrMore>
   </define>
   <define name="model.layerPart.neumes">
      <choice>
         <ref name="model.eventLike.neumes"/>
         <ref name="model.syllableLike"/>
      </choice>
   </define>
   <define name="model.layerPart.neumes_alternation">
      <choice>
         <ref name="model.eventLike.neumes_alternation"/>
         <ref name="model.syllableLike_alternation"/>
      </choice>
   </define>
   <define name="model.layerPart.neumes_sequence">
      <ref name="model.eventLike.neumes_sequence"/>
      <ref name="model.syllableLike_sequence"/>
   </define>
   <define name="model.layerPart.neumes_sequenceOptional">
      <optional>
         <ref name="model.eventLike.neumes_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.syllableLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.layerPart.neumes_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.eventLike.neumes_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.syllableLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.layerPart.neumes_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.eventLike.neumes_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.syllableLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.syllableLike">
      <choice>
         <ref name="syllable"/>
      </choice>
   </define>
   <define name="model.syllableLike_alternation">
      <choice>
         <ref name="syllable"/>
      </choice>
   </define>
   <define name="model.syllableLike_sequence">
      <ref name="syllable"/>
   </define>
   <define name="model.syllableLike_sequenceOptional">
      <optional>
         <ref name="syllable"/>
      </optional>
   </define>
   <define name="model.syllableLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="syllable"/>
      </zeroOrMore>
   </define>
   <define name="model.syllableLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="syllable"/>
      </oneOrMore>
   </define>
   <define name="model.syllablePart">
      <choice>
         <ref name="model.controleventLike"/>
         <ref name="model.eventLike"/>
         <ref name="model.noteModifierLike"/>
         <ref name="model.eventLike.neumes"/>
         <ref name="model.lyricsLike"/>
         <ref name="model.sylLike"/>
         <ref name="model.verseLike"/>
         <ref name="model.midiLike"/>
      </choice>
   </define>
   <define name="ineume">
      <element name="ineume">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(interrupted neume) – a graphically interrupted neume; that is, a neume which is logically a single entity but is written using multiple signs. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="macro.neumeModifierLike"/>
               <ref name="model.appLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.verseLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.ineume.log.attributes"/>
         <ref name="att.ineume.vis.attributes"/>
         <ref name="att.ineume.ges.attributes"/>
         <ref name="att.ineume.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="syllable">
      <element name="syllable">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Neume notation can be thought of as "neumed text". Therefore, the syllable element provides high-level organization in this repertoire.</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.appLike"/>
               <ref name="model.divLike"/>
               <ref name="model.milestoneLike.music"/>
               <ref name="model.scoreDefLike"/>
               <ref name="model.staffDefLike"/>
               <ref name="model.staffGrpLike"/>
               <ref name="model.annotLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.syllablePart"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="uneume">
      <element name="uneume">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(uninterrupted neume) – A graphically-uninterrupted neume sign. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.eventLike"/>
               <ref name="macro.neumeModifierLike"/>
               <ref name="model.appLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.verseLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.uneume.log.attributes"/>
         <ref name="att.uneume.vis.attributes"/>
         <ref name="att.uneume.ges.attributes"/>
         <ref name="att.uneume.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.common.anl.attributes">
      <ref name="att.alignment.attributes"/>
      <ref name="att.common.anl.attribute.copyof"/>
      <ref name="att.common.anl.attribute.corresp"/>
      <ref name="att.common.anl.attribute.next"/>
      <ref name="att.common.anl.attribute.prev"/>
      <ref name="att.common.anl.attribute.sameas"/>
      <ref name="att.common.anl.attribute.synch"/>
   </define>
   <define name="att.common.anl.attribute.copyof">
      <optional>
         <attribute name="copyof">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to an element of which the current element is a copy.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="copyof-constraint-When_copyof_element_empy">
      <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                xmlns="http://www.tei-c.org/ns/1.0"
                context="mei:*[@copyof]">
                <sch:assert test="count(child::node()) = 0">An element with a copyof attribute
                  cannot have content.</sch:assert>
              </sch:rule>
   </pattern>
   <define name="att.common.anl.attribute.corresp">
      <optional>
         <attribute name="corresp">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to point to other elements that correspond to this one in a generic fashion.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.common.anl.attribute.next">
      <optional>
         <attribute name="next">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to point to the next event(s) in a user-defined collection.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.common.anl.attribute.prev">
      <optional>
         <attribute name="prev">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to the previous event(s) in a user-defined collection.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.common.anl.attribute.sameas">
      <optional>
         <attribute name="sameas">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to an element that is the same as the current element but is not a literal copy of the current element.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.common.anl.attribute.synch">
      <optional>
         <attribute name="synch">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to elements that are synchronous with the current element.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.harmonicfunction.attributes">
      <ref name="att.harmonicfunction.attribute.deg"/>
   </define>
   <define name="att.harmonicfunction.attribute.deg">
      <optional>
         <attribute name="deg">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures relative scale degree information using Humdrum **deg syntax -- an optional indicator of melodic approach (^ = ascending approach, v = descending approach), a scale degree value (1 = tonic ... 7 = leading tone), and an optional indication of chromatic alteration. The amount of chromatic alternation is not indicated.</a:documentation>
            <ref name="data.SCALEDEGREE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.intervalharmonic.attributes">
      <ref name="att.intervalharmonic.attribute.inth"/>
   </define>
   <define name="att.intervalharmonic.attribute.inth">
      <optional>
         <attribute name="inth">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the harmonic interval between this note and other pitches occurring at the same time.</a:documentation>
            <data type="NMTOKENS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.intervallicdesc.attributes">
      <ref name="att.intervalharmonic.attributes"/>
      <ref name="att.intervallicdesc.attribute.intm"/>
   </define>
   <define name="att.intervallicdesc.attribute.intm">
      <optional>
         <attribute name="intm">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the melodic interval from the previous pitch. The value may be a general directional indication (u, d, s), an indication of diatonic interval direction, quality, and size, or a precise numeric value in half steps.</a:documentation>
            <ref name="data.INTERVAL.AMOUNT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.melodicfunction.attributes">
      <ref name="att.melodicfunction.attribute.mfunc"/>
   </define>
   <define name="att.melodicfunction.attribute.mfunc">
      <optional>
         <attribute name="mfunc">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes melodic function using Humdrum **embel syntax.</a:documentation>
            <ref name="data.MELODICFUNCTION"/>
         </attribute>
      </optional>
   </define>
   <define name="att.pitchclass.attributes">
      <ref name="att.pitchclass.attribute.pclass"/>
   </define>
   <define name="att.pitchclass.attribute.pclass">
      <optional>
         <attribute name="pclass">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds pitch class information.</a:documentation>
            <ref name="data.PITCHCLASS"/>
         </attribute>
      </optional>
   </define>
   <define name="att.solfa.attributes">
      <ref name="att.solfa.attribute.psolfa"/>
   </define>
   <define name="att.solfa.attribute.psolfa">
      <optional>
         <attribute name="psolfa">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains sol-fa designation, e.g., do, re, mi, etc., in either a fixed or movable Do system.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.mordent.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.mordent.ges.attributes">
      <empty/>
   </define>
   <define name="att.mordent.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.ornamentaccid.attributes"/>
      <ref name="att.mordent.log.attribute.form"/>
      <ref name="att.mordent.log.attribute.long"/>
   </define>
   <define name="att.mordent.log.attribute.form">
      <optional>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Traditionally, the 'normal' mordent is written as a short wavy line with a vertical line through it and the inverted mordent is written without the vertical line. However, the meaning of these signs is sometimes reversed. See Read, p. 245-246. Another attribute in the visual domain would be necessary in order to be completely explicit about which visual symbol is actually to be rendered.</a:documentation>
            <choice>
               <value>inv</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">inverted mordent, e.g., performed as the principal note, followed by its upper neighbor, with a return to the principal note.</a:documentation>
               <value>norm</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">"normal" mordent, e.g., performed as the written note, followed by its lower neighbor, with a return to the written note.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.mordent.log.attribute.long">
      <optional>
         <attribute name="long">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">When the long attribute is set to 'yes', a double or long mordent, consisting of 5 notes, is indicated.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.mordent.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
   </define>
   <define name="att.ornam.attributes">
      <ref name="att.ornam.attribute.ornam"/>
   </define>
   <define name="att.ornam.attribute.ornam">
      <optional>
         <attribute name="ornam">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that this element has an attached ornament. If visual information about the ornament is needed, then one of the elements that represents an ornament (mordent, trill, or turn) should be employed.</a:documentation>
            <ref name="data.ORNAMS.cmn"/>
         </attribute>
      </optional>
   </define>
   <define name="att.ornamentaccid.attributes">
      <ref name="att.ornamentaccid.attribute.accidupper"/>
      <ref name="att.ornamentaccid.attribute.accidlower"/>
   </define>
   <define name="att.ornamentaccid.attribute.accidupper">
      <optional>
         <attribute name="accidupper">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the written accidental associated with an upper neighboring note.</a:documentation>
            <ref name="data.ACCIDENTAL.EXPLICIT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.ornamentaccid.attribute.accidlower">
      <optional>
         <attribute name="accidlower">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the written accidental associated with a lower neighboring note.</a:documentation>
            <ref name="data.ACCIDENTAL.EXPLICIT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.trill.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.trill.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.trill.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.ornamentaccid.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
   </define>
   <define name="att.trill.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.ho.attributes"/>
      <ref name="att.visualoffset2.to.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="att.turn.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.turn.ges.attributes">
      <empty/>
   </define>
   <define name="att.turn.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.ornamentaccid.attributes"/>
      <ref name="att.startid.attributes"/>
      <ref name="att.turn.log.attribute.delayed"/>
      <ref name="att.turn.log.attribute.form"/>
   </define>
   <define name="att.turn.log.attribute.delayed">
      <optional>
         <attribute name="delayed">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">When the delayed attribute is set to 'true', the turn begins on the second half of the beat. See Read, p. 246.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.turn.log.attribute.form">
      <optional>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the style of the turn.</a:documentation>
            <choice>
               <value>inv</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">inverted turn, e.g., begins on the note below the written note.</a:documentation>
               <value>norm</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">"normal" turn, e.g., begins on the note above the written note.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.turn.vis.attributes">
      <ref name="att.color.attributes"/>
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="model.ornamentLike.cmn">
      <choice>
         <ref name="mordent"/>
         <ref name="trill"/>
         <ref name="turn"/>
      </choice>
   </define>
   <define name="model.ornamentLike.cmn_alternation">
      <choice>
         <ref name="mordent"/>
         <ref name="trill"/>
         <ref name="turn"/>
      </choice>
   </define>
   <define name="model.ornamentLike.cmn_sequence">
      <ref name="mordent"/>
      <ref name="trill"/>
      <ref name="turn"/>
   </define>
   <define name="model.ornamentLike.cmn_sequenceOptional">
      <optional>
         <ref name="mordent"/>
      </optional>
      <optional>
         <ref name="trill"/>
      </optional>
      <optional>
         <ref name="turn"/>
      </optional>
   </define>
   <define name="model.ornamentLike.cmn_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="mordent"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="trill"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="turn"/>
      </zeroOrMore>
   </define>
   <define name="model.ornamentLike.cmn_sequenceRepeatable">
      <oneOrMore>
         <ref name="mordent"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="trill"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="turn"/>
      </oneOrMore>
   </define>
   <define name="mordent">
      <element name="mordent">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An ornament indicating rapid alternation of the main note with a secondary note, usually a step below, but sometimes a step above. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="mordent-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:mordent">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.mordent.log.attributes"/>
         <ref name="att.mordent.vis.attributes"/>
         <ref name="att.mordent.ges.attributes"/>
         <ref name="att.mordent.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="trill">
      <element name="trill">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Rapid alternation of a note with one (usually at the interval of a second) above. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="trill-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:trill">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.trill.log.attributes"/>
         <ref name="att.trill.vis.attributes"/>
         <ref name="att.trill.ges.attributes"/>
         <ref name="att.trill.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="turn">
      <element name="turn">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An ornament consisting of four notes — the upper neighbor of the written note, the written note, the lower neighbor, and the written note. </a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="turn-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:turn">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real">Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.turn.log.attributes"/>
         <ref name="att.turn.vis.attributes"/>
         <ref name="att.turn.ges.attributes"/>
         <ref name="att.turn.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="meiCorpus">
      <element name="meiCorpus">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(MEI corpus) – A group of related MEI documents, consisting of a header for the group, and one or more &lt;mei&gt; elements, each with its own complete header. </a:documentation>
         <ref name="meiHead"/>
         <zeroOrMore>
            <ref name="mei"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.meiversion.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.crit.attributes">
      <ref name="att.handident.attributes"/>
      <ref name="att.responsibility.attributes"/>
      <ref name="att.sequence.attributes"/>
      <ref name="att.source.attributes"/>
      <ref name="att.crit.attribute.cause"/>
   </define>
   <define name="att.crit.attribute.cause">
      <optional>
         <attribute name="cause">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the cause for the variant reading, according to any appropriate typology of possible origins.</a:documentation>
            <data type="NMTOKEN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.rdg.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.rdg.ges.attributes">
      <empty/>
   </define>
   <define name="att.rdg.log.attributes">
      <empty/>
   </define>
   <define name="att.rdg.vis.attributes">
      <empty/>
   </define>
   <define name="att.source.attributes">
      <ref name="att.source.attribute.source"/>
   </define>
   <define name="att.source.attribute.source">
      <optional>
         <attribute name="source">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a list of one or more pointers indicating the sources which attest to a given reading. Each value should correspond to the ID of a &lt;source&gt; element located in the document header.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="model.appLike">
      <choice>
         <ref name="app"/>
      </choice>
   </define>
   <define name="model.rdgPart.critapp">
      <choice>
         <ref name="model.controleventLike"/>
         <ref name="model.eventLike"/>
         <ref name="model.layerLike"/>
         <ref name="model.noteModifierLike"/>
         <ref name="model.eventLike.measureFilling"/>
         <ref name="model.eventLike.neumes"/>
         <ref name="model.syllableLike"/>
         <ref name="model.lyricsLike"/>
         <ref name="model.sylLike"/>
         <ref name="model.verseLike"/>
         <ref name="model.midiLike"/>
      </choice>
   </define>
   <define name="app">
      <element name="app">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(apparatus) – Contains one or more alternative encodings. </a:documentation>
         <optional>
            <ref name="lem"/>
         </optional>
         <ref name="rdg"/>
         <zeroOrMore>
            <ref name="rdg"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="lem">
      <element name="lem">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(lemma) – Contains the lemma, or base text, of a textual variation. </a:documentation>
         <zeroOrMore>
            <ref name="expansion"/>
         </zeroOrMore>
         <zeroOrMore>
            <choice>
               <ref name="model.appLike"/>
               <ref name="model.divLike"/>
               <ref name="model.milestoneLike.music"/>
               <ref name="model.staffGrpLike"/>
               <ref name="model.annotLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.rdgPart.critapp"/>
               <ref name="model.sectionPart"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.crit.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.rdg.anl.attributes"/>
         <ref name="att.rdg.ges.attributes"/>
         <ref name="att.rdg.log.attributes"/>
         <ref name="att.rdg.vis.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="rdg">
      <element name="rdg">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reading) – Contains a single reading within a textual variation. </a:documentation>
         <zeroOrMore>
            <ref name="expansion"/>
         </zeroOrMore>
         <zeroOrMore>
            <choice>
               <ref name="model.appLike"/>
               <ref name="model.divLike"/>
               <ref name="model.milestoneLike.music"/>
               <ref name="model.staffGrpLike"/>
               <ref name="model.annotLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.rdgPart.critapp"/>
               <ref name="model.sectionPart"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.crit.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.rdg.anl.attributes"/>
         <ref name="att.rdg.ges.attributes"/>
         <ref name="att.rdg.log.attributes"/>
         <ref name="att.rdg.vis.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.agentident.attributes">
      <ref name="att.agentident.attribute.agent"/>
   </define>
   <define name="att.agentident.attribute.agent">
      <optional>
         <attribute name="agent">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the causative agent of damage, illegibility, or other loss of original text.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.edit.attributes">
      <ref name="att.responsibility.attributes"/>
      <ref name="att.source.attributes"/>
      <ref name="att.edit.attribute.cert"/>
      <ref name="att.edit.attribute.evidence"/>
   </define>
   <define name="att.edit.attribute.cert">
      <optional>
         <attribute name="cert">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the degree of certainty or precision associated with a feature.</a:documentation>
            <ref name="data.CERTAINTY"/>
         </attribute>
      </optional>
   </define>
   <define name="att.edit.attribute.evidence">
      <optional>
         <attribute name="evidence">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the nature of the evidence supporting the reliability or accuracy of the intervention or interpretation. Suggested values include: 'internal', 'external', 'conjecture'.</a:documentation>
            <data type="NMTOKEN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.extent.attributes">
      <ref name="att.extent.attribute.extent"/>
   </define>
   <define name="att.extent.attribute.extent">
      <optional>
         <attribute name="extent">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the extent of damage or omission.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.reasonident.attributes">
      <ref name="att.reasonident.attribute.reason"/>
   </define>
   <define name="att.reasonident.attribute.reason">
      <optional>
         <attribute name="reason">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds a short phrase describing the reason for missing textual material (gap), why material is supplied (supplied), or why transcription is difficult (unclear).</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.trans.attributes">
      <ref name="att.handident.attributes"/>
      <ref name="att.sequence.attributes"/>
   </define>
   <define name="model.choicePart">
      <choice>
         <ref name="model.editorialLike"/>
         <ref name="model.editLike"/>
         <ref name="corr"/>
         <ref name="orig"/>
         <ref name="reg"/>
         <ref name="sic"/>
         <ref name="unclear"/>
      </choice>
   </define>
   <define name="model.editLike">
      <choice>
         <ref name="choice"/>
         <ref name="subst"/>
      </choice>
   </define>
   <define name="model.transcriptionLike">
      <choice>
         <ref name="add"/>
         <ref name="corr"/>
         <ref name="damage"/>
         <ref name="del"/>
         <ref name="gap"/>
         <ref name="handShift"/>
         <ref name="orig"/>
         <ref name="reg"/>
         <ref name="restore"/>
         <ref name="sic"/>
         <ref name="supplied"/>
         <ref name="unclear"/>
      </choice>
   </define>
   <define name="abbr">
      <element name="abbr">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(abbreviation) – A generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.trans.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="expan">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the expansion of a text abbreviation.</a:documentation>
               <text/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="add">
      <element name="add">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(addition) – Marks an addition to the text. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.trans.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="choice">
      <element name="choice">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Groups a number of alternative encodings for the same point in a text. </a:documentation>
         <zeroOrMore>
            <ref name="model.choicePart"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="corr">
      <element name="corr">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(correction) – Contains the correct form of an apparent erroneous passage. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.trans.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="damage">
      <element name="damage">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains an area of damage to the physical medium.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.agentident.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.extent.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.handident.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="degree">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the degree of damage.</a:documentation>
               <text/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="del">
      <element name="del">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(deletion) – Contains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.trans.attributes"/>
         <optional>
            <attribute name="rend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an indication of how the deletion should be rendered.</a:documentation>
               <text/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="expan">
      <element name="expan">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(expansion) – Contains the expansion of an abbreviation.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.trans.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="abbr">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">captures the unabbreviated form of the text.</a:documentation>
               <text/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="gap">
      <element name="gap">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates a point where material has been omitted in a transcription, whether as part of sampling practice or for editorial reasons described in the MEI header. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.extent.attributes"/>
         <ref name="att.handident.attributes"/>
         <ref name="att.reasonident.attributes"/>
         <ref name="att.measurement.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="handShift">
      <element name="handShift">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Marks the beginning of a passage written in a new hand, or of a change in the scribe, writing style, ink or character of the document hand. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.medium.attributes"/>
         <optional>
            <attribute name="character">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the character of the new hand.</a:documentation>
               <text/>
            </attribute>
         </optional>
         <optional>
            <attribute name="new">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the new hand. The value must contain the ID of a hand element given elsewhere in the document.</a:documentation>
               <ref name="data.URI"/>
            </attribute>
         </optional>
         <optional>
            <attribute name="old">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the old hand. The value must contain the ID of a hand element given elsewhere in the document.</a:documentation>
               <ref name="data.URI"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="orig">
      <element name="orig">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(original) – Contains material which is marked as following the original, rather than being normalized or corrected. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="reg">
      <element name="reg">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(regularization) – Contains material which has been regularized or normalized in some sense. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.authorized.attributes"/>
         <ref name="att.edit.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="restore">
      <element name="restore">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates restoration of material to an earlier state by cancellation of an editorial or authorial marking or instruction. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.trans.attributes"/>
         <ref name="att.typed.attributes"/>
         <optional>
            <attribute name="desc">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a description of the means of restoration.</a:documentation>
               <text/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="sic">
      <element name="sic">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains apparently incorrect or inaccurate material. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="subst">
      <element name="subst">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(substitution) – Groups transcriptional elements when the combination is to be regarded as a single intervention in the text. </a:documentation>
         <ref name="model.transcriptionLike"/>
         <oneOrMore>
            <ref name="model.transcriptionLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.trans.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="supplied">
      <element name="supplied">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains material supplied by the transcriber or editor in place of text which cannot be read, either because of physical damage or loss in the original or because it is illegible for any reason. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.agentident.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.reasonident.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="unclear">
      <element name="unclear">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains material that cannot be transcribed with certainty because it is illegible or inaudible in the source. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.eventLike"/>
               <ref name="model.eventLike.neumes"/>
               <ref name="model.controleventLike"/>
               <ref name="model.lyricsLike"/>
               <ref name="model.midiLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.eventLike.measureFilling"/>
               <ref name="model.noteModifierLike"/>
               <ref name="model.sectionLike"/>
               <ref name="model.measureLike"/>
               <ref name="model.staffLike"/>
               <ref name="model.layerLike"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.fLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.agentident.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.handident.attributes"/>
         <ref name="att.reasonident.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.facsimile.attributes">
      <ref name="att.facsimile.attribute.facs"/>
   </define>
   <define name="att.facsimile.attribute.facs">
      <optional>
         <attribute name="facs">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">permits the current element to reference a facsimile image or image zone which corresponds to it.</a:documentation>
            <ref name="data.URIS"/>
         </attribute>
      </optional>
   </define>
   <define name="facsimile">
      <element name="facsimile">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains a representation of some written source in the form of a set of images rather than as transcribed or encoded text. </a:documentation>
         <zeroOrMore>
            <ref name="surface"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="surface">
      <element name="surface">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Defines a writing surface in terms of a rectangular coordinate space, optionally grouping one or more graphic representations of that space, and rectangular zones of interest within it. </a:documentation>
         <zeroOrMore>
            <ref name="model.figDescLike"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="model.graphicLike"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="zone"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.coordinated.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.startid.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="zone">
      <element name="zone">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Defines an area of interest within a surface or graphic file. </a:documentation>
         <zeroOrMore>
            <ref name="model.figDescLike"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="model.graphicLike"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.coordinated.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.tabular.attributes">
      <ref name="att.tabular.attribute.colspan"/>
      <ref name="att.tabular.attribute.rowspan"/>
   </define>
   <define name="att.tabular.attribute.colspan">
      <optional>
         <attribute name="colspan">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the number of columns spanned by this cell.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.tabular.attribute.rowspan">
      <optional>
         <attribute name="rowspan">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the number of rows spanned by this cell.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="model.figDescLike">
      <choice>
         <ref name="figDesc"/>
      </choice>
   </define>
   <define name="model.figureLike">
      <choice>
         <ref name="fig"/>
      </choice>
   </define>
   <define name="model.figureLike_alternation">
      <choice>
         <ref name="fig"/>
      </choice>
   </define>
   <define name="model.figureLike_sequence">
      <ref name="fig"/>
   </define>
   <define name="model.figureLike_sequenceOptional">
      <optional>
         <ref name="fig"/>
      </optional>
   </define>
   <define name="model.figureLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="fig"/>
      </zeroOrMore>
   </define>
   <define name="model.figureLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="fig"/>
      </oneOrMore>
   </define>
   <define name="model.graphicLike">
      <choice>
         <ref name="graphic"/>
      </choice>
   </define>
   <define name="model.tableLike">
      <choice>
         <ref name="table"/>
      </choice>
   </define>
   <define name="model.tableLike_alternation">
      <choice>
         <ref name="table"/>
      </choice>
   </define>
   <define name="model.tableLike_sequence">
      <ref name="table"/>
   </define>
   <define name="model.tableLike_sequenceOptional">
      <optional>
         <ref name="table"/>
      </optional>
   </define>
   <define name="model.tableLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="table"/>
      </zeroOrMore>
   </define>
   <define name="model.tableLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="table"/>
      </oneOrMore>
   </define>
   <define name="fig">
      <element name="fig">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(figure) – groups elements representing or containing graphic information such as an illustration or figure. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.captionLike"/>
               <ref name="figDesc"/>
               <ref name="model.graphicLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.xy.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="figDesc">
      <element name="figDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(figure description) – Contains a brief prose description of the appearance or content of a graphic figure, for use when documenting an image without displaying it. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.annotLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="graphic">
      <element name="graphic">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates the location of an inline graphic, illustration, or figure. </a:documentation>
         <zeroOrMore>
            <ref name="zone"/>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="graphic-constraint-graphic_child_of_zone">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:zone/mei:graphic">
               <sch:assert test="count(mei:*) = 0">graphic child of zone cannot have
              children</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.internetmedia.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.measurement.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.width.attributes"/>
         <optional>
            <attribute name="height">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">measurement of the vertical dimension of an image.</a:documentation>
               <data type="positiveInteger"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="table">
      <element name="table">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains text displayed in tabular form. </a:documentation>
         <optional>
            <ref name="model.captionLike"/>
         </optional>
         <oneOrMore>
            <ref name="tr"/>
         </oneOrMore>
         <optional>
            <ref name="model.captionLike"/>
         </optional>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.xy.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="td">
      <element name="td">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(table data) – Designates a table cell that contains data as opposed to a cell that contains column or row heading information. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.xy.attributes"/>
         <ref name="att.tabular.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="th">
      <element name="th">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(table header) – Designates a table cell containing column or row heading information as opposed to one containing data. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.xy.attributes"/>
         <ref name="att.tabular.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="tr">
      <element name="tr">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(table row) – A formatting element that contains one or more cells (intersection of a row and a column) in a &lt;table&gt;. </a:documentation>
         <oneOrMore>
            <choice>
               <ref name="th"/>
               <ref name="td"/>
            </choice>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.xy.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.rel.attributes">
      <ref name="att.rel.attribute.rel"/>
   </define>
   <define name="att.rel.attribute.rel">
      <attribute name="rel">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Describes the relationship between the element's parent (subject) and the object pointed at. The values follow FRBR (see http://www.ifla.org/files/cataloguing/frbr/frbr_2008.pdf).</a:documentation>
         <choice>
            <value>hasSuccessor</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isSuccessorOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasSupplement</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isSupplementOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasComplement</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isComplementOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasSummarization</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isSummarizationOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasAdaptation</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isAdaptationOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasTransformation</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isTransformationOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasImitation</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isImitationOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasPart</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isPartOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasReproduction</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isReproductionOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasAbridgement</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isAbridgementOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasRevision</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isRevisionOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasTranslation</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isTranslationOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasArrangement</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isArrangementOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasAlternate</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isAlternateOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasReconfiguration</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isReconfigurationOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasRealization</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isRealizationOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasEmbodiment</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isEmbodimentOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>hasExemplar</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>isExemplarOf</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         </choice>
      </attribute>
   </define>
   <define name="model.expressionLike">
      <choice>
         <ref name="expression"/>
      </choice>
   </define>
   <define name="model.itemLike">
      <choice>
         <ref name="item"/>
      </choice>
   </define>
   <define name="model.manifestationLike">
      <choice>
         <ref name="source"/>
      </choice>
   </define>
   <define name="model.relationLike">
      <choice>
         <ref name="relation"/>
      </choice>
   </define>
   <define name="componentGrp">
      <element name="componentGrp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(component group) – The child elements of this element are treated as parts of the elements header. Although this is an implicit way of expressing FRBR's hasPart / isPartOf -relationships, it avoids this terminology in order to prevent confusion with musical terminology. All children of a component must be the same type as its parent: works within work, items in item, etc.</a:documentation>
         <choice>
            <zeroOrMore>
               <ref name="model.workLike"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.expressionLike"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.manifestationLike"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="model.itemLike"/>
            </zeroOrMore>
         </choice>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="componentGrp-constraint-checkComponentGrp">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:componentGrp">
               <sch:assert test="every $i in ./child::mei:* satisfies $i/local-name() eq               ./parent::mei:*/local-name()"> Only child elements of the same name as the parent of
              the componentGrp-element are allowed. </sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="expression">
      <element name="expression">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Intellectual or artistic realization of a work.</a:documentation>
         <zeroOrMore>
            <ref name="model.identifierLike"/>
         </zeroOrMore>
         <optional>
            <ref name="titleStmt"/>
         </optional>
         <zeroOrMore>
            <ref name="model.workIdent"/>
         </zeroOrMore>
         <optional>
            <ref name="otherChar"/>
         </optional>
         <optional>
            <ref name="history"/>
         </optional>
         <optional>
            <ref name="langUsage"/>
         </optional>
         <optional>
            <ref name="perfMedium"/>
         </optional>
         <optional>
            <ref name="extent"/>
         </optional>
         <optional>
            <ref name="scoreFormat"/>
         </optional>
         <optional>
            <ref name="contents"/>
         </optional>
         <optional>
            <ref name="context"/>
         </optional>
         <zeroOrMore>
            <ref name="biblList"/>
         </zeroOrMore>
         <optional>
            <ref name="notesStmt"/>
         </optional>
         <optional>
            <ref name="classification"/>
         </optional>
         <optional>
            <ref name="componentGrp"/>
         </optional>
         <optional>
            <ref name="relationList"/>
         </optional>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="expressionList">
      <element name="expressionList">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Gathers bibliographic expression entities.</a:documentation>
         <zeroOrMore>
            <ref name="model.expressionLike"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="item">
      <element name="item">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Single instance or exemplar of a source/manifestation.</a:documentation>
         <zeroOrMore>
            <ref name="model.identifierLike"/>
         </zeroOrMore>
         <optional>
            <ref name="macro.availabilityPart"/>
         </optional>
         <optional>
            <ref name="physDesc"/>
         </optional>
         <optional>
            <ref name="physLoc"/>
         </optional>
         <optional>
            <ref name="notesStmt"/>
         </optional>
         <optional>
            <ref name="classification"/>
         </optional>
         <optional>
            <ref name="componentGrp"/>
         </optional>
         <optional>
            <ref name="relationList"/>
         </optional>
         <ref name="att.datapointing.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.bibl.attributes"/>
         <ref name="att.pointing.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="itemList">
      <element name="itemList">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Gathers bibliographic item entities.</a:documentation>
         <zeroOrMore>
            <ref name="model.itemLike"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="relation">
      <element name="relation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A relation element describes the relationship between its parent and the object referenced by the relation element's target attribute. </a:documentation>
         <empty/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.rel.attributes"/>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="relationList">
      <element name="relationList">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Gathers bibliographic relation elements.</a:documentation>
         <zeroOrMore>
            <ref name="model.relationLike"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.fretlocation.attributes">
      <ref name="att.fretlocation.attribute.fret"/>
   </define>
   <define name="att.fretlocation.attribute.fret">
      <optional>
         <attribute name="fret">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the location at which a string should be stopped against a fret.</a:documentation>
            <ref name="data.FRET"/>
         </attribute>
      </optional>
   </define>
   <define name="att.harm.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.harm.ges.attributes">
      <ref name="att.duration.performed.attributes"/>
   </define>
   <define name="att.harm.log.attributes">
      <ref name="att.controlevent.attributes"/>
      <ref name="att.augmentdots.attributes"/>
      <ref name="att.duration.additive.attributes"/>
      <ref name="att.startendid.attributes"/>
      <ref name="att.timestamp2.musical.attributes"/>
      <ref name="att.harm.log.attribute.chordref"/>
   </define>
   <define name="att.harm.log.attribute.chordref">
      <optional>
         <attribute name="chordref">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a reference to a &lt;chordDef&gt; element elsewhere in the document.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="att.harm.vis.attributes">
      <ref name="att.placement.attributes"/>
      <ref name="att.visualoffset.attributes"/>
      <ref name="att.visualoffset2.ho.attributes"/>
      <ref name="att.visualoffset2.to.attributes"/>
      <ref name="att.xy.attributes"/>
      <ref name="att.harm.vis.attribute.extender"/>
      <ref name="att.harm.vis.attribute.rendgrid"/>
   </define>
   <define name="att.harm.vis.attribute.extender">
      <optional>
         <attribute name="extender">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the presence of an extension symbol, typically a dash or underscore, drawn from the end of the harmonic indication to the point indicated by the dur attribute.</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.harm.vis.attribute.rendgrid">
      <optional>
         <attribute name="rendgrid">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes how the harmonic indication should be rendered.</a:documentation>
            <choice>
               <value>grid</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">chord tablature grid.</a:documentation>
               <value>gridtext</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">chord tablature grid and the element's textual content.</a:documentation>
               <value>text</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">textual content of the element.</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="model.chordTableLike">
      <choice>
         <ref name="chordTable"/>
      </choice>
   </define>
   <define name="model.controleventLike.harmony">
      <choice>
         <ref name="model.harmLike"/>
      </choice>
   </define>
   <define name="model.controleventLike.harmony_alternation">
      <choice>
         <ref name="model.harmLike_alternation"/>
      </choice>
   </define>
   <define name="model.controleventLike.harmony_sequence">
      <ref name="model.harmLike_sequence"/>
   </define>
   <define name="model.controleventLike.harmony_sequenceOptional">
      <optional>
         <ref name="model.harmLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.controleventLike.harmony_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.harmLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.controleventLike.harmony_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.harmLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.figbassLike">
      <choice>
         <ref name="fb"/>
      </choice>
   </define>
   <define name="model.fLike">
      <choice>
         <ref name="f"/>
      </choice>
   </define>
   <define name="model.harmLike">
      <choice>
         <ref name="harm"/>
      </choice>
   </define>
   <define name="model.harmLike_alternation">
      <choice>
         <ref name="harm"/>
      </choice>
   </define>
   <define name="model.harmLike_sequence">
      <ref name="harm"/>
   </define>
   <define name="model.harmLike_sequenceOptional">
      <optional>
         <ref name="harm"/>
      </optional>
   </define>
   <define name="model.harmLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="harm"/>
      </zeroOrMore>
   </define>
   <define name="model.harmLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="harm"/>
      </oneOrMore>
   </define>
   <define name="barre">
      <element name="barre">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An indication of fingering in a chord tablature grid. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.fretlocation.attributes"/>
         <ref name="att.startendid.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="chordDef">
      <element name="chordDef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(chord definition) – Chord tablature definition. </a:documentation>
         <zeroOrMore>
            <ref name="chordMember"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="barre"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <optional>
            <attribute name="pos">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the fret position at which the chord tablature is to be played.</a:documentation>
               <data type="positiveInteger"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="chordMember">
      <element name="chordMember">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An individual pitch in a chord defined by a &lt;chordDef&gt; element. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.accidental.performed.attributes"/>
         <ref name="att.fretlocation.attributes"/>
         <ref name="att.intervalharmonic.attributes"/>
         <ref name="att.pitched.attributes"/>
         <optional>
            <attribute name="fing">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates which finger, if any, should be used to play an individual string. The index, middle, ring, and little fingers are represented by the values 1-4, while 't' is for the thumb. The values 'x' and 'o' indicate muffled and open strings, respectively.</a:documentation>
               <ref name="data.FINGER.FRET"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="chordTable">
      <element name="chordTable">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Chord/tablature look-up table. </a:documentation>
         <oneOrMore>
            <ref name="chordDef"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="f">
      <element name="f">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(figure) – Single element of a figured bass indication.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.altsym.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <optional>
            <attribute name="extender">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the presence of an extension symbol, typically a dash or underscore, drawn from the end of the harmonic indication to the point indicated by the dur attribute.</a:documentation>
               <ref name="data.BOOLEAN"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="fb">
      <element name="fb">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(figured bass) – Symbols added to a bass line that indicate harmony. Used to improvise a chordal accompaniment. Sometimes called Generalbass, thoroughbass, or basso continuo.</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="model.fLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="harm">
      <element name="harm">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(harmony) – An indication of harmony, e.g., chord names, tablature grids, harmonic analysis, figured bass.</a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.graphicprimitiveLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
               <ref name="model.figbassLike"/>
            </choice>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="harm-constraint-Start-type_attributes_required_on_some_control_events">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:harm">
               <sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real"> Must have one of
              the attributes: startid, tstamp, tstamp.ges or tstamp.real</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.harm.log.attributes"/>
         <ref name="att.harm.vis.attributes"/>
         <ref name="att.harm.ges.attributes"/>
         <ref name="att.harm.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.alignment.attributes">
      <ref name="att.alignment.attribute.when"/>
   </define>
   <define name="att.alignment.attribute.when">
      <optional>
         <attribute name="when">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the point of occurrence of this feature along a time line. Its value must be the ID of a &lt;when&gt; element.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
      </optional>
   </define>
   <define name="model.alignLike">
      <choice>
         <ref name="timeline"/>
      </choice>
   </define>
   <define name="timeline">
      <element name="timeline">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Provides a set of ordered points in time to which musical elements can be linked in order to create a temporal alignment of those elements. </a:documentation>
         <zeroOrMore>
            <ref name="when"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <optional>
            <attribute name="avref">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">holds the identifier of an &lt;avFile&gt; element that references an external digital media file.</a:documentation>
               <ref name="data.URI"/>
            </attribute>
         </optional>
         <attribute name="origin">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">designates the origin of the timeline, i.e. the &lt;when&gt; element associated with the beginning of the timeline.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="when">
      <element name="when">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates a point in time either absolutely (using the absolute attribute), or relative to other elements in the same timeline element (using the interval and since attributes). </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.datapointing.attributes"/>
         <optional>
            <attribute name="absolute">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an absolute value for the time associated with a point on a timeline. This attribute is required for the element designated as the origin by the parent timeline.</a:documentation>
               <ref name="data.ISOTIME"/>
            </attribute>
         </optional>
         <optional>
            <attribute name="interval">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the time interval between this time point and the one designated by the since attribute. This attribute can only be interpreted meaningfully in conjunction with the inttype attribute.</a:documentation>
               <text/>
            </attribute>
         </optional>
         <optional>
            <attribute name="inttype">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the kind of values used in the interval attribute.</a:documentation>
               <choice>
                  <value>byte</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">byte value.</a:documentation>
                  <value>smil</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Synchronized Multimedia Integration Language.</a:documentation>
                  <value>midi</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIDI time code.</a:documentation>
                  <value>smpte-25</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">SMPTE 25 EBU.</a:documentation>
                  <value>smpte-24</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">SMPTE 24 Film Sync.</a:documentation>
                  <value>smpte-df30</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">SMPTE 30 Drop.</a:documentation>
                  <value>smpte-ndf30</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">SMPTE 30 Non-Drop.</a:documentation>
                  <value>smpte-df29.97</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">SMPTE 29.97 Drop.</a:documentation>
                  <value>smpte-ndf29.97</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">SMPTE 29.97 Non-Drop.</a:documentation>
                  <value>tcf</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">AES Time-code character format.</a:documentation>
                  <value>time</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ISO 24-hour time format: HH:MM:SS.ss.</a:documentation>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="since">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the reference point for determining the time of the current when element, which is obtained by adding the interval to the time of the reference point. The value should be the ID of another when element in the same timeline. If the since attribute is omitted and the absolute attribute is not specified, then the reference point is understood to be the immediately preceding when element.</a:documentation>
               <ref name="data.URI"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="att.lyrics.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.lyrics.ges.attributes">
      <empty/>
   </define>
   <define name="att.lyrics.log.attributes">
      <ref name="att.staffident.attributes"/>
      <ref name="att.layerident.attributes"/>
   </define>
   <define name="att.lyrics.vis.attributes">
      <ref name="att.placement.attributes"/>
      <ref name="att.typography.attributes"/>
   </define>
   <define name="att.verse.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.verse.ges.attributes">
      <empty/>
   </define>
   <define name="att.verse.log.attributes">
      <ref name="att.verse.log.attribute.refrain"/>
      <ref name="att.verse.log.attribute.rhythm"/>
   </define>
   <define name="att.verse.log.attribute.refrain">
      <optional>
         <attribute name="refrain">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to indicate a common, usually centered, refrain (Mup User's Guide, p. 44).</a:documentation>
            <ref name="data.BOOLEAN"/>
         </attribute>
      </optional>
   </define>
   <define name="att.verse.log.attribute.rhythm">
      <optional>
         <attribute name="rhythm">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to specify a rhythm for the lyric syllables that differs from that of the notes on the staff, e.g. '4,4,4,4' when the rhythm of the notes is '4.,8,4.,8'.</a:documentation>
            <text/>
         </attribute>
      </optional>
   </define>
   <define name="att.verse.vis.attributes">
      <ref name="att.typography.attributes"/>
      <ref name="att.visualoffset.to.attributes"/>
      <ref name="att.visualoffset.vo.attributes"/>
      <ref name="att.xy.attributes"/>
   </define>
   <define name="model.lyricsLike">
      <choice>
         <ref name="lyrics"/>
      </choice>
   </define>
   <define name="model.lyricsLike_alternation">
      <choice>
         <ref name="lyrics"/>
      </choice>
   </define>
   <define name="model.lyricsLike_sequence">
      <ref name="lyrics"/>
   </define>
   <define name="model.lyricsLike_sequenceOptional">
      <optional>
         <ref name="lyrics"/>
      </optional>
   </define>
   <define name="model.lyricsLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="lyrics"/>
      </zeroOrMore>
   </define>
   <define name="model.lyricsLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="lyrics"/>
      </oneOrMore>
   </define>
   <define name="model.sylLike">
      <choice>
         <ref name="syl"/>
      </choice>
   </define>
   <define name="model.verseLike">
      <choice>
         <ref name="verse"/>
      </choice>
   </define>
   <define name="lyrics">
      <element name="lyrics">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Vocally performed 'text' of a musical composition, such as a song or opera. </a:documentation>
         <oneOrMore>
            <ref name="model.verseLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.lyrics.log.attributes"/>
         <ref name="att.lyrics.vis.attributes"/>
         <ref name="att.lyrics.ges.attributes"/>
         <ref name="att.lyrics.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="verse">
      <element name="verse">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Lyric verse. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="dir"/>
               <ref name="dynam"/>
               <ref name="tempo"/>
               <ref name="space"/>
            </choice>
         </zeroOrMore>
         <oneOrMore>
            <ref name="model.sylLike"/>
         </oneOrMore>
         <zeroOrMore>
            <ref name="model.lbLike"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.verse.log.attributes"/>
         <ref name="att.verse.vis.attributes"/>
         <ref name="att.verse.ges.attributes"/>
         <ref name="att.verse.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.channelized.attributes">
      <ref name="att.channelized.attribute.midi.channel"/>
      <ref name="att.channelized.attribute.midi.duty"/>
      <ref name="att.channelized.attribute.midi.port"/>
      <ref name="att.channelized.attribute.midi.track"/>
   </define>
   <define name="att.channelized.attribute.midi.channel">
      <optional>
         <attribute name="midi.channel">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records a MIDI channel value.</a:documentation>
            <ref name="data.MIDICHANNEL"/>
         </attribute>
      </optional>
   </define>
   <define name="att.channelized.attribute.midi.duty">
      <optional>
         <attribute name="midi.duty">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the 'on' part of the duty cycle as a percentage of a note's duration.</a:documentation>
            <ref name="data.PERCENT"/>
         </attribute>
      </optional>
   </define>
   <define name="att.channelized.attribute.midi.port">
      <optional>
         <attribute name="midi.port">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the MIDI port value.</a:documentation>
            <ref name="data.MIDIVALUE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.channelized.attribute.midi.track">
      <optional>
         <attribute name="midi.track">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the MIDI track.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="att.midi.anl.attributes">
      <ref name="att.common.anl.attributes"/>
   </define>
   <define name="att.midi.event.attributes">
      <ref name="att.staffident.attributes"/>
      <ref name="att.layerident.attributes"/>
      <ref name="att.timestamp.musical.attributes"/>
   </define>
   <define name="att.midi.ges.attributes">
      <empty/>
   </define>
   <define name="att.midi.log.attributes">
      <ref name="att.staffident.attributes"/>
      <ref name="att.layerident.attributes"/>
   </define>
   <define name="att.midi.vis.attributes">
      <empty/>
   </define>
   <define name="att.midiinstrument.attributes">
      <ref name="att.midiinstrument.attribute.midi.instrnum"/>
      <ref name="att.midiinstrument.attribute.midi.instrname"/>
      <ref name="att.midiinstrument.attribute.midi.pan"/>
      <ref name="att.midiinstrument.attribute.midi.volume"/>
   </define>
   <define name="att.midiinstrument.attribute.midi.instrnum">
      <optional>
         <attribute name="midi.instrnum">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the MIDI instrument number.</a:documentation>
            <ref name="data.MIDIVALUE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.midiinstrument.attribute.midi.instrname">
      <optional>
         <attribute name="midi.instrname">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a General MIDI label for the MIDI instrument.</a:documentation>
            <ref name="data.MIDINAMES"/>
         </attribute>
      </optional>
   </define>
   <define name="att.midiinstrument.attribute.midi.pan">
      <optional>
         <attribute name="midi.pan">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the instrument's position in a stereo field. Values of 0 and 1 both pan left, 127 pans right, and 64 pans to the center.</a:documentation>
            <ref name="data.MIDIVALUE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.midiinstrument.attribute.midi.volume">
      <optional>
         <attribute name="midi.volume">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sets the instrument's volume.</a:documentation>
            <ref name="data.MIDIVALUE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.midinumber.attributes">
      <ref name="att.midinumber.attribute.num"/>
   </define>
   <define name="att.midinumber.attribute.num">
      <attribute name="num">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIDI number in the range set by data.MIDIVALUE.</a:documentation>
         <ref name="data.MIDIVALUE"/>
      </attribute>
   </define>
   <define name="att.miditempo.attributes">
      <ref name="att.miditempo.attribute.midi.tempo"/>
   </define>
   <define name="att.miditempo.attribute.midi.tempo">
      <optional>
         <attribute name="midi.tempo">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a MIDI value, that is, the number of quarter notes per minute in the range from 10 to 1000.</a:documentation>
            <ref name="data.MIDITEMPO"/>
         </attribute>
      </optional>
   </define>
   <define name="att.midivalue.attributes">
      <ref name="att.midivalue.attribute.val"/>
   </define>
   <define name="att.midivalue.attribute.val">
      <optional>
         <attribute name="val">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIDI number.</a:documentation>
            <ref name="data.MIDIVALUE"/>
         </attribute>
      </optional>
   </define>
   <define name="att.timebase.attributes">
      <ref name="att.timebase.attribute.ppq"/>
   </define>
   <define name="att.timebase.attribute.ppq">
      <optional>
         <attribute name="ppq">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number of pulses (sometimes referred to as ticks or divisions) per quarter note. Unlike MIDI, MEI permits different values for a score and individual staves.</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
      </optional>
   </define>
   <define name="model.midiLike">
      <choice>
         <ref name="midi"/>
      </choice>
   </define>
   <define name="model.midiLike_alternation">
      <choice>
         <ref name="midi"/>
      </choice>
   </define>
   <define name="model.midiLike_sequence">
      <ref name="midi"/>
   </define>
   <define name="model.midiLike_sequenceOptional">
      <optional>
         <ref name="midi"/>
      </optional>
   </define>
   <define name="model.midiLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="midi"/>
      </zeroOrMore>
   </define>
   <define name="model.midiLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="midi"/>
      </oneOrMore>
   </define>
   <define name="cc">
      <element name="cc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(control change) – MIDI parameter/control change. </a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <ref name="att.midinumber.attributes"/>
         <ref name="att.midivalue.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="chan">
      <element name="chan">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(channel) – MIDI channel assignment.</a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <attribute name="num">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIDI number in the range set by data.MIDICHANNEL.</a:documentation>
            <ref name="data.MIDICHANNEL"/>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="chanPr">
      <element name="chanPr">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(channel pressure) – MIDI channel pressure/after touch. </a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <ref name="att.midinumber.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="cue">
      <element name="cue">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIDI cue point.</a:documentation>
         <text/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="hex">
      <element name="hex">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Arbitrary MIDI data in hexadecimal form. </a:documentation>
         <text/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="instrDef">
      <element name="instrDef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(instrument definition) – MIDI instrument declaration. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.channelized.attributes"/>
         <ref name="att.midiinstrument.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="instrGrp">
      <element name="instrGrp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(instrument group) – Collects MIDI instrument definitions.</a:documentation>
         <oneOrMore>
            <ref name="model.instrDefLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="marker">
      <element name="marker">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIDI marker meta-event.</a:documentation>
         <text/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="metaText">
      <element name="metaText">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIDI text meta-event.</a:documentation>
         <text/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="midi">
      <element name="midi">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Container for elements that contain information useful when generating MIDI output. </a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="cc"/>
               <ref name="chan"/>
               <ref name="chanPr"/>
               <ref name="cue"/>
               <ref name="hex"/>
               <ref name="marker"/>
               <ref name="metaText"/>
               <ref name="noteOff"/>
               <ref name="noteOn"/>
               <ref name="port"/>
               <ref name="prog"/>
               <ref name="seqNum"/>
               <ref name="trkName"/>
               <ref name="vel"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.log.attributes"/>
         <ref name="att.midi.vis.attributes"/>
         <ref name="att.midi.ges.attributes"/>
         <ref name="att.midi.anl.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="noteOff">
      <element name="noteOff">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIDI note-off event.</a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <ref name="att.midinumber.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="noteOn">
      <element name="noteOn">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIDI note-on event.</a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <ref name="att.midinumber.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="port">
      <element name="port">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">MIDI port. </a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <ref name="att.midinumber.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="prog">
      <element name="prog">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(program) – MIDI program change. </a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <ref name="att.midinumber.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="seqNum">
      <element name="seqNum">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(sequence number) – MIDI sequence number.</a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <attribute name="num">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">number in the range 0-65535.</a:documentation>
            <data type="nonNegativeInteger">
               <param name="maxInclusive">65535</param>
            </data>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="trkName">
      <element name="trkName">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(track name) – MIDI track/sequence name.</a:documentation>
         <text/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="vel">
      <element name="vel">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(velocity) – MIDI Note-on/off velocity. </a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.midi.event.attributes"/>
         <ref name="att.midinumber.attributes"/>
         <attribute name="form">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether this is note-on or note-off velocity data.</a:documentation>
            <choice>
               <value>on</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>off</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="model.nameLike.agent">
      <choice>
         <ref name="corpName"/>
         <ref name="persName"/>
      </choice>
   </define>
   <define name="model.nameLike.agent_alternation">
      <choice>
         <ref name="corpName"/>
         <ref name="persName"/>
      </choice>
   </define>
   <define name="model.nameLike.agent_sequence">
      <ref name="corpName"/>
      <ref name="persName"/>
   </define>
   <define name="model.nameLike.agent_sequenceOptional">
      <optional>
         <ref name="corpName"/>
      </optional>
      <optional>
         <ref name="persName"/>
      </optional>
   </define>
   <define name="model.nameLike.agent_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="corpName"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="persName"/>
      </zeroOrMore>
   </define>
   <define name="model.nameLike.agent_sequenceRepeatable">
      <oneOrMore>
         <ref name="corpName"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="persName"/>
      </oneOrMore>
   </define>
   <define name="model.nameLike.geogName">
      <choice>
         <ref name="geogName"/>
      </choice>
   </define>
   <define name="model.nameLike.geogName_alternation">
      <choice>
         <ref name="geogName"/>
      </choice>
   </define>
   <define name="model.nameLike.geogName_sequence">
      <ref name="geogName"/>
   </define>
   <define name="model.nameLike.geogName_sequenceOptional">
      <optional>
         <ref name="geogName"/>
      </optional>
   </define>
   <define name="model.nameLike.geogName_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="geogName"/>
      </zeroOrMore>
   </define>
   <define name="model.nameLike.geogName_sequenceRepeatable">
      <oneOrMore>
         <ref name="geogName"/>
      </oneOrMore>
   </define>
   <define name="model.nameLike.label">
      <choice>
         <ref name="periodName"/>
         <ref name="styleName"/>
      </choice>
   </define>
   <define name="model.nameLike.label_alternation">
      <choice>
         <ref name="periodName"/>
         <ref name="styleName"/>
      </choice>
   </define>
   <define name="model.nameLike.label_sequence">
      <ref name="periodName"/>
      <ref name="styleName"/>
   </define>
   <define name="model.nameLike.label_sequenceOptional">
      <optional>
         <ref name="periodName"/>
      </optional>
      <optional>
         <ref name="styleName"/>
      </optional>
   </define>
   <define name="model.nameLike.label_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="periodName"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="styleName"/>
      </zeroOrMore>
   </define>
   <define name="model.nameLike.label_sequenceRepeatable">
      <oneOrMore>
         <ref name="periodName"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="styleName"/>
      </oneOrMore>
   </define>
   <define name="model.nameLike.place">
      <choice>
         <ref name="model.repositoryLike"/>
         <ref name="model.nameLike.geogName"/>
      </choice>
   </define>
   <define name="model.nameLike.place_alternation">
      <choice>
         <ref name="model.repositoryLike_alternation"/>
         <ref name="model.nameLike.geogName_alternation"/>
      </choice>
   </define>
   <define name="model.nameLike.place_sequence">
      <ref name="model.repositoryLike_sequence"/>
      <ref name="model.nameLike.geogName_sequence"/>
   </define>
   <define name="model.nameLike.place_sequenceOptional">
      <optional>
         <ref name="model.repositoryLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.nameLike.geogName_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.nameLike.place_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.repositoryLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.nameLike.geogName_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.nameLike.place_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.repositoryLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.nameLike.geogName_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="corpName">
      <element name="corpName">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(corporate name) – Identifies an organization or group of people that acts as a single entity. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.name.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="geogName">
      <element name="geogName">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(geographic name) – The proper noun designation for a place, natural feature, or political jurisdiction. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.name.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="periodName">
      <element name="periodName">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(period name) – A label that describes a period of time, such as 'Baroque' or '3rd Style period'. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.name.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="persName">
      <element name="persName">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(personal name) – Designation for an individual, including any or all of that individual's forenames, surnames, honorific titles, and added names </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.datable.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.name.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="styleName">
      <element name="styleName">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(style name) – A label for a characteristic style of writing or performance, such as 'bebop' or 'rock-n-roll'. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.bibl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.edit.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.name.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="avFile">
      <element name="avFile">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(audio/video file) – References an external digital audio or video file. </a:documentation>
         <zeroOrMore>
            <ref name="clip"/>
         </zeroOrMore>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  id="avFile-constraint-avFile_child_of_clip">
            <sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                      xmlns="http://www.tei-c.org/ns/1.0"
                      context="mei:clip/mei:avFile">
               <sch:assert test="count(mei:*) = 0">avFile child of clip cannot have
              children</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.internetmedia.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.pointing.attributes"/>
         <ref name="att.typed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="clip">
      <element name="clip">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Defines a time segment of interest within a recording or within a digital audio or video file. </a:documentation>
         <zeroOrMore>
            <ref name="avFile"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.mediabounds.attributes"/>
         <ref name="att.startid.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="performance">
      <element name="performance">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A presentation of one or more musical works. </a:documentation>
         <zeroOrMore>
            <ref name="recording"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="recording">
      <element name="recording">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A recorded performance. </a:documentation>
         <zeroOrMore>
            <ref name="avFile"/>
         </zeroOrMore>
         <zeroOrMore>
            <ref name="clip"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.mediabounds.attributes"/>
         <ref name="att.startid.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="model.locrefLike">
      <choice>
         <ref name="ptr"/>
         <ref name="ref"/>
      </choice>
   </define>
   <define name="model.locrefLike_alternation">
      <choice>
         <ref name="ptr"/>
         <ref name="ref"/>
      </choice>
   </define>
   <define name="model.locrefLike_sequence">
      <ref name="ptr"/>
      <ref name="ref"/>
   </define>
   <define name="model.locrefLike_sequenceOptional">
      <optional>
         <ref name="ptr"/>
      </optional>
      <optional>
         <ref name="ref"/>
      </optional>
   </define>
   <define name="model.locrefLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="ptr"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="ref"/>
      </zeroOrMore>
   </define>
   <define name="model.locrefLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="ptr"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="ref"/>
      </oneOrMore>
   </define>
   <define name="ptr">
      <element name="ptr">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pointer) – Defines a pointer to another location, using only attributes to describe the destination. </a:documentation>
         <empty/>
         <ref name="att.common.attributes"/>
         <ref name="att.internetmedia.attributes"/>
         <ref name="att.pointing.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="ref">
      <element name="ref">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference) – Defines a reference to another location that may contain text and sub-elements to describe the destination. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.internetmedia.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.pointing.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="att.note.ges.tablature.attributes">
      <ref name="att.note.ges.tablature.attribute.tab.fret"/>
      <ref name="att.note.ges.tablature.attribute.tab.string"/>
   </define>
   <define name="att.note.ges.tablature.attribute.tab.fret">
      <optional>
         <attribute name="tab.fret">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records the fret at which a string should be stopped.</a:documentation>
            <ref name="data.FRETNUMBER"/>
         </attribute>
      </optional>
   </define>
   <define name="att.note.ges.tablature.attribute.tab.string">
      <optional>
         <attribute name="tab.string">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">records which string is to be played.</a:documentation>
            <ref name="data.STRINGNUMBER"/>
         </attribute>
      </optional>
   </define>
   <define name="att.staffDef.ges.tablature.attributes">
      <ref name="att.staffDef.ges.tablature.attribute.tab.strings"/>
   </define>
   <define name="att.staffDef.ges.tablature.attribute.tab.strings">
      <optional>
         <attribute name="tab.strings">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a *written* pitch and octave for each open string.</a:documentation>
            <list>
               <oneOrMore>
                  <data type="token">
                     <param name="pattern">[a-g][\-#fs]?[0-9]</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="model.backLike">
      <choice>
         <ref name="back"/>
      </choice>
   </define>
   <define name="model.divLike">
      <choice>
         <ref name="div"/>
      </choice>
   </define>
   <define name="model.frontLike">
      <choice>
         <ref name="front"/>
      </choice>
   </define>
   <define name="model.headLike">
      <choice>
         <ref name="head"/>
      </choice>
   </define>
   <define name="model.lgLike">
      <choice>
         <ref name="lg"/>
      </choice>
   </define>
   <define name="model.lgLike_alternation">
      <choice>
         <ref name="lg"/>
      </choice>
   </define>
   <define name="model.lgLike_sequence">
      <ref name="lg"/>
   </define>
   <define name="model.lgLike_sequenceOptional">
      <optional>
         <ref name="lg"/>
      </optional>
   </define>
   <define name="model.lgLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="lg"/>
      </zeroOrMore>
   </define>
   <define name="model.lgLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="lg"/>
      </oneOrMore>
   </define>
   <define name="model.listLike">
      <choice>
         <ref name="biblList"/>
         <ref name="castList"/>
         <ref name="list"/>
      </choice>
   </define>
   <define name="model.listLike_alternation">
      <choice>
         <ref name="biblList"/>
         <ref name="castList"/>
         <ref name="list"/>
      </choice>
   </define>
   <define name="model.listLike_sequence">
      <ref name="biblList"/>
      <ref name="castList"/>
      <ref name="list"/>
   </define>
   <define name="model.listLike_sequenceOptional">
      <optional>
         <ref name="biblList"/>
      </optional>
      <optional>
         <ref name="castList"/>
      </optional>
      <optional>
         <ref name="list"/>
      </optional>
   </define>
   <define name="model.listLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="biblList"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="castList"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="list"/>
      </zeroOrMore>
   </define>
   <define name="model.listLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="biblList"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="castList"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="list"/>
      </oneOrMore>
   </define>
   <define name="model.lLike">
      <choice>
         <ref name="l"/>
      </choice>
   </define>
   <define name="model.quoteLike">
      <choice>
         <ref name="quote"/>
      </choice>
   </define>
   <define name="model.quoteLike_alternation">
      <choice>
         <ref name="quote"/>
      </choice>
   </define>
   <define name="model.quoteLike_sequence">
      <ref name="quote"/>
   </define>
   <define name="model.quoteLike_sequenceOptional">
      <optional>
         <ref name="quote"/>
      </optional>
   </define>
   <define name="model.quoteLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="quote"/>
      </zeroOrMore>
   </define>
   <define name="model.quoteLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="quote"/>
      </oneOrMore>
   </define>
   <define name="back">
      <element name="back">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(back matter) – Contains any appendixes, advertisements, indexes, etc. following the main body of a musical text. </a:documentation>
         <zeroOrMore>
            <ref name="model.milestoneLike.text"/>
         </zeroOrMore>
         <oneOrMore>
            <choice>
               <ref name="model.divLike"/>
               <ref name="model.frontPart"/>
            </choice>
         </oneOrMore>
         <zeroOrMore>
            <ref name="model.milestoneLike.text"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="div">
      <element name="div">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(division) – Major structural division of text, such as a preface, chapter or section. </a:documentation>
         <zeroOrMore>
            <ref name="model.milestoneLike.text"/>
         </zeroOrMore>
         <optional>
            <ref name="model.headLike"/>
         </optional>
         <oneOrMore>
            <choice>
               <ref name="model.divLike"/>
               <ref name="model.textcomponentLike"/>
            </choice>
         </oneOrMore>
         <zeroOrMore>
            <ref name="model.milestoneLike.text"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.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) – Bundles prefatory text found before the start of the musical text. </a:documentation>
         <zeroOrMore>
            <ref name="model.milestoneLike.text"/>
         </zeroOrMore>
         <oneOrMore>
            <choice>
               <ref name="model.divLike"/>
               <ref name="model.frontPart"/>
            </choice>
         </oneOrMore>
         <zeroOrMore>
            <ref name="model.milestoneLike.text"/>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.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 heading, for example, the title of a section of text, or the heading of a list. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.xy.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="l">
      <element name="l">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(line of text) – Contains a single line of text within a line group. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="lg">
      <element name="lg">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(line group) – May be used for any section of text that is organized as a group of lines; however, it is most often used for a group of verse lines functioning as a formal unit, e.g. a stanza, refrain, verse paragraph, etc. </a:documentation>
         <optional>
            <ref name="model.headLike"/>
         </optional>
         <choice>
            <ref name="model.lLike"/>
            <ref name="model.lgLike"/>
         </choice>
         <zeroOrMore>
            <choice>
               <ref name="model.lLike"/>
               <ref name="model.lgLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.declaring.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.xy.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="li">
      <element name="li">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list item) – Single item in a &lt;list&gt;. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textcomponentLike"/>
               <ref name="model.textphraseLike"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="list">
      <element name="list">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A formatting element that contains a series of items separated from one another and arranged in a linear, often vertical, sequence. </a:documentation>
         <optional>
            <ref name="model.headLike"/>
         </optional>
         <oneOrMore>
            <ref name="li"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.xy.attributes"/>
         <optional>
            <attribute name="form">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">used to identify and format a list. In a "simple" list, &lt;item&gt;s are not numbered or bulleted. In a "marked" list, the sequence of the list items is not critical, and a bullet, box, dash, or other character is displayed at the start of each &lt;item&gt;. In an "ordered" list, the sequence of the items is important, and each &lt;item&gt; is lettered or numbered. Style sheet functions should be used to specify the mark or numeration system for each &lt;item&gt;.</a:documentation>
               <choice>
                  <value>simple</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">items are not numbered or bulleted</a:documentation>
                  <value>marked</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bullet, box, dash, or other character is displayed before each item</a:documentation>
                  <value>ordered</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">each item is numbered or lettered</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="quote">
      <element name="quote">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(block quote) – A formatting element that designates an extended quotation; that is, a passage attributed to a source external to the text and normally set off from the text by spacing or other typographic distinction. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.paracontentPart"/>
               <ref name="p"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.xy.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="model.graphicprimitiveLike">
      <choice>
         <ref name="anchoredText"/>
         <ref name="curve"/>
         <ref name="line"/>
         <ref name="symbol"/>
      </choice>
   </define>
   <define name="model.symbolTableLike">
      <choice>
         <ref name="symbolTable"/>
      </choice>
   </define>
   <define name="anchoredText">
      <element name="anchoredText">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Container for text that is fixed to a particular location, regardless of changes made to the layout of the measures around it. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
               <ref name="model.editLike"/>
               <ref name="model.transcriptionLike"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.lang.attributes"/>
         <ref name="att.startid.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.visualoffset.attributes"/>
         <ref name="att.xy.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="curve">
      <element name="curve">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A curved line that cannot be represented by a more specific element, such as a &lt;slur&gt;. </a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.color.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.startendid.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.visualoffset.attributes"/>
         <ref name="att.visualoffset2.attributes"/>
         <ref name="att.xy.attributes"/>
         <ref name="att.xy2.attributes"/>
         <ref name="att.curvature.attributes"/>
         <ref name="att.curverend.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="line">
      <element name="line">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A line that cannot be represented by a more specific element. </a:documentation>
         <zeroOrMore>
            <choice>
               <text/>
               <ref name="model.textphraseLike.limited"/>
            </choice>
         </zeroOrMore>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.color.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.startendid.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.visualoffset.attributes"/>
         <ref name="att.visualoffset2.attributes"/>
         <ref name="att.xy.attributes"/>
         <ref name="att.xy2.attributes"/>
         <ref name="att.linerend.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="symbol">
      <element name="symbol">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A reference to a previously defined symbol. </a:documentation>
         <empty/>
         <ref name="att.common.anl.attributes"/>
         <ref name="att.color.attributes"/>
         <ref name="att.common.attributes"/>
         <ref name="att.facsimile.attributes"/>
         <ref name="att.scalable.attributes"/>
         <ref name="att.startid.attributes"/>
         <ref name="att.typed.attributes"/>
         <ref name="att.visualoffset.attributes"/>
         <ref name="att.xy.attributes"/>
         <attribute name="ref">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a reference to a previously-declared user-defined symbol.</a:documentation>
            <ref name="data.URI"/>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="symbolDef">
      <element name="symbolDef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(symbol definition) – Declaration of an individual symbol in a symbolTable.</a:documentation>
         <oneOrMore>
            <ref name="model.graphicprimitiveLike"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <ref name="att.coordinated.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="symbolTable">
      <element name="symbolTable">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains individual, user-defined symbols. </a:documentation>
         <oneOrMore>
            <ref name="symbolDef"/>
         </oneOrMore>
         <ref name="att.common.attributes"/>
         <empty/>
      </element>
   </define>
   <start>
      <choice>
         <ref name="abbr"/>
         <ref name="accessRestrict"/>
         <ref name="accid"/>
         <ref name="acqSource"/>
         <ref name="actor"/>
         <ref name="add"/>
         <ref name="address"/>
         <ref name="addrLine"/>
         <ref name="altId"/>
         <ref name="anchoredText"/>
         <ref name="annot"/>
         <ref name="app"/>
         <ref name="appInfo"/>
         <ref name="application"/>
         <ref name="arpeg"/>
         <ref name="arranger"/>
         <ref name="artic"/>
         <ref name="audience"/>
         <ref name="author"/>
         <ref name="availability"/>
         <ref name="avFile"/>
         <ref name="back"/>
         <ref name="barLine"/>
         <ref name="barre"/>
         <ref name="beam"/>
         <ref name="beamSpan"/>
         <ref name="beatRpt"/>
         <ref name="bend"/>
         <ref name="bibl"/>
         <ref name="biblList"/>
         <ref name="biblScope"/>
         <ref name="body"/>
         <ref name="breath"/>
         <ref name="bTrem"/>
         <ref name="caption"/>
         <ref name="captureMode"/>
         <ref name="carrierForm"/>
         <ref name="castGrp"/>
         <ref name="castItem"/>
         <ref name="castList"/>
         <ref name="cc"/>
         <ref name="chan"/>
         <ref name="change"/>
         <ref name="changeDesc"/>
         <ref name="chanPr"/>
         <ref name="choice"/>
         <ref name="chord"/>
         <ref name="chordDef"/>
         <ref name="chordMember"/>
         <ref name="chordTable"/>
         <ref name="classCode"/>
         <ref name="classification"/>
         <ref name="clef"/>
         <ref name="clefGrp"/>
         <ref name="clip"/>
         <ref name="componentGrp"/>
         <ref name="composer"/>
         <ref name="condition"/>
         <ref name="contentItem"/>
         <ref name="contents"/>
         <ref name="context"/>
         <ref name="corpName"/>
         <ref name="corr"/>
         <ref name="correction"/>
         <ref name="creation"/>
         <ref name="cue"/>
         <ref name="curve"/>
         <ref name="custos"/>
         <ref name="damage"/>
         <ref name="date"/>
         <ref name="del"/>
         <ref name="dimensions"/>
         <ref name="dir"/>
         <ref name="distributor"/>
         <ref name="div"/>
         <ref name="dot"/>
         <ref name="dynam"/>
         <ref name="edition"/>
         <ref name="editionStmt"/>
         <ref name="editor"/>
         <ref name="editorialDecl"/>
         <ref name="encodingDesc"/>
         <ref name="ending"/>
         <ref name="ensemble"/>
         <ref name="event"/>
         <ref name="eventList"/>
         <ref name="exhibHist"/>
         <ref name="expan"/>
         <ref name="expansion"/>
         <ref name="expression"/>
         <ref name="expressionList"/>
         <ref name="extent"/>
         <ref name="f"/>
         <ref name="facsimile"/>
         <ref name="fb"/>
         <ref name="fermata"/>
         <ref name="fig"/>
         <ref name="figDesc"/>
         <ref name="fileChar"/>
         <ref name="fileDesc"/>
         <ref name="fingerprint"/>
         <ref name="front"/>
         <ref name="fTrem"/>
         <ref name="funder"/>
         <ref name="fw"/>
         <ref name="gap"/>
         <ref name="genre"/>
         <ref name="geogName"/>
         <ref name="gliss"/>
         <ref name="graphic"/>
         <ref name="group"/>
         <ref name="grpSym"/>
         <ref name="hairpin"/>
         <ref name="halfmRpt"/>
         <ref name="hand"/>
         <ref name="handList"/>
         <ref name="handShift"/>
         <ref name="harm"/>
         <ref name="harpPedal"/>
         <ref name="head"/>
         <ref name="hex"/>
         <ref name="history"/>
         <ref name="identifier"/>
         <ref name="imprint"/>
         <ref name="incip"/>
         <ref name="incipCode"/>
         <ref name="incipText"/>
         <ref name="ineume"/>
         <ref name="inscription"/>
         <ref name="instrDef"/>
         <ref name="instrGrp"/>
         <ref name="instrumentation"/>
         <ref name="instrVoice"/>
         <ref name="instrVoiceGrp"/>
         <ref name="interpretation"/>
         <ref name="item"/>
         <ref name="itemList"/>
         <ref name="key"/>
         <ref name="keyAccid"/>
         <ref name="keySig"/>
         <ref name="l"/>
         <ref name="label"/>
         <ref name="language"/>
         <ref name="langUsage"/>
         <ref name="layer"/>
         <ref name="layerDef"/>
         <ref name="lb"/>
         <ref name="lem"/>
         <ref name="lg"/>
         <ref name="li"/>
         <ref name="librettist"/>
         <ref name="ligature"/>
         <ref name="line"/>
         <ref name="list"/>
         <ref name="lyricist"/>
         <ref name="lyrics"/>
         <ref name="marker"/>
         <ref name="mdiv"/>
         <ref name="measure"/>
         <ref name="mei"/>
         <ref name="meiCorpus"/>
         <ref name="meiHead"/>
         <ref name="mensur"/>
         <ref name="mensuration"/>
         <ref name="metaText"/>
         <ref name="meter"/>
         <ref name="meterSig"/>
         <ref name="meterSigGrp"/>
         <ref name="midi"/>
         <ref name="mordent"/>
         <ref name="mRest"/>
         <ref name="mRpt"/>
         <ref name="mRpt2"/>
         <ref name="mSpace"/>
         <ref name="multiRest"/>
         <ref name="multiRpt"/>
         <ref name="music"/>
         <ref name="name"/>
         <ref name="normalization"/>
         <ref name="note"/>
         <ref name="noteOff"/>
         <ref name="noteOn"/>
         <ref name="notesStmt"/>
         <ref name="num"/>
         <ref name="octave"/>
         <ref name="orig"/>
         <ref name="ossia"/>
         <ref name="otherChar"/>
         <ref name="p"/>
         <ref name="pad"/>
         <ref name="part"/>
         <ref name="parts"/>
         <ref name="pb"/>
         <ref name="pedal"/>
         <ref name="perfMedium"/>
         <ref name="performance"/>
         <ref name="periodName"/>
         <ref name="persName"/>
         <ref name="pgDesc"/>
         <ref name="pgFoot"/>
         <ref name="pgFoot2"/>
         <ref name="pgHead"/>
         <ref name="pgHead2"/>
         <ref name="phrase"/>
         <ref name="physDesc"/>
         <ref name="physLoc"/>
         <ref name="physMedium"/>
         <ref name="plateNum"/>
         <ref name="playingSpeed"/>
         <ref name="port"/>
         <ref name="price"/>
         <ref name="prog"/>
         <ref name="projectDesc"/>
         <ref name="proport"/>
         <ref name="provenance"/>
         <ref name="ptr"/>
         <ref name="publisher"/>
         <ref name="pubPlace"/>
         <ref name="pubStmt"/>
         <ref name="quote"/>
         <ref name="rdg"/>
         <ref name="recipient"/>
         <ref name="recording"/>
         <ref name="ref"/>
         <ref name="reg"/>
         <ref name="reh"/>
         <ref name="relatedItem"/>
         <ref name="relation"/>
         <ref name="relationList"/>
         <ref name="rend"/>
         <ref name="repository"/>
         <ref name="resp"/>
         <ref name="respStmt"/>
         <ref name="rest"/>
         <ref name="restore"/>
         <ref name="revisionDesc"/>
         <ref name="role"/>
         <ref name="roleDesc"/>
         <ref name="samplingDecl"/>
         <ref name="sb"/>
         <ref name="score"/>
         <ref name="scoreDef"/>
         <ref name="scoreFormat"/>
         <ref name="section"/>
         <ref name="segmentation"/>
         <ref name="seqNum"/>
         <ref name="series"/>
         <ref name="seriesStmt"/>
         <ref name="sic"/>
         <ref name="slur"/>
         <ref name="soundChan"/>
         <ref name="source"/>
         <ref name="sourceDesc"/>
         <ref name="space"/>
         <ref name="specRepro"/>
         <ref name="sponsor"/>
         <ref name="stack"/>
         <ref name="staff"/>
         <ref name="staffDef"/>
         <ref name="staffGrp"/>
         <ref name="stdVals"/>
         <ref name="styleName"/>
         <ref name="subst"/>
         <ref name="supplied"/>
         <ref name="surface"/>
         <ref name="syl"/>
         <ref name="syllable"/>
         <ref name="symbol"/>
         <ref name="symbolDef"/>
         <ref name="symbolTable"/>
         <ref name="sysReq"/>
         <ref name="table"/>
         <ref name="tapeConfig"/>
         <ref name="td"/>
         <ref name="tempo"/>
         <ref name="term"/>
         <ref name="termList"/>
         <ref name="textLang"/>
         <ref name="th"/>
         <ref name="tie"/>
         <ref name="timeline"/>
         <ref name="title"/>
         <ref name="titlePage"/>
         <ref name="titleStmt"/>
         <ref name="tr"/>
         <ref name="treatHist"/>
         <ref name="treatSched"/>
         <ref name="trill"/>
         <ref name="trkName"/>
         <ref name="tuplet"/>
         <ref name="tupletSpan"/>
         <ref name="turn"/>
         <ref name="unclear"/>
         <ref name="uneume"/>
         <ref name="unpub"/>
         <ref name="useRestrict"/>
         <ref name="vel"/>
         <ref name="verse"/>
         <ref name="watermark"/>
         <ref name="when"/>
         <ref name="work"/>
         <ref name="workDesc"/>
         <ref name="zone"/>
      </choice>
   </start>
</grammar>