<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
         xmlns:tei="http://www.tei-c.org/ns/1.0"
         xmlns:teix="http://www.tei-c.org/ns/Examples"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
         ns="http://www.tei-c.org/ns/1.0"><!--
Schema generated from ODD source 2025-11-03T09:44:45Z. . 
TEI Edition: P5 Version 4.9.0. Last updated on 24th January 2025, revision f73186978 
TEI Edition Location: https://www.tei-c.org/Vault/P5/4.9.0/ 
  
--><!--[https://creativecommons.org/licenses/by-nc-sa/4.0/] Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) -->
   <define name="teidata.numeric">
      <choice>
         <data type="double"/>
         <data type="token">
            <param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
         </data>
         <data type="decimal"/>
      </choice>
   </define>
   <define name="ssrq.content.anchor.spans">
      <choice>
         <ref name="addSpan"/>
         <ref name="anchor"/>
         <ref name="damageSpan"/>
         <ref name="delSpan"/>
      </choice>
   </define>
   <define name="ssrq.content.content">
      <choice>
         <ref name="date"/>
         <ref name="num"/>
         <ref name="time"/>
      </choice>
   </define>
   <define name="ssrq.content.critical">
      <choice>
         <ref name="abbr"/>
         <ref name="add"/>
         <ref name="app"/>
         <ref name="choice"/>
         <ref name="damage"/>
         <ref name="del"/>
         <ref name="foreign"/>
         <ref name="gap"/>
         <ref name="handShift"/>
         <ref name="note"/>
         <ref name="sic"/>
         <ref name="space"/>
         <ref name="subst"/>
         <ref name="supplied"/>
         <ref name="unclear"/>
      </choice>
   </define>
   <define name="ssrq.content.default">
      <choice>
         <text/>
         <ref name="ssrq.content.anchor.spans"/>
         <ref name="ssrq.content.content"/>
         <ref name="ssrq.content.critical"/>
         <ref name="ssrq.content.display"/>
         <ref name="ssrq.content.entities"/>
         <ref name="ssrq.content.measure"/>
      </choice>
   </define>
   <define name="ssrq.content.display">
      <choice>
         <ref name="ab"/>
         <ref name="cb"/>
         <ref name="figure"/>
         <ref name="fw"/>
         <ref name="head"/>
         <ref name="hi"/>
         <ref name="label"/>
         <ref name="lb"/>
         <ref name="orig"/>
         <ref name="pb"/>
         <ref name="pc"/>
         <ref name="q"/>
         <ref name="quote"/>
         <ref name="signed"/>
         <ref name="table"/>
      </choice>
   </define>
   <define name="ssrq.content.entities">
      <choice>
         <ref name="orgName"/>
         <ref name="persName"/>
         <ref name="placeName"/>
         <ref name="term"/>
      </choice>
   </define>
   <define name="ssrq.content.measure">
      <choice>
         <ref name="measure"/>
         <ref name="measureGrp"/>
      </choice>
   </define>
   <define name="ssrq.cover">
      <choice>
         <value>cover</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cover</a:documentation>
         <value>outside_front_cover</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">outside front cover</a:documentation>
         <value>inside_front_cover</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">inside front cover</a:documentation>
         <value>inside_back_cover</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">inside back cover</a:documentation>
         <value>outside_back_cover</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">outside back cover</a:documentation>
      </choice>
   </define>
   <define name="ssrq.dimensions.scope">
      <choice>
         <value>double_leaf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">double leaf</a:documentation>
         <value>leaf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">leaf</a:documentation>
         <value>page</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">page</a:documentation>
      </choice>
   </define>
   <define name="ssrq.dimensions.typography">
      <choice>
         <value>character</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">charactercharacters</a:documentation>
         <value>word</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wordwords</a:documentation>
         <value>line</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">linelines</a:documentation>
      </choice>
   </define>
   <define name="ssrq.dimensions.unknown">
      <choice>
         <value>unknown</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unknown</a:documentation>
      </choice>
   </define>
   <define name="ssrq.hand">
      <choice>
         <value>firstHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">main hand (A)</a:documentation>
         <value>secondHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">other hand (B)</a:documentation>
         <value>thirdHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">other hand (C)</a:documentation>
         <value>fourthHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">other hand (D)</a:documentation>
         <value>fifthHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">other hand (E)</a:documentation>
         <value>sixthHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">other hand (F)</a:documentation>
         <value>seventhHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">other hand (G)</a:documentation>
         <value>eighthHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">other hand (H)</a:documentation>
         <value>ninthHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">other hand (I)</a:documentation>
         <value>laterHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">later hand</a:documentation>
         <value>otherHand</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">another hand</a:documentation>
      </choice>
   </define>
   <define name="ssrq.hand.century">
      <choice>
         <value>hand10c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 10th century</a:documentation>
         <value>hand11c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 11th century</a:documentation>
         <value>hand12c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 12th century</a:documentation>
         <value>hand13c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 13th century</a:documentation>
         <value>hand14c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 14th century</a:documentation>
         <value>hand15c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 15th century</a:documentation>
         <value>hand16c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 16th century</a:documentation>
         <value>hand17c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 17th century</a:documentation>
         <value>hand18c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 18th century</a:documentation>
         <value>hand19c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 19th century</a:documentation>
         <value>hand20c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 20th century</a:documentation>
         <value>hand21c</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 21st century</a:documentation>
         <value>hand10cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 10th century?</a:documentation>
         <value>hand11cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 11th century?</a:documentation>
         <value>hand12cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 12th century?</a:documentation>
         <value>hand13cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 13th century?</a:documentation>
         <value>hand14cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 14th century?</a:documentation>
         <value>hand15cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 15th century?</a:documentation>
         <value>hand16cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 16th century?</a:documentation>
         <value>hand17cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 17th century?</a:documentation>
         <value>hand18cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 18th century?</a:documentation>
         <value>hand19cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 19th century?</a:documentation>
         <value>hand20cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 20th century?</a:documentation>
         <value>hand21cf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hand of the 21st century?</a:documentation>
      </choice>
   </define>
   <define name="ssrq.lang.de">
      <choice>
         <value>de</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">German</a:documentation>
      </choice>
   </define>
   <define name="ssrq.lang.fr">
      <choice>
         <value>fr</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">French</a:documentation>
      </choice>
   </define>
   <define name="ssrq.lang.he">
      <choice>
         <value>he</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Hebrew</a:documentation>
      </choice>
   </define>
   <define name="ssrq.lang.it">
      <choice>
         <value>it</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Italian</a:documentation>
      </choice>
   </define>
   <define name="ssrq.lang.la">
      <choice>
         <value>la</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Latin</a:documentation>
      </choice>
   </define>
   <define name="ssrq.lang.rm">
      <choice>
         <value>rm</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Romansh</a:documentation>
      </choice>
   </define>
   <define name="ssrq.measure.area">
      <choice>
         <value>fauchée</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fauchéefauchées</a:documentation>
         <value>Gertel</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gertel</a:documentation>
         <value>Hube</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hube</a:documentation>
         <value>Juchart</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">juchartjucharten</a:documentation>
         <value>Kammer</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">kammerkammern</a:documentation>
         <value>Klafter</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">klafter</a:documentation>
         <value>Kuhsömmerung</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">kuhsömmerung (value of a mountain pasture based on the number of cows that can graze there in summer)</a:documentation>
         <value>Kuhwinterung</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">kuhwinterung (value of a mountain pasture based on the number of cows that can graze there in winter)</a:documentation>
         <value>Mal</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mal</a:documentation>
         <value>Mannmad</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mannmad</a:documentation>
         <value>Mannwerk</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mannwerk</a:documentation>
         <value>Mitmal</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mitmal</a:documentation>
         <value>Mütt</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mütt</a:documentation>
         <value>Rute</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rod</a:documentation>
         <value>Schuh</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">shoeshoes</a:documentation>
         <value>Schuppose</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">schuppose</a:documentation>
         <value>Staffel</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">staffel</a:documentation>
         <value>Tagwen</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tagwen</a:documentation>
         <value>Zeile</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">line</a:documentation>
      </choice>
   </define>
   <define name="ssrq.measure.capacity">
      <choice>
         <value>Becher</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cupcups</a:documentation>
         <value>Brenten</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">brentebrenten</a:documentation>
         <value>Bosse</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bossebosses</a:documentation>
         <value>carica</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">caricacarice</a:documentation>
         <value>Eimer</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bucketbuckets</a:documentation>
         <value>Fass</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">barrelbarrels</a:documentation>
         <value>Fuder</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cartloadcartloads</a:documentation>
         <value>Garbe</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sheafsheafs</a:documentation>
         <value>Immi</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">immi</a:documentation>
         <value>Kanne</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">potpots</a:documentation>
         <value>Klafter</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">klafter</a:documentation>
         <value>Kopf</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">kopfköpfe</a:documentation>
         <value>Kratten</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">crates</a:documentation>
         <value>Kröttli</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">kröttli</a:documentation>
         <value>Ledi</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ledi</a:documentation>
         <value>Legel</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">legel</a:documentation>
         <value>Mass</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mass</a:documentation>
         <value>Mäss</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mäss</a:documentation>
         <value>Mässli</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">small liter</a:documentation>
         <value>Malter</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">malter</a:documentation>
         <value>Mütt</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mütt</a:documentation>
         <value>Quart</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quart</a:documentation>
         <value>Quartane</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quartane</a:documentation>
         <value>Röhrchen</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tube</a:documentation>
         <value>Sack</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bagbags</a:documentation>
         <value>Saum</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">saum</a:documentation>
         <value>Schaffen</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">schaffen</a:documentation>
         <value>Scheffel</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bushelbushels</a:documentation>
         <value>Scheibe</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sliceslices</a:documentation>
         <value>Sechzehner</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sechzehner</a:documentation>
         <value>Sester</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sester</a:documentation>
         <value>Ster</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stere</a:documentation>
         <value>Tonne</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tontons</a:documentation>
         <value>Trinken</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">trinken</a:documentation>
         <value>Vierdung</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">vierdung</a:documentation>
         <value>Viertel</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quarterquarters</a:documentation>
         <value>water</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mineral water</a:documentation>
         <value>Zuber</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tub</a:documentation>
      </choice>
   </define>
   <define name="ssrq.measure.currency">
      <choice>
         <value>Angster</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">angster</a:documentation>
         <value>bluzger</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bluzger</a:documentation>
         <value>Böhmischer_Groschen</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Prague groschen</a:documentation>
         <value>bz</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">batzen</a:documentation>
         <value>d</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pennypennies</a:documentation>
         <value>Dicken</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dicken</a:documentation>
         <value>Doubloon</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">DoubloonDoubloons</a:documentation>
         <value>ducatoon</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ducatoonducatoons</a:documentation>
         <value>Dukat</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ducat</a:documentation>
         <value>écu</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">écuécus</a:documentation>
         <value>écu_blanc</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">écu blancécus blancs</a:documentation>
         <value>écu_dor</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">écu d’orécus d’or</a:documentation>
         <value>écu_petit</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">écu petitécus petits</a:documentation>
         <value>engrogne</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">engrogneengrognes</a:documentation>
         <value>filippo</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">filippofilippi</a:documentation>
         <value>fl</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">guilderguilders</a:documentation>
         <value>franc</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">francfrancs</a:documentation>
         <value>Gros</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gros</a:documentation>
         <value>Grossi</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">grossogrossi</a:documentation>
         <value>h</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hallerhallers</a:documentation>
         <value>Halbgulden</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">half-guilderhalf-guilders</a:documentation>
         <value>Halbtaler</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">half thalerhalf thalers</a:documentation>
         <value>k</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">crowncrowns</a:documentation>
         <value>Kronentaler</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">kronentaler</a:documentation>
         <value>L</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Swiss francSwiss francs</a:documentation>
         <value>lb</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lb</a:documentation>
         <value>liard</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">liardliards</a:documentation>
         <value>lira</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">liralire</a:documentation>
         <value>livre_faible</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">livre faiblelivres faibles</a:documentation>
         <value>Louis_dor</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Louis d’or</a:documentation>
         <value>Louistaler</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Louis blancLouis blancs</a:documentation>
         <value>lt</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">livre tournoislivres tournois</a:documentation>
         <value>M</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mark</a:documentation>
         <value>Mirliton</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Lous d’or Mirliton</a:documentation>
         <value>Ort</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ort</a:documentation>
         <value>parpajola</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">parpajolaparpajole</a:documentation>
         <value>Pistole</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pistolepistoles</a:documentation>
         <value>plp</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">plappartplapparts</a:documentation>
         <value>Quart</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quart (cart)quarts</a:documentation>
         <value>S</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sol</a:documentation>
         <value>scudo</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">scudoscudi</a:documentation>
         <value>soldo</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">soldosoldi</a:documentation>
         <value>sol_faible</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sol faible</a:documentation>
         <value>Sonnendublone</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Sonnendublone</a:documentation>
         <value>Spagürli</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">spagürli</a:documentation>
         <value>ß</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">shillingshillings</a:documentation>
         <value>Taler</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">thalerthalers</a:documentation>
         <value>teston</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">testonetestoni</a:documentation>
         <value>Vierer</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">vierer</a:documentation>
         <value>xr</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">kreutzer</a:documentation>
         <value>zecchino</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">zecchinozecchini</a:documentation>
      </choice>
   </define>
   <define name="ssrq.measure.length">
      <choice>
         <value>Daumen</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">thumbthumbs</a:documentation>
         <value>Elle</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cubitcubits</a:documentation>
         <value>Finger</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fingerfingers</a:documentation>
         <value>Fuss</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">feetfeets</a:documentation>
         <value>Klafter</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">klafter</a:documentation>
         <value>Linie</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">linelines</a:documentation>
         <value>Meile</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lieuelieues</a:documentation>
         <value>Schritt</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stepsteps</a:documentation>
         <value>Schuh</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">shoeshoes</a:documentation>
         <value>Stab</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rodrods</a:documentation>
         <value>Zoll</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">inchinchs</a:documentation>
      </choice>
   </define>
   <define name="ssrq.measure.lengths.base.cm">
      <choice>
         <value>cm</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cm</a:documentation>
      </choice>
   </define>
   <define name="ssrq.measure.parts.stuck">
      <choice>
         <value>Stuck</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">piecepieces</a:documentation>
      </choice>
   </define>
   <define name="ssrq.measure.parts.vierling">
      <choice>
         <value>Vierling</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quarterquarters</a:documentation>
      </choice>
   </define>
   <define name="ssrq.measure.time">
      <choice>
         <value>month</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">monthmonths</a:documentation>
         <value>week</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">weekweeks</a:documentation>
         <value>year</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">yearyears</a:documentation>
      </choice>
   </define>
   <define name="ssrq.measure.various">
      <choice>
         <value>Ballen</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bale</a:documentation>
         <value>billio</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">billio</a:documentation>
         <value>Bürde</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">load</a:documentation>
         <value>carriage</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">carriagecarriages</a:documentation>
         <value>Dutzend</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dozen</a:documentation>
         <value>Fuder</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cartloadcartloads</a:documentation>
         <value>Gaden</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gaden</a:documentation>
         <value>Kloben</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">kloben</a:documentation>
         <value>Laib</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">loafloaves</a:documentation>
         <value>Loden</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">loden</a:documentation>
         <value>Maschen</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stitch</a:documentation>
         <value>Paar</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pairpairs</a:documentation>
         <value>Riste</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">riste</a:documentation>
         <value>Schoch</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">SchochSchochen</a:documentation>
         <value>Schubkarre</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">barrowbarrows</a:documentation>
         <value>Seil</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cordcords</a:documentation>
         <value>Sester</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sester</a:documentation>
         <value>Stock</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sticksticks</a:documentation>
         <value>Zeine</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">basketbaskets</a:documentation>
      </choice>
   </define>
   <define name="ssrq.measure.weight">
      <choice>
         <value>Biner</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">biner</a:documentation>
         <value>denier</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">denier (scrupule)deniers (scrupules)</a:documentation>
         <value>Gewäg</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gewäg</a:documentation>
         <value>grain</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">graingrains</a:documentation>
         <value>Krinne</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">krinne</a:documentation>
         <value>Lot</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lot</a:documentation>
         <value>Pfund</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">poundpounds</a:documentation>
         <value>Pfefferpfund</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pfefferpfundpfefferpfunde</a:documentation>
         <value>Rupp</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rupp</a:documentation>
         <value>Quentli</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quentli</a:documentation>
         <value>Unze</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ounceounces</a:documentation>
         <value>Zentner</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hundredweight</a:documentation>
      </choice>
   </define>
   <define name="ssrq.period.days">
      <choice>
         <value>P1WD</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Sunday</a:documentation>
         <value>P2WD</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Monday</a:documentation>
         <value>P3WD</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Tuesday</a:documentation>
         <value>P4WD</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Wednesday</a:documentation>
         <value>P5WD</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Thursday</a:documentation>
         <value>P6WD</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Friday</a:documentation>
         <value>P7WD</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Saturday</a:documentation>
      </choice>
   </define>
   <define name="ssrq.period.seasons">
      <choice>
         <value>spring</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">spring</a:documentation>
         <value>summer</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">summer</a:documentation>
         <value>fall</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fall</a:documentation>
         <value>winter</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">winter</a:documentation>
      </choice>
   </define>
   <define name="ssrq.place">
      <choice>
         <value>above</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">above the line</a:documentation>
         <value>below</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">below the line</a:documentation>
         <value>bottom</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the bottom</a:documentation>
         <value>cover</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the cover</a:documentation>
         <value>cover_above</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the top of the cover</a:documentation>
         <value>cover_bottom</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the bottom of the cover</a:documentation>
         <value>cover_middle</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the middle of the cover</a:documentation>
         <value>left_margin</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the left margin</a:documentation>
         <value>next_page</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the next page</a:documentation>
         <value>right_margin</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the right margin</a:documentation>
         <value>verso</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the reverse side</a:documentation>
      </choice>
   </define>
   <define name="ssrq.place.ab">
      <choice>
         <value>left_plica</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the left side of the plica</a:documentation>
         <value>parchment_tag</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the parchment tag</a:documentation>
         <value>plica</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the plica</a:documentation>
         <value>plica_verso</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the verso of the plica</a:documentation>
         <value>right_plica</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the right side of the plica</a:documentation>
         <value>sub_plica</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sub plica</a:documentation>
         <value>verso_above</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the top of the verso</a:documentation>
         <value>verso_above_left</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the top left of the verso</a:documentation>
         <value>verso_above_middle</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the top of the verso in the middle</a:documentation>
         <value>verso_above_right</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the top right of the verso</a:documentation>
         <value>verso_bottom</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the bottom of the verso</a:documentation>
         <value>verso_bottom_left</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the bottom left of the verso</a:documentation>
         <value>verso_bottom_middle</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the bottom of the verso in the middle</a:documentation>
         <value>verso_bottom_right</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the bottom right of the verso</a:documentation>
         <value>verso_left_margin</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the left margin of the verso</a:documentation>
         <value>verso_middle</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the middle of the verso</a:documentation>
         <value>verso_right_margin</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the right margin of the verso</a:documentation>
      </choice>
   </define>
   <define name="ssrq.place.add">
      <choice>
         <value>inline</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">inline</a:documentation>
         <value>interlinear</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">interlinear</a:documentation>
         <value>left_top</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the left top</a:documentation>
         <value>opposite</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the opposite page</a:documentation>
         <value>overwritten</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">overwritten</a:documentation>
         <value>previous_page</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the previous page</a:documentation>
         <value>right_top</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the right top</a:documentation>
         <value>top</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the top</a:documentation>
      </choice>
   </define>
   <define name="ssrq.quantity.positive">
      <choice>
         <data type="float">
            <param name="minInclusive">0</param>
         </data>
         <data type="positiveInteger"/>
      </choice>
   </define>
   <define name="ssrq.rend.add">
      <choice>
         <value>other_ink</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">with different ink</a:documentation>
         <value>pencil</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">with pencil</a:documentation>
      </choice>
   </define>
   <define name="ssrq.rend.font">
      <choice>
         <value>font_change</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">font change</a:documentation>
         <value>framed</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">framed</a:documentation>
         <value>italic</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">italic</a:documentation>
         <value>rubricated</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rubricated</a:documentation>
         <value>sup</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">superscript</a:documentation>
         <value>underline</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">underlined</a:documentation>
      </choice>
   </define>
   <define name="ssrq.rend.placement">
      <choice>
         <value>center</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">centered</a:documentation>
         <value>left</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">left</a:documentation>
         <value>right</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">right</a:documentation>
         <value>outdent</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">outdent</a:documentation>
      </choice>
   </define>
   <define name="ssrq.rend.rotation">
      <choice>
         <value>rotated_90</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rotated 90 degrees clockwise</a:documentation>
         <value>rotated_180</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rotated 180 degrees clockwise</a:documentation>
         <value>rotated_270</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rotated 270 degrees clockwise</a:documentation>
      </choice>
   </define>
   <define name="ssrq.role.resp.de">
      <choice>
         <value>Anlage Register</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Erfassung Metadaten im TEI-Header</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Erstellung Faksimile</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Herausgabe</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Qualitätskontrolle</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Transkription</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>XML-Codierung der Transkription</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
      </choice>
   </define>
   <define name="ssrq.role.resp.fr">
      <choice>
         <value>Annexe Registre</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Contrôle de qualité</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Création de fac-similé</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Encodage XML de la transcription</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Publication</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Saisie des métadonnées dans l’en-tête TEI</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         <value>Transcription</value>
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
      </choice>
   </define>
   <define name="ssrq.numbering">
      <choice>
         <data type="string">
            <param name="pattern">((([1-9]\d*)|([IVXLCDM]+))([ab]|bis)?[rv])|[rv]</param>
         </data>
         <data type="string">
            <param name="pattern">(([1-9]\d*(\.[1-9]\d*)?|([IVXLCDM]+))([ab]|bis)?)</param>
         </data>
         <data type="string">
            <param name="pattern">s([1-9]\d*)</param>
         </data>
      </choice>
   </define>
   <define name="ssrq.facs.name">
      <data type="string">
         <param name="pattern">[A-Za-z_\-\d]+(\d|[IVXLCDM]|[rv]|plica)</param>
      </data>
   </define>
   <define name="ssrq.pointer.keywords">
      <data type="string">
         <param name="pattern">key\d{6}</param>
      </data>
   </define>
   <define name="ssrq.pointer.lemma">
      <data type="string">
         <param name="pattern">lem\d{6}(\.1?\d{2})?</param>
      </data>
   </define>
   <define name="ssrq.pointer.url">
      <data type="anyURI">
         <param name="pattern">(https?|ftp)://[^\s/$.?#].[^\s]*</param>
      </data>
   </define>
   <define name="ssrq.pointer.urn">
      <choice>
         <data type="string">
            <param name="pattern">urn:ssrq:(SSRQ|SDS|FDS)-([A-Z]{2})-([A-Za-z0-9_]+)-(((([A-Za-z0-9]+\.)*)([0-9]+)-1))(#(\d+|fol\d+[rv](\-\d+[rv])?|[pn]\d+(\.\d+)?(\-\d+(\.\d+)?)?))?</param>
         </data>
         <data type="string">
            <param name="pattern">urn:ssrq:[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}(#(\d+|fol\d+[rv](\-\d+[rv])?|[pn]\d+(\.\d+)?(\-\d+(\.\d+)?)?))?</param>
         </data>
      </choice>
   </define>
   <define name="ssrq.id.string">
      <data type="string">
         <param name="pattern">id-ssrq-[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}</param>
      </data>
   </define>
   <define name="ssrq.pointer.id">
      <data type="string">
         <param name="pattern">id-ssrq-[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}(#(\d+|fol\d+[rv](\-\d+[rv])?|[pn]\d+(\.\d+)?(\-\d+(\.\d+)?)?))?</param>
      </data>
   </define>
   <define name="att.breaking.attributes">
      <ref name="att.breaking.attribute.break"/>
   </define>
   <define name="att.breaking.attribute.break">
      <optional>
         <attribute name="break">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">line break after a word?</a:documentation>
            <choice>
               <value>no</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">no</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.global.responsibility.attributes">
      <ref name="att.global.responsibility.attribute.cert"/>
      <ref name="att.global.responsibility.attribute.resp"/>
   </define>
   <define name="att.global.responsibility.attribute.cert">
      <optional>
         <attribute name="cert">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the degree of certainty</a:documentation>
            <choice>
               <value>high</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">high</a:documentation>
               <value>medium</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">medium</a:documentation>
               <value>low</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">low</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.global.responsibility.attribute.resp">
      <optional>
         <attribute name="resp">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsible party) the abbreviation of the editor</a:documentation>
            <list>
               <oneOrMore>
                  <data type="string">
                     <param name="pattern">[A-Z]{2,3}</param>
                  </data>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ssrq-main-schema-att.global.source-source-only_1_ODD_source-constraint-rule-2">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@source]">
         <sch:let name="srcs" value="tokenize( normalize-space(@source),' ')"/>
         <sch:report test="(   self::tei:classRef                                 | self::tei:dataRef                                 | self::tei:elementRef                                 | self::tei:macroRef                                 | self::tei:moduleRef                                 | self::tei:schemaSpec )                                   and                                   $srcs[2]">
              When used on a schema description element (like
              <sch:value-of select="name(.)"/>), the @source attribute
              should have only 1 value. (This one has <sch:value-of select="count($srcs)"/>.)
            </sch:report>
      </sch:rule>
   </pattern>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ssrq-main-schema-att.global.source-only_1_ODD_source-constraint-rule-1">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@source]">
         <sch:let name="srcs" value="tokenize( normalize-space(@source),' ')"/>
         <sch:report test="(   self::tei:classRef                                 | self::tei:dataRef                                 | self::tei:elementRef                                 | self::tei:macroRef                                 | self::tei:moduleRef                                 | self::tei:schemaSpec )                                   and                                   $srcs[2]">
              When used on a schema description element (like
              <sch:value-of select="name(.)"/>), the @source attribute
              should have only 1 value. (This one has <sch:value-of select="count($srcs)"/>.)
            </sch:report>
      </sch:rule>
   </pattern>
   <define name="att.internetMedia.attributes">
      <ref name="att.internetMedia.attribute.mimeType"/>
   </define>
   <define name="att.internetMedia.attribute.mimeType">
      <attribute name="mimeType">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the file type of the file linked with <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">@url</code>
         </a:documentation>
         <choice>
            <value>image/jpg</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>image/png</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>image/svg</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         </choice>
      </attribute>
   </define>
   <define name="att.measurement.attributes">
      <ref name="att.measurement.attribute.commodity"/>
      <ref name="att.measurement.attribute.origin"/>
      <ref name="att.measurement.attribute.quantity"/>
      <ref name="att.measurement.attribute.unit"/>
   </define>
   <define name="att.measurement.attribute.commodity">
      <optional>
         <attribute name="commodity">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the measured substance</a:documentation>
            <choice>
               <value>apple</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">apples</a:documentation>
               <value>barley</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">barley</a:documentation>
               <value>bean</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">beans</a:documentation>
               <value>bran</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bran</a:documentation>
               <value>bread</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bread</a:documentation>
               <value>butter</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">butter</a:documentation>
               <value>cheese</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cheese</a:documentation>
               <value>coal</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">coal</a:documentation>
               <value>denim</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ticking</a:documentation>
               <value>drapery</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cloth</a:documentation>
               <value>dried_fruit</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dried fruit</a:documentation>
               <value>dung</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">manure</a:documentation>
               <value>electuary</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">electuary</a:documentation>
               <value>field</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fieldfields</a:documentation>
               <value>fish</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fish</a:documentation>
               <value>flax</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">flax</a:documentation>
               <value>flour</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">flour</a:documentation>
               <value>forest</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">forest</a:documentation>
               <value>gold</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gold</a:documentation>
               <value>grain</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">grain</a:documentation>
               <value>grain_spelt</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">grain and spelt</a:documentation>
               <value>grain_wheat</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">grain and wheat</a:documentation>
               <value>grassland</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">meadow</a:documentation>
               <value>hay</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hay</a:documentation>
               <value>hemp</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hemp</a:documentation>
               <value>herring</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">herring</a:documentation>
               <value>honey</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">honey</a:documentation>
               <value>land</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">land</a:documentation>
               <value>lard</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lard</a:documentation>
               <value>lead</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lead</a:documentation>
               <value>lentils</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lentils</a:documentation>
               <value>lime</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lime</a:documentation>
               <value>marsh</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marsh</a:documentation>
               <value>meat</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">meat</a:documentation>
               <value>merchandise</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">merchandise</a:documentation>
               <value>milk</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">milk</a:documentation>
               <value>millet</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">millet</a:documentation>
               <value>mush</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mush</a:documentation>
               <value>mushflour</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mushflour</a:documentation>
               <value>must</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cider</a:documentation>
               <value>nuts</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">nuts</a:documentation>
               <value>oat</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">oat</a:documentation>
               <value>pea</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">peas</a:documentation>
               <value>pear</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pears</a:documentation>
               <value>picket</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stake</a:documentation>
               <value>potatoes</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">potatoes</a:documentation>
               <value>pulses</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pulses</a:documentation>
               <value>rice</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rice</a:documentation>
               <value>rye</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rye</a:documentation>
               <value>salt</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">salt</a:documentation>
               <value>silk</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">silk</a:documentation>
               <value>silver</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">silver</a:documentation>
               <value>spelt</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">spelt</a:documentation>
               <value>steel</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">steel</a:documentation>
               <value>straw</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">straw</a:documentation>
               <value>tallow</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tallow</a:documentation>
               <value>tin</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tin</a:documentation>
               <value>vegetables</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">vegetables</a:documentation>
               <value>vineyard</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">vineyard</a:documentation>
               <value>wax</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wax</a:documentation>
               <value>wheat</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wheat</a:documentation>
               <value>wine</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wine</a:documentation>
               <value>wood</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wood</a:documentation>
               <value>wool</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wool</a:documentation>
               <value>ziger</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ziger (whey cheese)</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.measurement.attribute.origin">
      <optional>
         <attribute name="origin">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the origin of the unit of measurement</a:documentation>
            <choice>
               <value>BE</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Bern</a:documentation>
               <value>Breisgau</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Breisgau</a:documentation>
               <value>Chur</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Chur</a:documentation>
               <value>Diessenhofen</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Diessenhofen</a:documentation>
               <value>Elsass</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Alsace</a:documentation>
               <value>Etsch</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of the Adige</a:documentation>
               <value>Feldkirch</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Feldkirch</a:documentation>
               <value>Florenz</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Florence</a:documentation>
               <value>FR</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">French</a:documentation>
               <value>Fribourg</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Fribourg</a:documentation>
               <value>GE</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Geneva</a:documentation>
               <value>HU</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Hungary</a:documentation>
               <value>IT</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Italy</a:documentation>
               <value>Konstanz</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Konstanz</a:documentation>
               <value>Lausanne</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Lausanne</a:documentation>
               <value>Lothringen</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Lorraine</a:documentation>
               <value>LU</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Lucerne</a:documentation>
               <value>Montfort</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Montfort</a:documentation>
               <value>NE</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Neuchâtel</a:documentation>
               <value>NL</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Holland</a:documentation>
               <value>Österreich</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Austria</a:documentation>
               <value>Rh</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Rhineland</a:documentation>
               <value>Rheintaler</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Rheintal</a:documentation>
               <value>Sargans</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Sargans</a:documentation>
               <value>Savoie</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Savoy</a:documentation>
               <value>SG</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of St Gall</a:documentation>
               <value>SH</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Schaffhausen</a:documentation>
               <value>Stein</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Stein am Rhein</a:documentation>
               <value>SZ</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Schwyz</a:documentation>
               <value>Tirol</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Tyrol</a:documentation>
               <value>Utrecht</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Utrecht</a:documentation>
               <value>Valtellina</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Valtellina</a:documentation>
               <value>Werdenberg</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Werdenberg</a:documentation>
               <value>Wil</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Wil</a:documentation>
               <value>Winterthur</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Winterthur</a:documentation>
               <value>ZH</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">of Zurich</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.measurement.attribute.quantity">
      <attribute name="quantity">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the size or amount of the unit of measurement or currency specified with <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">@unit</code>
         </a:documentation>
         <choice>
            <ref name="teidata.numeric"/>
            <ref name="ssrq.dimensions.unknown"/>
         </choice>
      </attribute>
   </define>
   <define name="att.measurement.attribute.unit">
      <attribute name="unit">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the unit of measurement or currency</a:documentation>
         <choice>
            <ref name="ssrq.measure.area"/>
            <ref name="ssrq.measure.capacity"/>
            <ref name="ssrq.measure.currency"/>
            <ref name="ssrq.measure.length"/>
            <ref name="ssrq.measure.lengths.base.cm"/>
            <ref name="ssrq.measure.parts.stuck"/>
            <ref name="ssrq.measure.parts.vierling"/>
            <ref name="ssrq.measure.time"/>
            <ref name="ssrq.measure.various"/>
            <ref name="ssrq.measure.weight"/>
         </choice>
      </attribute>
   </define>
   <define name="att.pointing.attributes">
      <ref name="att.pointing.attribute.target"/>
   </define>
   <define name="att.pointing.attribute.target">
      <optional>
         <attribute name="target">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a Hyperlink, DOI or an internal reference</a:documentation>
            <choice>
               <data type="string">
                  <param name="pattern">doi:10\.\d{4,6}/.*</param>
               </data>
               <data type="anyURI">
                  <param name="pattern">(https?|ftp)://[^\s/$.?#].[^\s]*</param>
               </data>
               <choice>
                  <data type="string">
                     <param name="pattern">urn:ssrq:(SSRQ|SDS|FDS)-([A-Z]{2})-([A-Za-z0-9_]+)-(((([A-Za-z0-9]+\.)*)([0-9]+)-1))(#(\d+|fol\d+[rv](\-\d+[rv])?|[pn]\d+(\.\d+)?(\-\d+(\.\d+)?)?))?</param>
                  </data>
                  <data type="string">
                     <param name="pattern">urn:ssrq:[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}(#(\d+|fol\d+[rv](\-\d+[rv])?|[pn]\d+(\.\d+)?(\-\d+(\.\d+)?)?))?</param>
                  </data>
               </choice>
               <data type="string">
                  <param name="pattern">id-ssrq-[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}(#(\d+|fol\d+[rv](\-\d+[rv])?|[pn]\d+(\.\d+)?(\-\d+(\.\d+)?)?))?</param>
               </data>
            </choice>
         </attribute>
      </optional>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ssrq-main-schema-att.pointing-targetLang-constraint-rule-3">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[not(self::tei:schemaSpec)][@targetLang]">
         <sch:assert test="@target">@targetLang should only be used on <sch:name/> if @target is specified.</sch:assert>
      </sch:rule>
   </pattern>
   <define name="att.resourced.attributes">
      <ref name="att.resourced.attribute.url"/>
   </define>
   <define name="att.resourced.attribute.url">
      <attribute name="url">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(uniform resource locator) the link to an image file</a:documentation>
         <data type="anyURI">
            <param name="pattern">\S+</param>
         </data>
      </attribute>
   </define>
   <define name="att.scoping.attributes">
      <ref name="att.scoping.attribute.match"/>
   </define>
   <define name="att.scoping.attribute.match">
      <attribute name="match">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the reference to one or more uncertain attributes</a:documentation>
         <list>
            <oneOrMore>
               <data type="string">
                  <param name="pattern">@[a-zAB]{2,9}-custom|dur-iso|period|calendar</param>
               </data>
            </oneOrMore>
         </list>
      </attribute>
   </define>
   <define name="att.spanning.attributes">
      <ref name="att.spanning.attribute.spanTo"/>
   </define>
   <define name="att.spanning.attribute.spanTo">
      <attribute name="spanTo">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the reference to the <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">@xml:id</code> of an <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;anchor&gt;</code> element</a:documentation>
         <data type="IDREF"/>
      </attribute>
   </define>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ssrq-main-schema-att.typed-subtypeTyped-constraint-rule-4">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:rng="http://relaxng.org/ns/structure/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@subtype]">
         <sch:assert test="@type">The <sch:name/> element should not be categorized in detail with @subtype unless also categorized in general with @type</sch:assert>
      </sch:rule>
   </pattern>
   <define name="att.written.attributes">
      <ref name="att.written.attribute.hand"/>
   </define>
   <define name="att.written.attribute.hand">
      <optional>
         <attribute name="hand">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a reference to the <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@xml:id</code> of a <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;handNote&gt;</code> element</a:documentation>
            <choice>
               <ref name="ssrq.hand"/>
               <ref name="ssrq.hand.century"/>
               <ref name="ssrq.id.string"/>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.dimensions.attribute.quantity">
      <optional>
         <attribute name="quantity">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the size of the unit specified with <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@unit</code>
            </a:documentation>
            <choice>
               <ref name="ssrq.quantity.positive"/>
               <ref name="ssrq.dimensions.unknown"/>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.global.attribute.xmllang">
      <optional>
         <attribute name="xml:lang">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the language according to ISO 639-1</a:documentation>
            <choice>
               <ref name="ssrq.lang.de"/>
               <ref name="ssrq.lang.fr"/>
               <ref name="ssrq.lang.he"/>
               <ref name="ssrq.lang.it"/>
               <ref name="ssrq.lang.la"/>
               <ref name="ssrq.lang.rm"/>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.handFeatures.attributes">
      <ref name="att.handFeatures.attribute.scribe"/>
   </define>
   <define name="att.handFeatures.attribute.scribe">
      <optional>
         <attribute name="scribe">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the identification number of the scribe</a:documentation>
            <data type="string">
               <param name="pattern">per\d{6}[abc]?(\.1?\d{2})?</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.damaged.attributes">
      <ref name="att.damaged.attribute.agent"/>
   </define>
   <define name="att.damaged.attribute.agent">
      <attribute name="agent">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of damage</a:documentation>
         <list>
            <oneOrMore>
               <choice>
                  <value>cancelled</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cancellation</a:documentation>
                  <value>clipping</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">clipping on the leaf margin</a:documentation>
                  <value>covered_by_seal</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">covering seal</a:documentation>
                  <value>crack</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tear</a:documentation>
                  <value>faded_ink</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">faded ink</a:documentation>
                  <value>fire</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">smoke/fire</a:documentation>
                  <value>fold</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fold</a:documentation>
                  <value>folio_lost</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lost folio</a:documentation>
                  <value>glue</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">glued pages</a:documentation>
                  <value>hairline</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hairline tear</a:documentation>
                  <value>hole</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">hole</a:documentation>
                  <value>ink_blot</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ink blot</a:documentation>
                  <value>ink_hole</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ink hole</a:documentation>
                  <value>insects</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">insects</a:documentation>
                  <value>mice</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mice</a:documentation>
                  <value>mildew</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mold</a:documentation>
                  <value>other</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">other damage</a:documentation>
                  <value>overbinding</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">covering binding</a:documentation>
                  <value>part_of_the_folio_lost</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lost part of the page/folio</a:documentation>
                  <value>restoration</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">restoration</a:documentation>
                  <value>signs_of_wear</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signs of wear</a:documentation>
                  <value>spot</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stain or discoloration</a:documentation>
                  <value>stapling</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stapling</a:documentation>
                  <value>water</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">water spot</a:documentation>
               </choice>
            </oneOrMore>
         </list>
      </attribute>
   </define>
   <define name="model.nameLike.agent">
      <choice>
         <ref name="orgName"/>
         <ref name="persName"/>
      </choice>
   </define>
   <define name="model.nameLike.agent_alternation">
      <choice>
         <ref name="orgName"/>
         <ref name="persName"/>
      </choice>
   </define>
   <define name="model.nameLike.agent_sequence">
      <ref name="orgName"/>
      <ref name="persName"/>
   </define>
   <define name="model.nameLike.agent_sequenceOptional">
      <optional>
         <ref name="orgName"/>
      </optional>
      <optional>
         <ref name="persName"/>
      </optional>
   </define>
   <define name="model.nameLike.agent_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="orgName"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="persName"/>
      </zeroOrMore>
   </define>
   <define name="model.nameLike.agent_sequenceRepeatable">
      <oneOrMore>
         <ref name="orgName"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="persName"/>
      </oneOrMore>
   </define>
   <define name="model.segLike">
      <choice>
         <ref name="seg"/>
      </choice>
   </define>
   <define name="model.segLike_alternation">
      <choice>
         <ref name="seg"/>
      </choice>
   </define>
   <define name="model.segLike_sequence">
      <ref name="seg"/>
   </define>
   <define name="model.segLike_sequenceOptional">
      <optional>
         <ref name="seg"/>
      </optional>
   </define>
   <define name="model.segLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="seg"/>
      </zeroOrMore>
   </define>
   <define name="model.segLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="seg"/>
      </oneOrMore>
   </define>
   <define name="model.hiLike">
      <choice>
         <ref name="hi"/>
         <ref name="q"/>
      </choice>
   </define>
   <define name="model.hiLike_alternation">
      <choice>
         <ref name="hi"/>
         <ref name="q"/>
      </choice>
   </define>
   <define name="model.hiLike_sequence">
      <ref name="hi"/>
      <ref name="q"/>
   </define>
   <define name="model.hiLike_sequenceOptional">
      <optional>
         <ref name="hi"/>
      </optional>
      <optional>
         <ref name="q"/>
      </optional>
   </define>
   <define name="model.hiLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="hi"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="q"/>
      </zeroOrMore>
   </define>
   <define name="model.hiLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="hi"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="q"/>
      </oneOrMore>
   </define>
   <define name="model.emphLike">
      <choice>
         <ref name="term"/>
         <ref name="title"/>
      </choice>
   </define>
   <define name="model.emphLike_alternation">
      <choice>
         <ref name="term"/>
         <ref name="title"/>
      </choice>
   </define>
   <define name="model.emphLike_sequence">
      <ref name="term"/>
      <ref name="title"/>
   </define>
   <define name="model.emphLike_sequenceOptional">
      <optional>
         <ref name="term"/>
      </optional>
      <optional>
         <ref name="title"/>
      </optional>
   </define>
   <define name="model.emphLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="term"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="title"/>
      </zeroOrMore>
   </define>
   <define name="model.emphLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="term"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="title"/>
      </oneOrMore>
   </define>
   <define name="model.highlighted">
      <choice>
         <ref name="model.hiLike"/>
         <ref name="model.emphLike"/>
      </choice>
   </define>
   <define name="model.highlighted_alternation">
      <choice>
         <ref name="model.hiLike_alternation"/>
         <ref name="model.emphLike_alternation"/>
      </choice>
   </define>
   <define name="model.highlighted_sequence">
      <ref name="model.hiLike_sequence"/>
      <ref name="model.emphLike_sequence"/>
   </define>
   <define name="model.highlighted_sequenceOptional">
      <optional>
         <ref name="model.hiLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.emphLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.highlighted_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.hiLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.emphLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.highlighted_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.hiLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.emphLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.dateLike">
      <notAllowed/>
   </define>
   <define name="model.dateLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.dateLike_sequence">
      <empty/>
   </define>
   <define name="model.dateLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.dateLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.dateLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.measureLike">
      <choice>
         <ref name="num"/>
         <ref name="measure"/>
         <ref name="measureGrp"/>
         <ref name="height"/>
         <ref name="width"/>
      </choice>
   </define>
   <define name="model.measureLike_alternation">
      <choice>
         <ref name="num"/>
         <ref name="measure"/>
         <ref name="measureGrp"/>
         <ref name="height"/>
         <ref name="width"/>
      </choice>
   </define>
   <define name="model.measureLike_sequence">
      <ref name="num"/>
      <ref name="measure"/>
      <ref name="measureGrp"/>
      <ref name="height"/>
      <ref name="width"/>
   </define>
   <define name="model.measureLike_sequenceOptional">
      <optional>
         <ref name="num"/>
      </optional>
      <optional>
         <ref name="measure"/>
      </optional>
      <optional>
         <ref name="measureGrp"/>
      </optional>
      <optional>
         <ref name="height"/>
      </optional>
      <optional>
         <ref name="width"/>
      </optional>
   </define>
   <define name="model.measureLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="num"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="measure"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="measureGrp"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="height"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="width"/>
      </zeroOrMore>
   </define>
   <define name="model.measureLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="num"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="measure"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="measureGrp"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="height"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="width"/>
      </oneOrMore>
   </define>
   <define name="model.egLike">
      <notAllowed/>
   </define>
   <define name="model.egLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.egLike_sequence">
      <empty/>
   </define>
   <define name="model.egLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.egLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.egLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.graphicLike">
      <choice>
         <ref name="graphic"/>
      </choice>
   </define>
   <define name="model.graphicLike_alternation">
      <choice>
         <ref name="graphic"/>
      </choice>
   </define>
   <define name="model.graphicLike_sequence">
      <ref name="graphic"/>
   </define>
   <define name="model.graphicLike_sequenceOptional">
      <optional>
         <ref name="graphic"/>
      </optional>
   </define>
   <define name="model.graphicLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="graphic"/>
      </zeroOrMore>
   </define>
   <define name="model.graphicLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="graphic"/>
      </oneOrMore>
   </define>
   <define name="model.offsetLike">
      <notAllowed/>
   </define>
   <define name="model.offsetLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.offsetLike_sequence">
      <empty/>
   </define>
   <define name="model.offsetLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.offsetLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.offsetLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.pPart.msdesc">
      <choice>
         <ref name="dimensions"/>
         <ref name="material"/>
         <ref name="origDate"/>
         <ref name="origPlace"/>
      </choice>
   </define>
   <define name="model.pPart.msdesc_alternation">
      <choice>
         <ref name="dimensions"/>
         <ref name="material"/>
         <ref name="origDate"/>
         <ref name="origPlace"/>
      </choice>
   </define>
   <define name="model.pPart.msdesc_sequence">
      <ref name="dimensions"/>
      <ref name="material"/>
      <ref name="origDate"/>
      <ref name="origPlace"/>
   </define>
   <define name="model.pPart.msdesc_sequenceOptional">
      <optional>
         <ref name="dimensions"/>
      </optional>
      <optional>
         <ref name="material"/>
      </optional>
      <optional>
         <ref name="origDate"/>
      </optional>
      <optional>
         <ref name="origPlace"/>
      </optional>
   </define>
   <define name="model.pPart.msdesc_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="dimensions"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="material"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="origDate"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="origPlace"/>
      </zeroOrMore>
   </define>
   <define name="model.pPart.msdesc_sequenceRepeatable">
      <oneOrMore>
         <ref name="dimensions"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="material"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="origDate"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="origPlace"/>
      </oneOrMore>
   </define>
   <define name="model.pPart.editorial">
      <choice>
         <ref name="choice"/>
         <ref name="abbr"/>
         <ref name="expan"/>
      </choice>
   </define>
   <define name="model.pPart.editorial_alternation">
      <choice>
         <ref name="choice"/>
         <ref name="abbr"/>
         <ref name="expan"/>
      </choice>
   </define>
   <define name="model.pPart.editorial_sequence">
      <ref name="choice"/>
      <ref name="abbr"/>
      <ref name="expan"/>
   </define>
   <define name="model.pPart.editorial_sequenceOptional">
      <optional>
         <ref name="choice"/>
      </optional>
      <optional>
         <ref name="abbr"/>
      </optional>
      <optional>
         <ref name="expan"/>
      </optional>
   </define>
   <define name="model.pPart.editorial_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="choice"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="abbr"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="expan"/>
      </zeroOrMore>
   </define>
   <define name="model.pPart.editorial_sequenceRepeatable">
      <oneOrMore>
         <ref name="choice"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="abbr"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="expan"/>
      </oneOrMore>
   </define>
   <define name="model.pPart.transcriptional">
      <choice>
         <ref name="sic"/>
         <ref name="corr"/>
         <ref name="orig"/>
         <ref name="add"/>
         <ref name="del"/>
      </choice>
   </define>
   <define name="model.pPart.transcriptional_alternation">
      <choice>
         <ref name="sic"/>
         <ref name="corr"/>
         <ref name="orig"/>
         <ref name="add"/>
         <ref name="del"/>
      </choice>
   </define>
   <define name="model.pPart.transcriptional_sequence">
      <ref name="sic"/>
      <ref name="corr"/>
      <ref name="orig"/>
      <ref name="add"/>
      <ref name="del"/>
   </define>
   <define name="model.pPart.transcriptional_sequenceOptional">
      <optional>
         <ref name="sic"/>
      </optional>
      <optional>
         <ref name="corr"/>
      </optional>
      <optional>
         <ref name="orig"/>
      </optional>
      <optional>
         <ref name="add"/>
      </optional>
      <optional>
         <ref name="del"/>
      </optional>
   </define>
   <define name="model.pPart.transcriptional_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="sic"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="corr"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="orig"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="add"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="del"/>
      </zeroOrMore>
   </define>
   <define name="model.pPart.transcriptional_sequenceRepeatable">
      <oneOrMore>
         <ref name="sic"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="corr"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="orig"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="add"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="del"/>
      </oneOrMore>
   </define>
   <define name="model.pPart.edit">
      <choice>
         <ref name="model.pPart.editorial"/>
         <ref name="model.pPart.transcriptional"/>
      </choice>
   </define>
   <define name="model.pPart.edit_alternation">
      <choice>
         <ref name="model.pPart.editorial_alternation"/>
         <ref name="model.pPart.transcriptional_alternation"/>
      </choice>
   </define>
   <define name="model.pPart.edit_sequence">
      <ref name="model.pPart.editorial_sequence"/>
      <ref name="model.pPart.transcriptional_sequence"/>
   </define>
   <define name="model.pPart.edit_sequenceOptional">
      <optional>
         <ref name="model.pPart.editorial_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.pPart.transcriptional_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.pPart.edit_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.pPart.editorial_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.pPart.transcriptional_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.pPart.edit_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.pPart.editorial_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.pPart.transcriptional_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.ptrLike">
      <choice>
         <ref name="ref"/>
      </choice>
   </define>
   <define name="model.ptrLike_alternation">
      <choice>
         <ref name="ref"/>
      </choice>
   </define>
   <define name="model.ptrLike_sequence">
      <ref name="ref"/>
   </define>
   <define name="model.ptrLike_sequenceOptional">
      <optional>
         <ref name="ref"/>
      </optional>
   </define>
   <define name="model.ptrLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="ref"/>
      </zeroOrMore>
   </define>
   <define name="model.ptrLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="ref"/>
      </oneOrMore>
   </define>
   <define name="model.lPart">
      <notAllowed/>
   </define>
   <define name="model.lPart_alternation">
      <notAllowed/>
   </define>
   <define name="model.lPart_sequence">
      <empty/>
   </define>
   <define name="model.lPart_sequenceOptional">
      <empty/>
   </define>
   <define name="model.lPart_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.lPart_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.global.meta">
      <choice>
         <ref name="precision"/>
      </choice>
   </define>
   <define name="model.global.meta_alternation">
      <choice>
         <ref name="precision"/>
      </choice>
   </define>
   <define name="model.global.meta_sequence">
      <ref name="precision"/>
   </define>
   <define name="model.global.meta_sequenceOptional">
      <optional>
         <ref name="precision"/>
      </optional>
   </define>
   <define name="model.global.meta_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="precision"/>
      </zeroOrMore>
   </define>
   <define name="model.global.meta_sequenceRepeatable">
      <oneOrMore>
         <ref name="precision"/>
      </oneOrMore>
   </define>
   <define name="model.milestoneLike">
      <choice>
         <ref name="pb"/>
         <ref name="lb"/>
         <ref name="cb"/>
      </choice>
   </define>
   <define name="model.milestoneLike_alternation">
      <choice>
         <ref name="pb"/>
         <ref name="lb"/>
         <ref name="cb"/>
      </choice>
   </define>
   <define name="model.milestoneLike_sequence">
      <ref name="pb"/>
      <ref name="lb"/>
      <ref name="cb"/>
   </define>
   <define name="model.milestoneLike_sequenceOptional">
      <optional>
         <ref name="pb"/>
      </optional>
      <optional>
         <ref name="lb"/>
      </optional>
      <optional>
         <ref name="cb"/>
      </optional>
   </define>
   <define name="model.milestoneLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="pb"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="lb"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="cb"/>
      </zeroOrMore>
   </define>
   <define name="model.milestoneLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="pb"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="lb"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="cb"/>
      </oneOrMore>
   </define>
   <define name="model.oddDecl">
      <notAllowed/>
   </define>
   <define name="model.oddDecl_alternation">
      <notAllowed/>
   </define>
   <define name="model.oddDecl_sequence">
      <empty/>
   </define>
   <define name="model.oddDecl_sequenceOptional">
      <empty/>
   </define>
   <define name="model.oddDecl_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.oddDecl_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.phrase.xml">
      <notAllowed/>
   </define>
   <define name="model.phrase.xml_alternation">
      <notAllowed/>
   </define>
   <define name="model.phrase.xml_sequence">
      <empty/>
   </define>
   <define name="model.phrase.xml_sequenceOptional">
      <empty/>
   </define>
   <define name="model.phrase.xml_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.phrase.xml_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.specDescLike">
      <notAllowed/>
   </define>
   <define name="model.specDescLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.specDescLike_sequence">
      <empty/>
   </define>
   <define name="model.specDescLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.specDescLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.specDescLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.biblLike">
      <choice>
         <ref name="bibl"/>
         <ref name="listBibl"/>
         <ref name="msDesc"/>
      </choice>
   </define>
   <define name="model.biblLike_alternation">
      <choice>
         <ref name="bibl"/>
         <ref name="listBibl"/>
         <ref name="msDesc"/>
      </choice>
   </define>
   <define name="model.biblLike_sequence">
      <ref name="bibl"/>
      <ref name="listBibl"/>
      <ref name="msDesc"/>
   </define>
   <define name="model.biblLike_sequenceOptional">
      <optional>
         <ref name="bibl"/>
      </optional>
      <optional>
         <ref name="listBibl"/>
      </optional>
      <optional>
         <ref name="msDesc"/>
      </optional>
   </define>
   <define name="model.biblLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="bibl"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="listBibl"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="msDesc"/>
      </zeroOrMore>
   </define>
   <define name="model.biblLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="bibl"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="listBibl"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="msDesc"/>
      </oneOrMore>
   </define>
   <define name="model.labelLike">
      <choice>
         <ref name="label"/>
      </choice>
   </define>
   <define name="model.labelLike_alternation">
      <choice>
         <ref name="label"/>
      </choice>
   </define>
   <define name="model.labelLike_sequence">
      <ref name="label"/>
   </define>
   <define name="model.labelLike_sequenceOptional">
      <optional>
         <ref name="label"/>
      </optional>
   </define>
   <define name="model.labelLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="label"/>
      </zeroOrMore>
   </define>
   <define name="model.labelLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="label"/>
      </oneOrMore>
   </define>
   <define name="model.listLike">
      <choice>
         <ref name="list"/>
         <ref name="listWit"/>
      </choice>
   </define>
   <define name="model.listLike_alternation">
      <choice>
         <ref name="list"/>
         <ref name="listWit"/>
      </choice>
   </define>
   <define name="model.listLike_sequence">
      <ref name="list"/>
      <ref name="listWit"/>
   </define>
   <define name="model.listLike_sequenceOptional">
      <optional>
         <ref name="list"/>
      </optional>
      <optional>
         <ref name="listWit"/>
      </optional>
   </define>
   <define name="model.listLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="list"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="listWit"/>
      </zeroOrMore>
   </define>
   <define name="model.listLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="list"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="listWit"/>
      </oneOrMore>
   </define>
   <define name="model.noteLike">
      <notAllowed/>
   </define>
   <define name="model.noteLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.noteLike_sequence">
      <empty/>
   </define>
   <define name="model.noteLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.noteLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.noteLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.stageLike">
      <notAllowed/>
   </define>
   <define name="model.stageLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.stageLike_sequence">
      <empty/>
   </define>
   <define name="model.stageLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.stageLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.stageLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.global.edit">
      <choice>
         <ref name="app"/>
      </choice>
   </define>
   <define name="model.global.edit_alternation">
      <choice>
         <ref name="app"/>
      </choice>
   </define>
   <define name="model.global.edit_sequence">
      <ref name="app"/>
   </define>
   <define name="model.global.edit_sequenceOptional">
      <optional>
         <ref name="app"/>
      </optional>
   </define>
   <define name="model.global.edit_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="app"/>
      </zeroOrMore>
   </define>
   <define name="model.global.edit_sequenceRepeatable">
      <oneOrMore>
         <ref name="app"/>
      </oneOrMore>
   </define>
   <define name="model.placeNamePart">
      <choice>
         <ref name="placeName"/>
         <ref name="settlement"/>
      </choice>
   </define>
   <define name="model.placeNamePart_alternation">
      <choice>
         <ref name="placeName"/>
         <ref name="settlement"/>
      </choice>
   </define>
   <define name="model.placeNamePart_sequence">
      <ref name="placeName"/>
      <ref name="settlement"/>
   </define>
   <define name="model.placeNamePart_sequenceOptional">
      <optional>
         <ref name="placeName"/>
      </optional>
      <optional>
         <ref name="settlement"/>
      </optional>
   </define>
   <define name="model.placeNamePart_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="placeName"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="settlement"/>
      </zeroOrMore>
   </define>
   <define name="model.placeNamePart_sequenceRepeatable">
      <oneOrMore>
         <ref name="placeName"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="settlement"/>
      </oneOrMore>
   </define>
   <define name="model.placeStateLike">
      <choice>
         <ref name="model.placeNamePart"/>
      </choice>
   </define>
   <define name="model.placeStateLike_alternation">
      <choice>
         <ref name="model.placeNamePart_alternation"/>
      </choice>
   </define>
   <define name="model.placeStateLike_sequence">
      <ref name="model.placeNamePart_sequence"/>
   </define>
   <define name="model.placeStateLike_sequenceOptional">
      <optional>
         <ref name="model.placeNamePart_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.placeStateLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.placeNamePart_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.placeStateLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.placeNamePart_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.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="model.attributable">
      <choice>
         <ref name="model.quoteLike"/>
      </choice>
   </define>
   <define name="model.attributable_alternation">
      <choice>
         <ref name="model.quoteLike_alternation"/>
      </choice>
   </define>
   <define name="model.attributable_sequence">
      <ref name="model.quoteLike_sequence"/>
   </define>
   <define name="model.attributable_sequenceOptional">
      <optional>
         <ref name="model.quoteLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.attributable_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.quoteLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.attributable_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.quoteLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.addressLike">
      <notAllowed/>
   </define>
   <define name="model.addressLike_alternation">
      <notAllowed/>
   </define>
   <define name="model.addressLike_sequence">
      <empty/>
   </define>
   <define name="model.addressLike_sequenceOptional">
      <empty/>
   </define>
   <define name="model.addressLike_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.addressLike_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="model.nameLike">
      <choice>
         <ref name="model.nameLike.agent"/>
         <ref name="model.offsetLike"/>
         <ref name="model.placeStateLike"/>
         <ref name="model.persNamePart"/>
      </choice>
   </define>
   <define name="model.nameLike_alternation">
      <choice>
         <ref name="model.nameLike.agent_alternation"/>
         <ref name="model.offsetLike_alternation"/>
         <ref name="model.placeStateLike_alternation"/>
         <ref name="model.persNamePart_alternation"/>
      </choice>
   </define>
   <define name="model.nameLike_sequence">
      <ref name="model.nameLike.agent_sequence"/>
      <ref name="model.offsetLike_sequence"/>
      <ref name="model.placeStateLike_sequence"/>
      <ref name="model.persNamePart_sequence"/>
   </define>
   <define name="model.nameLike_sequenceOptional">
      <optional>
         <ref name="model.nameLike.agent_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.offsetLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.placeStateLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.persNamePart_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.nameLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.nameLike.agent_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.offsetLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.placeStateLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.persNamePart_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.nameLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.nameLike.agent_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.offsetLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.placeStateLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.persNamePart_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.pPart.data">
      <choice>
         <ref name="model.dateLike"/>
         <ref name="model.measureLike"/>
         <ref name="model.addressLike"/>
         <ref name="model.nameLike"/>
      </choice>
   </define>
   <define name="model.pPart.data_alternation">
      <choice>
         <ref name="model.dateLike_alternation"/>
         <ref name="model.measureLike_alternation"/>
         <ref name="model.addressLike_alternation"/>
         <ref name="model.nameLike_alternation"/>
      </choice>
   </define>
   <define name="model.pPart.data_sequence">
      <ref name="model.dateLike_sequence"/>
      <ref name="model.measureLike_sequence"/>
      <ref name="model.addressLike_sequence"/>
      <ref name="model.nameLike_sequence"/>
   </define>
   <define name="model.pPart.data_sequenceOptional">
      <optional>
         <ref name="model.dateLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.measureLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.addressLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.nameLike_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.pPart.data_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.dateLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.measureLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.addressLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.nameLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.pPart.data_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.dateLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.measureLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.addressLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.nameLike_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="att.calendarSystem.attributes">
      <ref name="att.calendarSystem.attribute.calendar"/>
   </define>
   <define name="att.calendarSystem.attribute.calendar">
      <optional>
         <attribute name="calendar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the calendar used</a:documentation>
            <choice>
               <value>gregorian</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Gregorian calendar</a:documentation>
               <value>julian</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Julian calendar</a:documentation>
               <value>julian_annunciation</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">annunciation Style</a:documentation>
               <value>julian_natal</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Christmas Style or Nativity Style</a:documentation>
               <value>unknown</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unknown</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="p">
      <element name="p">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(paragraph) Describes a paragraph. [3.1. Paragraphs 7.2.5. Speech Contents]</a:documentation>
         <choice>
            <oneOrMore>
               <choice>
                  <ref name="bibl"/>
                  <ref name="list"/>
                  <ref name="ref"/>
                  <ref name="ssrq.content.default"/>
               </choice>
            </oneOrMore>
            <group>
               <ref name="seg"/>
               <ref name="seg"/>
               <zeroOrMore>
                  <ref name="seg"/>
               </zeroOrMore>
            </group>
         </choice>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:p[@xml:lang][following-sibling::tei:p|preceding-sibling::tei:p]">
               <sch:assert test="every $p in                     ./following-sibling::tei:p|./preceding-sibling::tei:p satisfies $p[@xml:lang]"
                           xml:lang="en"> If @xml:lang is used on tei:p the preceding and following tei:p
                    also have to use it. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:p[tei:ab]">
               <sch:assert test="./tei:ab[@type = 'marginal_note']"> If tei:ab is
                    used inside tei:p the type must always have the value
                    'marginal_note'. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-p-abstractModel-structure-p-in-ab-or-p-constraint-rule-7">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:p">
               <sch:report test="(ancestor::tei:ab or ancestor::tei:p) and                        not( ancestor::tei:floatingText                           | parent::tei:exemplum                           | parent::tei:item                           | parent::tei:note                           | parent::tei:q                           | parent::tei:quote                           | parent::tei:remarks                           | parent::tei:said                           | parent::tei:sp                           | parent::tei:stage                           | parent::tei:cell                           | parent::tei:figure )">
          Abstract model violation: Paragraphs may not occur inside other paragraphs or ab elements.
        </sch:report>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-p-abstractModel-structure-p-in-l-constraint-rule-8">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:l//tei:p">
               <sch:assert test="ancestor::tei:floatingText | parent::tei:figure | parent::tei:note">
          Abstract model violation: Metrical lines may not contain higher-level structural elements such as div, p, or ab, unless p is a child of figure or note, or is a descendant of floatingText.
        </sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.global.attribute.xmllang"/>
         <optional>
            <attribute name="n">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) the numbering of the paragraph</a:documentation>
               <data type="string"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="foreign">
      <element name="foreign">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(foreign form) Contains text that is in a different language than the main text. [3.3.2.1. Foreign Words or Expressions]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <attribute name="xml:lang">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the language according to ISO 639-1</a:documentation>
            <choice>
               <ref name="ssrq.lang.de"/>
               <ref name="ssrq.lang.fr"/>
               <ref name="ssrq.lang.he"/>
               <ref name="ssrq.lang.it"/>
               <ref name="ssrq.lang.la"/>
               <ref name="ssrq.lang.rm"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="hi">
      <element name="hi">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(highlighting) Describes the graphical highlighting of text. [3.3.2.2. Emphatic Words and Phrases 3.3.2. Emphasis, Foreign Words, and Unusual Language]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <ref name="att.written.attributes"/>
         <attribute name="rend">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the appearance of the highlighting</a:documentation>
            <list>
               <oneOrMore>
                  <choice>
                     <ref name="ssrq.rend.font"/>
                     <ref name="ssrq.rend.placement"/>
                     <ref name="ssrq.rend.rotation"/>
                  </choice>
               </oneOrMore>
            </list>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="quote">
      <element name="quote">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(quote) Contains a citation within an original text. [3.3.3. Quotation 4.3.1. Grouped Texts]</a:documentation>
         <choice>
            <choice>
               <group>
                  <ref name="seg"/>
                  <ref name="seg"/>
                  <zeroOrMore>
                     <ref name="seg"/>
                  </zeroOrMore>
               </group>
               <group>
                  <ref name="p"/>
                  <ref name="p"/>
                  <zeroOrMore>
                     <ref name="p"/>
                  </zeroOrMore>
               </group>
            </choice>
            <oneOrMore>
               <ref name="ssrq.content.default"/>
            </oneOrMore>
         </choice>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:quote[not(ancestor::tei:back)]">
               <sch:assert role="warning" test=".[following-sibling::*[1][self::tei:note]]">
                    tei:quote should be followed by a tei:note element. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <optional>
            <attribute name="source">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <list>
                     <oneOrMore>
                        <ref name="ssrq.pointer.urn"/>
                     </oneOrMore>
                  </list>
                  <ref name="ssrq.pointer.url"/>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of quote</a:documentation>
               <choice>
                  <value>fully_inserted</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a complete insert of another document</a:documentation>
                  <value>partially_inserted</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">an incomplete insert of another document</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="q">
      <element name="q">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(quote) Contains text in direct speech in the transcription. [3.3.3. Quotation]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
      </element>
   </define>
   <define name="term">
      <element name="term">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(term) Contains a lemma or a keyword. [3.4.1. Terms and Glosses]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:term">
               <sch:report test=".[not(@*)][not(normalize-space(.))][not(*)]"> tei:term should
                    have at least an attribute, text content or element content. </sch:report>
               <sch:assert test=".[@ref or @type]"> tei:term should have a @ref, a @type or
                    both. </sch:assert>
               <sch:report test=".[not(normalize-space(.))][not(*)][contains(@ref,                     'lem')]"> If tei:term has no text content or child nodes, the
                    @ref-attribute must reference a keyword, not a lemma. </sch:report>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:term[not(ancestor::tei:keywords)][not(normalize-space(.))][not(*)]">
               <sch:assert test=".[@type eq 'index']"> If tei:term is used outside
                    tei:keywords and has no text content or child nodes, then it must have a
                    @type-attribute with the value 'index'. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:term[not(ancestor::tei:keywords)][normalize-space(.) or *]">
               <sch:assert test=".[not(@type eq 'index')]"> If tei:term is used
                    outside tei:keywords and has text content or child elements, then it must not
                    have a @type-attribute with the value 'index'. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:term[@ref]">
               <sch:assert test=".[not(@type eq 'unknown')]"> If tei:term has a
                    @ref-attribute, it cannot be of @type 'unknown'. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <optional>
            <attribute name="ref">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <ref name="ssrq.pointer.keywords"/>
                  <ref name="ssrq.pointer.lemma"/>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of the termle type du terme</a:documentation>
               <choice>
                  <value>index</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">keyword for the index</a:documentation>
                  <value>unknown</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unknown expression or unclear meaning</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="sic">
      <element name="sic">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(latin for «thus») Contains obviously incorrect text. [3.5.1. Apparent Errors]</a:documentation>
         <oneOrMore>
            <choice>
               <text/>
               <ref name="abbr"/>
               <ref name="add"/>
               <ref name="del"/>
               <ref name="lb"/>
               <ref name="note"/>
               <ref name="pb"/>
               <ref name="subst"/>
               <ref name="ssrq.content.entities"/>
            </choice>
         </oneOrMore>
      </element>
   </define>
   <define name="corr">
      <element name="corr">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(correction) Contains a correction made by an editor. [3.5.1. Apparent Errors]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <ref name="att.global.responsibility.attribute.resp"/>
         <empty/>
      </element>
   </define>
   <define name="choice">
      <element name="choice">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(choice) Contains two elements for alternative markup of a text passage. [3.5. Simple Editorial Changes]</a:documentation>
         <choice>
            <group>
               <ref name="abbr"/>
               <ref name="expan"/>
            </group>
            <group>
               <ref name="sic"/>
               <ref name="corr"/>
            </group>
         </choice>
      </element>
   </define>
   <define name="orig">
      <element name="orig">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(original form) Contains parts of text written in original language within introductions, comments and notes. [3.5.2. Regularization and
Normalization 13. Critical Apparatus]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <ref name="att.global.attribute.xmllang"/>
         <empty/>
      </element>
   </define>
   <define name="gap">
      <element name="gap">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(gap) Describes an omission by the editor. [3.5.3. Additions, Deletions, and Omissions]</a:documentation>
         <empty/>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:gap[parent::tei:damage]">
               <sch:report test="@reason" xml:lang="en"> If tei:gap is a child of tei:damage,
                    @reason cannot be specified. </sch:report>
               <sch:assert test="@unit and @quantity" xml:lang="en"> If tei:gap is a child of
                    tei:damage, @unit and @quantity need to specified. </sch:assert>
            </sch:rule>
            <sch:rule context="tei:gap[not(parent::tei:damage) and @reason]">
               <sch:report test="@reason = 'illegible' and (not(@unit) or                     not(@quantity))"> If @reason is specified on tei:gap and its value is
                    "illegible", @unit and @quantity must be present, too. </sch:report>
            </sch:rule>
            <sch:rule context="tei:gap[not(parent::tei:damage) and @source]">
               <sch:report test="@unit or @quantity or @reason"> If @source is specified on
                    tei:gap, @unit, @quantity and @reason are forbidden. </sch:report>
            </sch:rule>
         </sch:pattern>
         <ref name="att.dimensions.attribute.quantity"/>
         <optional>
            <attribute name="unit">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the unit of measurement</a:documentation>
               <choice>
                  <ref name="ssrq.measure.lengths.base.cm"/>
                  <ref name="ssrq.dimensions.typography"/>
                  <ref name="ssrq.dimensions.scope"/>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="source">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <data type="string">
                     <param name="pattern">urn:ssrq:(SSRQ|SDS|FDS)-([A-Z]{2})-([A-Za-z0-9_]+)-(((([A-Za-z0-9]+\.)*)([0-9]+)-1))(#(\d+|fol\d+[rv](\-\d+[rv])?|[pn]\d+(\.\d+)?(\-\d+(\.\d+)?)?))?</param>
                  </data>
                  <data type="string">
                     <param name="pattern">urn:ssrq:[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}(#(\d+|fol\d+[rv](\-\d+[rv])?|[pn]\d+(\.\d+)?(\-\d+(\.\d+)?)?))?</param>
                  </data>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="reason">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the reason for the gap</a:documentation>
               <choice>
                  <value>illegible</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">illegible</a:documentation>
                  <value>irrelevant</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">irrelevant</a:documentation>
                  <value>missing</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">missing</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="add">
      <element name="add">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(addition) Contains text added by a writer. [3.5.3. Additions, Deletions, and Omissions]</a:documentation>
         <choice>
            <group>
               <ref name="seg"/>
               <ref name="seg"/>
               <zeroOrMore>
                  <ref name="seg"/>
               </zeroOrMore>
            </group>
            <group>
               <optional>
                  <ref name="head"/>
               </optional>
               <oneOrMore>
                  <ref name="p"/>
               </oneOrMore>
            </group>
            <oneOrMore>
               <ref name="ssrq.content.default"/>
            </oneOrMore>
         </choice>
         <ref name="att.written.attributes"/>
         <optional>
            <attribute name="rend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the writing means used</a:documentation>
               <choice>
                  <value>other_ink</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">with different ink</a:documentation>
                  <value>pencil</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">with pencil</a:documentation>
               </choice>
            </attribute>
         </optional>
         <attribute name="place">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the place of the addition</a:documentation>
            <choice>
               <ref name="ssrq.place"/>
               <ref name="ssrq.place.add"/>
            </choice>
         </attribute>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the kind of addition</a:documentation>
               <choice>
                  <value>sign</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marked by reference sign</a:documentation>
               </choice>
            </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 text deleted by a writer. [3.5.3. Additions, Deletions, and Omissions]</a:documentation>
         <choice>
            <group>
               <ref name="seg"/>
               <ref name="seg"/>
               <zeroOrMore>
                  <ref name="seg"/>
               </zeroOrMore>
            </group>
            <group>
               <optional>
                  <ref name="head"/>
               </optional>
               <oneOrMore>
                  <ref name="p"/>
               </oneOrMore>
            </group>
            <oneOrMore>
               <ref name="ssrq.content.default"/>
            </oneOrMore>
         </choice>
         <ref name="att.written.attributes"/>
         <optional>
            <attribute name="rend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the appearance of the deletion</a:documentation>
               <choice>
                  <value>blackened</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by blackening text</a:documentation>
                  <value>bracketed</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by bracketing text</a:documentation>
                  <value>crossout</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by crossed lines</a:documentation>
                  <value>overwritten</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deleted text directly overwritten</a:documentation>
                  <value>rubbing</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by scraping</a:documentation>
                  <value>strikethrough</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by strikethrough</a:documentation>
                  <value>subpunction</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by subpunctuation</a:documentation>
                  <value>expunction</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by expunctuation</a:documentation>
                  <value>underline</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by underlining</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="unclear">
      <element name="unclear">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unclear) Contains an uncertain reading. [12.3.3.1. Damage, Illegibility, and Supplied Text 3.5.3. Additions, Deletions, and Omissions]</a:documentation>
         <zeroOrMore>
            <ref name="ssrq.content.default"/>
         </zeroOrMore>
         <ref name="att.global.responsibility.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="num">
      <element name="num">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) Contains a number. [3.6.3. Numbers and
Measures]</a:documentation>
         <oneOrMore>
            <choice>
               <text/>
               <ref name="hi"/>
               <ref name="lb"/>
               <ref name="pb"/>
            </choice>
         </oneOrMore>
         <attribute name="value">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the numerical value in Arabic numerals</a:documentation>
            <choice>
               <data type="float"/>
               <data type="int"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="measure">
      <element name="measure">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(measure) Contains a measurement of any type. [3.6.3. Numbers and
Measures]</a:documentation>
         <oneOrMore>
            <choice>
               <text/>
               <ref name="ssrq.content.critical"/>
               <ref name="ssrq.content.display"/>
               <ref name="ssrq.content.content"/>
               <ref name="ssrq.content.entities"/>
            </choice>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:measure[@type = 'age']">
               <sch:let name="age" value="&#34;month|week|year&#34;"/>
               <sch:assert test="matches(@unit, concat('^', $age, '$'))">
                    "
                        <sch:value-of select="./@unit"/>
                        " is not a valid time unit – you need to choose from the following
                        list:
                        <sch:value-of select="string-join(tokenize($age, '\|'), ',                         ')"/>
               </sch:assert>
            </sch:rule>
            <sch:rule context="tei:measure[@type = 'area']">
               <sch:let name="area"
                        value="&#34;fauchée|Gertel|Hube|Juchart|Kammer|Klafter|Kuhsömmerung|Kuhwinterung|Mal|Mannmad|Mannwerk|Mitmal|Mütt|Rute|Schuh|Schuppose|Staffel|Tagwen|Zeile|Vierling&#34;"/>
               <sch:assert test="matches(@unit, concat('^', $area, '$'))">
                    "
                        <sch:value-of select="./@unit"/>
                        " is not a valid area unit – you need to choose from the following
                        list:
                        <sch:value-of select="string-join(tokenize($area, '\|'), ',                         ')"/>
               </sch:assert>
            </sch:rule>
            <sch:rule context="tei:measure[@type = 'currency']">
               <sch:let name="currency"
                        value="&#34;Angster|bluzger|Böhmischer_Groschen|bz|d|Dicken|Doubloon|ducatoon|Dukat|écu|écu_blanc|écu_dor|écu_petit|engrogne|filippo|fl|franc|Gros|Grossi|h|Halbgulden|Halbtaler|k|Kronentaler|L|lb|liard|lira|livre_faible|Louis_dor|Louistaler|lt|M|Mirliton|Ort|parpajola|Pistole|plp|Quart|S|scudo|soldo|sol_faible|Sonnendublone|Spagürli|ß|Taler|teston|Vierer|xr|zecchino&#34;"/>
               <sch:assert test="matches(@unit, concat('^', $currency,                     '$'))"> "
                        <sch:value-of select="./@unit"/>
                        " is not a valid currency unit – you need to choose from the following
                        list:
                        <sch:value-of select="string-join(tokenize($currency, '\|'),                         ', ')"/>
               </sch:assert>
            </sch:rule>
            <sch:rule context="tei:measure[@type = 'length']">
               <sch:let name="length"
                        value="&#34;Daumen|Elle|Finger|Fuss|Klafter|Linie|Meile|Schritt|Schuh|Stab|Vierling|Zoll|cm&#34;"/>
               <sch:assert test="matches(@unit, concat('^', $length,                     '$'))"> "
                        <sch:value-of select="./@unit"/>
                        " is not a valid length unit – you need to choose from the following
                        list:
                        <sch:value-of select="string-join(tokenize($length, '\|'),                         ', ')"/>
               </sch:assert>
            </sch:rule>
            <sch:rule context="tei:measure[@type = 'undefined']">
               <sch:let name="various"
                        value="&#34;Ballen|Bürde|Dutzend|Fuder|Gaden|Kloben|Laib|Loden|Maschen|Paar|Riste|Schoch|Schubkarre|Seil|Sester|Stock|Stuck|Zeine|billio|carriage&#34;"/>
               <sch:assert test="matches(@unit, concat('^', $various,                     '$'))"> "
                        <sch:value-of select="./@unit"/>
                        " is not a valid unspecific unit – you need to choose from the
                        following list:
                        <sch:value-of select="string-join(tokenize($various, '\|'),                         ', ')"/>
               </sch:assert>
            </sch:rule>
            <sch:rule context="tei:measure[@type = 'volume']">
               <sch:let name="volume"
                        value="&#34;Becher|Bosse|Brenten|Eimer|Fass|Fuder|Garbe|Immi|Kanne|Klafter|Kopf|Kratten|Kröttli|Ledi|Legel|Malter|Mass|Mäss|Mässli|Mütt|Quart|Quartane|Röhrchen|Sack|Saum|Schaffen|Scheffel|Scheibe|Sechzehner|Sester|Ster|Stuck|Tonne|Trinken|Vierdung|Vierling|Viertel|Zuber|carica|water&#34;"/>
               <sch:assert test="matches(@unit, concat('^', $volume,                     '$'))"> "
                        <sch:value-of select="./@unit"/>
                        " is not a valid capacity unit – you need to choose from the following
                        list:
                        <sch:value-of select="string-join(tokenize($volume, '\|'),                         ', ')"/>
               </sch:assert>
            </sch:rule>
            <sch:rule context="tei:measure[@type = 'weight']">
               <sch:let name="weight"
                        value="&#34;Biner|Gewäg|Krinne|Lot|Pfefferpfund|Pfund|Quentli|Rupp|Stuck|Unze|Vierling|Zentner|denier|grain&#34;"/>
               <sch:assert test="matches(@unit, concat('^', $weight,                     '$'))"> "
                        <sch:value-of select="./@unit"/>
                        " is not a valid weight unit – you need to choose from the following
                        list:
                        <sch:value-of select="string-join(tokenize($weight, '\|'),                         ', ')"/>
               </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.measurement.attributes"/>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of measure</a:documentation>
            <choice>
               <value>age</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">age</a:documentation>
               <value>area</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">area</a:documentation>
               <value>currency</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">currency</a:documentation>
               <value>length</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">length</a:documentation>
               <value>undefined</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">undefined</a:documentation>
               <value>volume</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">volume</a:documentation>
               <value>weight</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">weight</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="measureGrp">
      <element name="measureGrp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(measure group) Contains a group of measurements. [11.3.4. Dimensions]</a:documentation>
         <choice>
            <group>
               <ref name="cell"/>
               <ref name="cell"/>
               <zeroOrMore>
                  <ref name="cell"/>
               </zeroOrMore>
            </group>
            <interleave>
               <group>
                  <ref name="measure"/>
                  <ref name="measure"/>
                  <zeroOrMore>
                     <ref name="measure"/>
                  </zeroOrMore>
               </group>
               <zeroOrMore>
                  <choice>
                     <ref name="app"/>
                     <ref name="lb"/>
                     <text/>
                  </choice>
               </zeroOrMore>
            </interleave>
         </choice>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:measureGrp">
               <sch:assert test="count(.//tei:measure) &gt; 1" xml:lang="en"> tei:measureGrp
                    should have at least two tei:measures as descendants. </sch:assert>
            </sch:rule>
         </sch:pattern>
      </element>
   </define>
   <define name="date">
      <element name="date">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(date) Contains a date. [3.6.4. Dates and Times 2.2.4. Publication, Distribution, Licensing, etc. 2.6. The Revision Description 3.12.2.4. Imprint, Size of a Document, and Reprint Information 16.2.3. The Setting Description 14.4. Dates]</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="precision"/>
               <ref name="ssrq.content.default"/>
            </choice>
         </zeroOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:date[not(ancestor::tei:teiHeader)]">
               <sch:assert test="string-length(normalize-space(.)) &gt; 0 or child::*"> The
                    element tei:date must not be empty when outside tei:teiHeader. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:date[ancestor::tei:publicationStmt]">
               <sch:assert test="string-length(normalize-space(.)) = 0 and not(child::*)"> If
                    tei:date is part of tei:publicationStmt it must be empty. </sch:assert>
               <sch:assert test=".[@type][@type/data(.) = ('electronic',                     'print')]"> If tei:date is part of tei:publicationStmt it must
                    contain @type with a value of 'electronic' or 'print'.
                    </sch:assert>
               <sch:assert test=".[@when-custom or (@from-custom and                     @to-custom)][not(@calendar|@dur-iso|@notAfter-custom|@notBefore-custom|@period)]"> If tei:date is part of tei:publicationStmt it must contain @when-custom or @from-custom and to-custom, and may not contain @calendar, @dur-iso, @notAfter-custom, @notBefore-custom or @period. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:date[not(ancestor::tei:publicationStmt)]">
               <sch:report test=".[@type='electronic' or @type='print']">
                    If tei:date is outside tei:publicationStmt it may not be of @type
                    'electronic' or 'print'. </sch:report>
            </sch:rule>
         </sch:pattern>
         <ref name="att.calendarSystem.attributes"/>
         <ref name="att.datable.custom.attributes"/>
         <optional>
            <attribute name="period">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the period of time</a:documentation>
               <choice>
                  <ref name="ssrq.period.days"/>
                  <ref name="ssrq.period.seasons"/>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="dur-iso">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(duration) the period of time according to ISO 8601</a:documentation>
               <data type="string">
                  <param name="pattern">(R/)?P(\d+(\.\d+)?[YMWDH])+</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of date</a:documentation>
               <choice>
                  <value>deadline</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">period</a:documentation>
                  <value>deadline_floating_holiday</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">floating holiday (deadline)</a:documentation>
                  <value>deadline_holiday</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">feast day (period)</a:documentation>
                  <value>electronic</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">electronic publication</a:documentation>
                  <value>floating_holiday</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">floating holiday</a:documentation>
                  <value>holiday</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">feast day</a:documentation>
                  <value>print</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">print</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="time">
      <element name="time">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(time) Contains a time specification. [3.6.4. Dates and Times]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <optional>
            <attribute name="period">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the period of time</a:documentation>
               <choice>
                  <value>afternoon</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">afternoon</a:documentation>
                  <value>byNight</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">night</a:documentation>
                  <value>byDay</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">day</a:documentation>
                  <value>evening</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">evening</a:documentation>
                  <value>morning</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">morning</a:documentation>
                  <value>noon</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">noon</a:documentation>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="from-custom">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the beginning of the period according to iso 8601</a:documentation>
               <data type="string">
                  <param name="pattern">(((2[0-3]|[0-1][0-9]):[0-5][0-9]:[0-5][0-9])|24:00:00)</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="notAfter-custom">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the end of the period according to iso 8601</a:documentation>
               <data type="string">
                  <param name="pattern">(((2[0-3]|[0-1][0-9]):[0-5][0-9]:[0-5][0-9])|24:00:00)</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="notBefore-custom">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the beginning of the period according to iso 8601</a:documentation>
               <data type="string">
                  <param name="pattern">(((2[0-3]|[0-1][0-9]):[0-5][0-9]:[0-5][0-9])|24:00:00)</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="to-custom">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the end of the period according to iso 8601</a:documentation>
               <data type="string">
                  <param name="pattern">(((2[0-3]|[0-1][0-9]):[0-5][0-9]:[0-5][0-9])|24:00:00)</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="when-custom">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the date or time according to ISO 8601</a:documentation>
               <data type="string">
                  <param name="pattern">(((2[0-3]|[0-1][0-9]):[0-5][0-9]:[0-5][0-9])|24:00:00)</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="dur-iso">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(duration) the period of time according to ISO 8601</a:documentation>
               <data type="string">
                  <param name="pattern">(R/)?PT(\d+(\.\d+)?[HMS])+</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="abbr">
      <element name="abbr">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(abbreviation) Contains an abbreviation. [3.6.5. Abbreviations and Their Expansions]</a:documentation>
         <oneOrMore>
            <choice>
               <text/>
               <ref name="hi"/>
               <ref name="lb"/>
               <ref name="sic"/>
               <ref name="subst"/>
               <ref name="unclear"/>
            </choice>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:abbr">
               <sch:report test="contains(./string(), '.')"> No points are allowed
                    inside tei:abbr, cf. the guidelines for transcription. </sch:report>
            </sch:rule>
         </sch:pattern>
      </element>
   </define>
   <define name="expan">
      <element name="expan">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(expansion) Contains the expansion of an abbreviation. [3.6.5. Abbreviations and Their Expansions]</a:documentation>
         <oneOrMore>
            <choice>
               <text/>
               <ref name="ssrq.content.entities"/>
            </choice>
         </oneOrMore>
         <ref name="att.global.responsibility.attribute.resp"/>
         <empty/>
      </element>
   </define>
   <define name="ref">
      <element name="ref">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference) Contains a reference. [3.7. Simple Links and Cross-References 17.1. Links]</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="hi"/>
               <text/>
            </choice>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:ref[not(*)]">
               <sch:assert test="if (not(.[@target])) then string-length(normalize-space(.))                     &gt; 0 else .[@target]"> tei:ref should contain some text or must use the
                    attribute @target. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:ref[not(ancestor::tei:editorialDecl)][not(parent::tei:note[@type='text_comparison'])]">
               <sch:assert test="./parent::tei:bibl"> If tei:ref is not part of
                    tei:editorialDecl or tei:note with @type="text_comparison", it should
                    be enclosed in tei:bibl. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.pointing.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="list">
      <element name="list">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list) Describes a list or enumeration of any kind. [3.8. Lists]</a:documentation>
         <group>
            <optional>
               <ref name="head"/>
            </optional>
            <interleave>
               <oneOrMore>
                  <ref name="item"/>
               </oneOrMore>
               <zeroOrMore>
                  <choice>
                     <ref name="cb"/>
                     <ref name="pb"/>
                     <ref name="ssrq.content.anchor.spans"/>
                  </choice>
               </zeroOrMore>
            </interleave>
         </group>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-list-gloss-list-must-have-labels-constraint-rule-31">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:list[@type='gloss']">
               <sch:assert test="tei:label">The content of a "gloss" list should include a sequence of one or more pairs of a label element followed by an item element</sch:assert>
            </sch:rule>
         </pattern>
         <optional>
            <attribute name="rend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the appearance of the list</a:documentation>
               <choice>
                  <value>bulleted</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">list with bullet points</a:documentation>
                  <value>numbered</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">numbered list</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="item">
      <element name="item">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(item) Contains a list entry. [3.8. Lists 2.6. The Revision Description]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
      </element>
   </define>
   <define name="label">
      <element name="label">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(label) Contains marginal notes that are integrated into the edition text. [3.8. Lists]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:label[not(parent::list)]">
               <sch:assert test="preceding-sibling::*[1][self::tei:lb]"> tei:label must follow
                    after a tei:lb. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.written.attributes"/>
         <attribute name="place">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the place of the label</a:documentation>
            <choice>
               <value>left_margin</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the left margin</a:documentation>
               <value>right_margin</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the right margin</a:documentation>
            </choice>
         </attribute>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of the label</a:documentation>
            <choice>
               <value>keyword</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">keyword</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="head">
      <element name="head">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(heading) Contains a heading or title. [4.2.1. Headings and Trailers]</a:documentation>
         <choice>
            <oneOrMore>
               <choice>
                  <ref name="bibl"/>
                  <ref name="p"/>
                  <ref name="ssrq.content.default"/>
               </choice>
            </oneOrMore>
            <group>
               <ref name="seg"/>
               <ref name="seg"/>
               <zeroOrMore>
                  <ref name="seg"/>
               </zeroOrMore>
            </group>
         </choice>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:head[parent::tei:msDesc]">
               <sch:report test=".[@hand or @n or @place or @resp or @type]"> If tei:head is
                    inside tei:msDesc the following attributes are forbidden: @hand, @n, @place,
                    @resp and @type. </sch:report>
            </sch:rule>
         </sch:pattern>
         <ref name="att.global.attribute.xmllang"/>
         <ref name="att.global.responsibility.attribute.resp"/>
         <ref name="att.written.attributes"/>
         <optional>
            <attribute name="n">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) the numbering of the heading</a:documentation>
               <data type="string"/>
            </attribute>
         </optional>
         <optional>
            <attribute name="place">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the place of the heading</a:documentation>
               <choice>
                  <ref name="ssrq.place"/>
                  <ref name="ssrq.place.add"/>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of heading</a:documentation>
               <choice>
                  <value>title</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">title</a:documentation>
                  <value>subtitle</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">subtitle</a:documentation>
                  <value>subsubtitle</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">subsubtitle</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="note">
      <element name="note">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(note) Contains either a factual comment on a single passage of the text of the edition or a reference to another textual witness in which the respective text is reused. [3.9.1. Notes and Simple Annotation 2.2.6. The Notes Statement 3.12.2.8. Notes and Statement of Language 10.3.5.4. Notes within Entries]</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="bibl"/>
               <ref name="ref"/>
               <ref name="ssrq.content.default"/>
            </choice>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:note[parent::tei:app]">
               <sch:assert test="every $child in * satisfies $child/name() = ('ref',                     'orig')"> If a tei:note is used inside tei:app, only tei:ref and
                    tei:orig are allowed as children. </sch:assert>
               <sch:assert test="count(tei:ref) = 1"> A tei:note inside tei:app must have
                    exactly one tei:ref as a child. </sch:assert>
               <sch:assert test="count(tei:orig) = 1 or count(tei:orig) = 0"> A tei:note
                    inside tei:app may have one or no tei:orig as a child. </sch:assert>
               <sch:assert test="every $t in text()[normalize-space()] satisfies                     string-length($t) = 0"> A tei:note inside tei:app must not have text content.
                    </sch:assert>
               <sch:assert test=".[@type]"> A tei:note inside a critical apparatus must have a
                    @type attribute. </sch:assert>
            </sch:rule>
            <sch:rule context="tei:note[@type='text_comparison']">
               <sch:assert test="parent::tei:app"> A tei:note with @type
                    "text_comparison" must be a child of tei:app. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of note</a:documentation>
               <choice>
                  <value>text_comparison</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">reference to parallel passage</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="graphic">
      <element name="graphic">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(graphic) Contains information about an image or graphic illustration as part of the text or external reference. [3.10. Graphics and Other Non-textual Components 12.1. Digital Facsimiles]</a:documentation>
         <empty/>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:graphic">
               <sch:assert test="not(contains(@url, '/'))"> The usage of a
                    '/' is not allowed in @url </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.internetMedia.attributes"/>
         <ref name="att.resourced.attributes"/>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of graphic</a:documentation>
            <choice>
               <value>familytree</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">familytree</a:documentation>
               <value>figure</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">visualisation</a:documentation>
               <value>graphic</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">illustration</a:documentation>
               <value>map</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">map</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="pb">
      <element name="pb">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page beginning) Describes the beginning of a page in the original. [3.11.3. Milestone
Elements]</a:documentation>
         <empty/>
         <ref name="att.global.facs.attributes"/>
         <optional>
            <attribute name="n">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the numbering of the new page</a:documentation>
               <choice>
                  <ref name="ssrq.cover"/>
                  <ref name="ssrq.numbering"/>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of page beginning</a:documentation>
               <choice>
                  <value>original</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">original pagination</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="lb">
      <element name="lb">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(line beginning) Describes the beginning of a line. [3.11.3. Milestone
Elements 7.2.5. Speech Contents]</a:documentation>
         <empty/>
         <ref name="att.breaking.attributes"/>
         <ref name="att.global.facs.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="cb">
      <element name="cb">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(column beginning) Describes the beginning of a new column. [3.11.3. Milestone
Elements]</a:documentation>
         <empty/>
         <optional>
            <attribute name="n">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the column count of the original</a:documentation>
               <data type="string">
                  <param name="pattern">[a-z]{1}</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="author">
      <element name="author">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(author) Contains the writer of a source as part of <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;msItem&gt;</code>. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement]</a:documentation>
         <oneOrMore>
            <interleave>
               <optional>
                  <ref name="persName"/>
               </optional>
               <text/>
            </interleave>
         </oneOrMore>
         <ref name="att.global.responsibility.attribute.cert"/>
         <optional>
            <attribute name="role">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the role of the writer</a:documentation>
               <choice>
                  <value>scribe</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">scribe</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="editor">
      <element name="editor">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(editor) In the <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;titleStmt&gt;</code> of a piece, the editors of the edition unit are thus recorded. [3.12.2.2. Titles, Authors, and Editors]</a:documentation>
         <ref name="persName"/>
      </element>
   </define>
   <define name="respStmt">
      <element name="respStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsibility statement) Contains elements for describing the responsibility for the edition. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement]</a:documentation>
         <group>
            <choice>
               <oneOrMore>
                  <ref name="persName"/>
               </oneOrMore>
               <ref name="orgName"/>
            </choice>
            <oneOrMore>
               <ref name="resp"/>
            </oneOrMore>
         </group>
      </element>
   </define>
   <define name="resp">
      <element name="resp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsibility) Describes the nature of the responsibility. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement]</a:documentation>
         <choice>
            <ref name="ssrq.role.resp.de"/>
            <ref name="ssrq.role.resp.fr"/>
         </choice>
      </element>
   </define>
   <define name="title">
      <element name="title">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title) Contains the title of the volume of legal sources or the edition unit as part of the <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;titleStmt&gt;</code>, and the title of the series as part of the <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;seriesStmt&gt;</code>. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.5. The Series Statement]</a:documentation>
         <oneOrMore>
            <choice>
               <text/>
               <ref name="pc"/>
               <ref name="hi"/>
            </choice>
         </oneOrMore>
         <ref name="att.global.attribute.xmllang"/>
         <empty/>
      </element>
   </define>
   <define name="publisher">
      <element name="publisher">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publisher) In the case of publications, contains the name of the printer as part of <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;docImprint&gt;</code> and details of the issuing institution as part of <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;publicationStmt&gt;</code>. [3.12.2.4. Imprint, Size of a Document, and Reprint Information 2.2.4. Publication, Distribution, Licensing, etc.]</a:documentation>
         <choice>
            <text/>
            <ref name="persName"/>
            <ref name="orgName"/>
         </choice>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:publisher[ancestor::tei:publicationStmt]">
               <sch:assert test="normalize-space(.) = 'SSRQ-SDS-FDS'"> If
                    tei:publisher is part of tei:publicationStmt it must contain the text
                    "SSRQ-SDS-FDS". </sch:assert>
               <sch:assert test="not(@cert)"> If tei:publisher is part of tei:publicationStmt
                    it may not have the attribute @cert. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.global.responsibility.attribute.cert"/>
         <empty/>
      </element>
   </define>
   <define name="pubPlace">
      <element name="pubPlace">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publication place) Contains the place of publication. [3.12.2.4. Imprint, Size of a Document, and Reprint Information]</a:documentation>
         <text/>
         <ref name="att.global.responsibility.attribute.cert"/>
         <attribute name="ref">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <data type="string">
               <param name="pattern">loc\d{6}(\.1?\d{2})?</param>
            </data>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="bibl">
      <element name="bibl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(bibliographical statement) Contains a bibliographical reference with page references. [3.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2.7. The Source Description 16.3.2. Declarable Elements]</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="pc"/>
               <ref name="ref"/>
               <text/>
            </choice>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:bibl[@xml:id]">
               <sch:assert test="./parent::tei:listBibl"> The attribute @xml:id for tei:bibl
                    is allowed only inside tei:listBibl. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <optional>
            <attribute name="xml:id">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) the ID of the element</a:documentation>
               <data type="ID">
                  <param name="pattern">id-ssrq-[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="listBibl">
      <element name="listBibl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of bibliographical statements) Contains bibliographic information encoded with <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;bibl&gt;</code>. [3.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2.7. The Source Description 16.3.2. Declarable Elements]</a:documentation>
         <oneOrMore>
            <ref name="bibl"/>
         </oneOrMore>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of the list of bibliographic statements</a:documentation>
            <choice>
               <value>edition</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">edition</a:documentation>
               <value>literature</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">literature</a:documentation>
               <value>summary</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">summary</a:documentation>
               <value>translation</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">translation</a:documentation>
               <value>url</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">URLURLs</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="textLang">
      <element name="textLang">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text language) Describes a text language of a source. [3.12.2.4. Imprint, Size of a Document, and Reprint Information 11.6.6. Languages and Writing Systems]</a:documentation>
         <empty/>
         <attribute name="xml:lang">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the language according to ISO 639-1</a:documentation>
            <choice>
               <ref name="ssrq.lang.de"/>
               <ref name="ssrq.lang.fr"/>
               <ref name="ssrq.lang.he"/>
               <ref name="ssrq.lang.it"/>
               <ref name="ssrq.lang.la"/>
               <ref name="ssrq.lang.rm"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="pc">
      <element name="pc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(punctuation character) Contains a punctuation mark, which is processed specially considering linguistic regulations (for example, by adding a space). [18.1.2. Below the Word Level 18.4.2. Lightweight Linguistic Annotation]</a:documentation>
         <choice>
            <value>;</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>:</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>?</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <value>!</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         </choice>
      </element>
   </define>
   <define name="precision">
      <element name="precision">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(precision) Indicates uncertainty in dating. [22.2. Indications of Precision]</a:documentation>
         <empty/>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:precision[@match]">
               <sch:let name="parent" value="./parent::*"/>
               <sch:assert test="every $matchAttr in tokenize(./@match, ' ')                     satisfies exists($parent/@*[name() = substring-after($matchAttr,                     '@')])"> Every value that is targeted via @match must have a
                    corresponding attribute on the parent element. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.scoping.attributes"/>
         <attribute name="precision">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the precision of the attributes mentioned in <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@match</code>
            </a:documentation>
            <choice>
               <value>high</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>medium</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>low</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <value>unknown</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="att.tableDecoration.attributes">
      <ref name="att.tableDecoration.attribute.role"/>
   </define>
   <define name="att.tableDecoration.attribute.role">
      <optional>
         <attribute name="role">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the special use of the table cell</a:documentation>
            <choice>
               <value>label</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">column heading</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="table">
      <element name="table">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(table) Describes a table. [15.1.1. TEI Tables]</a:documentation>
         <interleave>
            <zeroOrMore>
               <choice>
                  <ref name="cb"/>
                  <ref name="head"/>
                  <ref name="pb"/>
               </choice>
            </zeroOrMore>
            <oneOrMore>
               <ref name="row"/>
            </oneOrMore>
         </interleave>
      </element>
   </define>
   <define name="row">
      <element name="row">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(row) Describes a row of a table. [15.1.1. TEI Tables]</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="cell"/>
               <ref name="measureGrp"/>
            </choice>
         </oneOrMore>
      </element>
   </define>
   <define name="cell">
      <element name="cell">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cell of a table) Describes a cell of a table. [15.1.1. TEI Tables]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <ref name="att.tableDecoration.attributes"/>
         <optional>
            <attribute name="rend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the text alignment within the table cell</a:documentation>
               <choice>
                  <value>align-bottom</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">aligned at the bottom of the cell</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="figure">
      <element name="figure">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(figure) Contains elements that describe graphical information. [15.4. Specific Elements for Graphic Images]</a:documentation>
         <optional>
            <ref name="graphic"/>
         </optional>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:figure[@type = 'illustration']">
               <sch:assert test="tei:graphic"> If the @type of tei:figure is
                    'illustration' an element tei:graphic is required. </sch:assert>
            </sch:rule>
            <sch:rule context="tei:figure[not(@type = 'illustration')]">
               <sch:assert test="not(*) and not(text())"> If the @type of tei:figure is not
                    'illustration' tei:figure must be empty. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.written.attributes"/>
         <optional>
            <attribute name="place">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the place of the figure</a:documentation>
               <list>
                  <oneOrMore>
                     <choice>
                        <value>above</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">above the line</a:documentation>
                        <value>below</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">below the line</a:documentation>
                        <value>bottom</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the bottom</a:documentation>
                        <value>cover</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the cover</a:documentation>
                        <value>cover_above</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the top of the cover</a:documentation>
                        <value>cover_bottom</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the bottom of the cover</a:documentation>
                        <value>cover_middle</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the middle of the cover</a:documentation>
                        <value>left_margin</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the left margin</a:documentation>
                        <value>next_page</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the next page</a:documentation>
                        <value>right_margin</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the right margin</a:documentation>
                        <value>verso</value>
                        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the reverse side</a:documentation>
                     </choice>
                  </oneOrMore>
               </list>
            </attribute>
         </optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of the figure</a:documentation>
            <choice>
               <value>copper_engraving</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">copper engraving</a:documentation>
               <value>drawing</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pen and ink drawing</a:documentation>
               <value>exlibris</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ex libris</a:documentation>
               <value>illustration</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">illustration</a:documentation>
               <value>locus_sigilli</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">locus sigilli</a:documentation>
               <value>monogram</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">monogram</a:documentation>
               <value>notarial_sign</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">notarial sign</a:documentation>
               <value>sign</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signe-de-renvoi</a:documentation>
               <value>stamp</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stamp</a:documentation>
               <value>woodcut</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">woodcut</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="teiHeader">
      <element name="teiHeader">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI header) Contains all metadata about the edited document. [2.1.1. The TEI Header and Its Components 16.1. Varieties of Composite Text]</a:documentation>
         <group>
            <ref name="fileDesc"/>
            <ref name="encodingDesc"/>
            <optional>
               <ref name="profileDesc"/>
            </optional>
         </group>
      </element>
   </define>
   <define name="fileDesc">
      <element name="fileDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(file description) Contains elements describing the edited template and the digital capture. [2.2. The File Description 2.1.1. The TEI Header and Its Components]</a:documentation>
         <group>
            <ref name="titleStmt"/>
            <ref name="publicationStmt"/>
            <ref name="seriesStmt"/>
            <ref name="sourceDesc"/>
         </group>
      </element>
   </define>
   <define name="titleStmt">
      <element name="titleStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title statement) Contains elements describing title and responsibilities. [2.2.1. The Title Statement 2.2. The File Description]</a:documentation>
         <group>
            <ref name="title"/>
            <oneOrMore>
               <ref name="editor"/>
            </oneOrMore>
            <oneOrMore>
               <ref name="respStmt"/>
            </oneOrMore>
         </group>
      </element>
   </define>
   <define name="extent">
      <element name="extent">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(extent) Describes the dimensions of a source. [2.2.3. Type and Extent of File 2.2. The File Description 3.12.2.4. Imprint, Size of a Document, and Reprint Information 11.7.1. Object Description]</a:documentation>
         <group>
            <ref name="dimensions"/>
            <optional>
               <ref name="dimensions"/>
            </optional>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:extent[count(tei:dimensions) &gt; 1]">
               <sch:assert test="count(distinct-values(tei:dimensions/@type)) =                     count(tei:dimensions)"> The @type of each tei:dimensions inside tei:extent
                    needs to be unique. </sch:assert>
            </sch:rule>
         </sch:pattern>
      </element>
   </define>
   <define name="publicationStmt">
      <element name="publicationStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publication statement) Contains elements describing the publication and distribution of the edited piece. [2.2.4. Publication, Distribution, Licensing, etc. 2.2. The File Description]</a:documentation>
         <group>
            <ref name="publisher"/>
            <rng:optional xmlns:rng="http://relaxng.org/ns/structure/1.0">
               <rng:group>
                  <rng:ref name="date"/>
                  <optional>
                     <rng:ref name="date"/>
                  </optional>
               </rng:group>
            </rng:optional>
            <ref name="availability"/>
         </group>
      </element>
   </define>
   <define name="idno">
      <element name="idno">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identification number) Contains an identification number. [14.3.1. Basic Principles 2.2.4. Publication, Distribution, Licensing, etc. 2.2.5. The Series Statement 3.12.2.4. Imprint, Size of a Document, and Reprint Information]</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="hi"/>
               <text/>
            </choice>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:idno[parent::tei:seriesStmt]">
               <sch:assert test="not(@xml:lang)"> The usage of @xml:lang is prohibited, when
                    tei:idno is used inside tei:seriesStmt. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:idno[parent::tei:seriesStmt][not(@type)]">
               <sch:assert role="warning"
                           test="matches(normalize-space(.),                     '^(SSRQ|SDS|FDS)-([A-Z]{2})-([A-Za-z0-9_]+)-(?:(?:[A-Za-z0-9]+\.)*)([0-9]+)-1$')"> The tei:idno must match the defined schema – see the examples in the documentation. </sch:assert>
            </sch:rule>
            <sch:rule context="tei:idno[parent::tei:seriesStmt][@type]">
               <sch:assert test="matches(normalize-space(.),                     '^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$')"> The tei:idno needs to be a UUID. </sch:assert>
            </sch:rule>
            <sch:rule context="tei:idno[parent::tei:msIdentifier]">
               <sch:assert test="@xml:lang"> The tei:idno needs an attribute @xml:lang if
                    it's inside tei:msIdentifier. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:TEI">
               <sch:let name="idnos"
                        value="//tei:idno[not(parent::tei:altIdentifier)] !                     normalize-space(.)"/>
               <sch:assert test="count(distinct-values($idnos)) = count($idnos)"> The value of
                    every tei:idno should be unique. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:idno[tei:hi]">
               <sch:assert test="./ancestor::tei:msIdentifier"> tei:hi inside tei:idno is only
                    allowed in tei:msIdentifier. </sch:assert>
               <sch:assert test="tei:hi/@rend = 'sup'"> If tei:hi is used inside
                    tei:idno the attribute rend must have the value "sup". </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.global.attribute.xmllang"/>
         <optional>
            <attribute name="source">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <data type="anyURI">
                  <param name="pattern">(https?|ftp)://[^\s/$.?#].[^\s]*</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of identification number</a:documentation>
               <choice>
                  <value>uuid</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Universally Unique Identifier</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="availability">
      <element name="availability">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(availability) Describes the availability of a text. [2.2.4. Publication, Distribution, Licensing, etc.]</a:documentation>
         <ref name="licence"/>
      </element>
   </define>
   <define name="licence">
      <element name="licence">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(licence) Describes the license under which a text is available. [2.2.4. Publication, Distribution, Licensing, etc.]</a:documentation>
         <choice>
            <value>Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA             4.0)</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
         </choice>
         <attribute name="target">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <choice>
               <value>https://creativecommons.org/licenses/by-nc-sa/4.0/</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the link to the license conditions</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="seriesStmt">
      <element name="seriesStmt">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series statement) Contains elements for describing the collection of Swiss legal sources series. [2.2.5. The Series Statement 2.2. The File Description]</a:documentation>
         <group>
            <ref name="title"/>
            <ref name="respStmt"/>
            <group>
               <ref name="idno"/>
               <ref name="idno"/>
            </group>
         </group>
      </element>
   </define>
   <define name="sourceDesc">
      <element name="sourceDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(source description) Contains elements describing the source or sources. [2.2.7. The Source Description]</a:documentation>
         <choice>
            <ref name="msDesc"/>
            <ref name="listWit"/>
         </choice>
      </element>
   </define>
   <define name="encodingDesc">
      <element name="encodingDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(encoding description) Contains elements for referencing the transcription guidelines. [2.3. The Encoding Description 2.1.1. The TEI Header and Its Components]</a:documentation>
         <ref name="editorialDecl"/>
      </element>
   </define>
   <define name="editorialDecl">
      <element name="editorialDecl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(editorial declaration) Includes a link to the transcription guidelines. [2.3.3. The Editorial Practices Declaration 2.3. The Encoding Description 16.3.2. Declarable Elements]</a:documentation>
         <ref name="p"/>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:editorialDecl">
               <sch:assert test="./tei:p/tei:ref"> tei:editorialDecl must contain a tei:p with
                    a tei:ref as a child. </sch:assert>
               <sch:assert test="./tei:p/tei:ref[@target='https://p.ssrq-sds-fds.ch/guidelines/transcription']"> The link inside tei:editorialDecl must point to the latest transcription guidelines: &lt;p&gt;&lt;ref target="https://p.ssrq-sds-fds.ch/guidelines/transcription"/&gt;&lt;/p&gt;. </sch:assert>
            </sch:rule>
         </sch:pattern>
      </element>
   </define>
   <define name="profileDesc">
      <element name="profileDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(profile description) Contains elements to describe the text using keywords. [2.4. The Profile Description 2.1.1. The TEI Header and Its Components]</a:documentation>
         <ref name="textClass"/>
      </element>
   </define>
   <define name="handNote">
      <element name="handNote">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(note on one hand) Describes a hand and, where appropriate, identifies it with a scribe. [11.7.2. Writing, Decoration, and Other Notations]</a:documentation>
         <group>
            <zeroOrMore>
               <ref name="date"/>
            </zeroOrMore>
            <zeroOrMore>
               <ref name="p"/>
            </zeroOrMore>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:handNote[@xml:id]">
               <sch:let name="note-id" value="@xml:id"/>
               <sch:assert test="root(.)//@hand[. = $note-id]"> The tei:handNote-element with
                    the @xml:id
                        <sch:value-of select="$note-id"/>
                        is not referenced by the @hand of any element. Please reference the
                        handNote-element or delete it, if it is not needed anymore. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.handFeatures.attributes"/>
         <attribute name="xml:id">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) the ID of the element</a:documentation>
            <choice>
               <ref name="ssrq.hand"/>
               <ref name="ssrq.hand.century"/>
               <ref name="ssrq.id.string"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="textClass">
      <element name="textClass">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text classification) Contains elements for describing a text using keywords. [2.4.3. The Text Classification]</a:documentation>
         <ref name="keywords"/>
      </element>
   </define>
   <define name="keywords">
      <element name="keywords">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(keywords) Contains the most important keywords for the content of a source. [2.4.3. The Text Classification]</a:documentation>
         <oneOrMore>
            <ref name="term"/>
         </oneOrMore>
      </element>
   </define>
   <define name="ab">
      <element name="ab">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(anonymous block) Contains any text block without a clearly defined assignment. [17.3. Blocks, Segments, and Anchors]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:ab[tei:hi]">
               <sch:report role="warning"
                           test=".[count(*) =                     1][string-length(normalize-space(string-join(text(), ''))) = 0]"
                           xml:lang="en"> If no further text is used inside tei:ab and tei:hi is the only
                    child, consider using the rend-attribute of tei:ab. </sch:report>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:ab[@type='marginal_note']">
               <sch:assert test=".[@place[contains(., 'margin')]]" xml:lang="en"> If
                    tei:ab is of type marginal_note, its place must be either
                    'left_margin' or 'right_margin'. </sch:assert>
            </sch:rule>
            <sch:rule context="tei:ab[@type='dorsal']">
               <sch:assert test=".[@place[contains(., 'verso')]]" xml:lang="en"> If
                    tei:ab is of type dorsal, its place must be on the verso page. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-ab-abstractModel-structure-ab-in-l-constraint-rule-54">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:l//tei:ab">
               <sch:assert test="ancestor::tei:floatingText | parent::tei:figure | parent::tei:note">
          Abstract model violation: Metrical lines may not contain higher-level divisions such as p or ab, unless ab is a child of figure or note, or is a descendant of floatingText.
        </sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.global.attribute.xmllang"/>
         <ref name="att.written.attributes"/>
         <optional>
            <attribute name="rend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the writing means used</a:documentation>
               <choice>
                  <ref name="ssrq.rend.add"/>
                  <ref name="ssrq.rend.placement"/>
                  <ref name="ssrq.rend.rotation"/>
               </choice>
            </attribute>
         </optional>
         <attribute name="place">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the place of the anonymous block</a:documentation>
            <choice>
               <ref name="ssrq.place"/>
               <ref name="ssrq.place.ab"/>
               <ref name="ssrq.place.add"/>
            </choice>
         </attribute>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of text block</a:documentation>
            <choice>
               <value>address</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">address</a:documentation>
               <value>archiving_reference</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">registratur’s sign</a:documentation>
               <value>chancery_notation</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">chancery notation</a:documentation>
               <value>computatio</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">computatio</a:documentation>
               <value>dorsal</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">note</a:documentation>
               <value>marginal_note</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marginal note</a:documentation>
               <value>sigillant</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sigillant’s notes</a:documentation>
               <value>tax</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tax note</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="anchor">
      <element name="anchor">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(anchoring point) Endpoint of extensive addition (<code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;addSpan&gt;</code>), deletion (<code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;delSpan&gt;</code>) or corruption (<code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;damageSpan&gt;</code>). [8.4.2. Synchronization and Overlap 17.5. Correspondence and Alignment]</a:documentation>
         <empty/>
         <attribute name="xml:id">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) the ID of the element</a:documentation>
            <data type="ID">
               <param name="pattern">(del|damage|add)[1-9][0-9]*</param>
            </data>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="seg">
      <element name="seg">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(segment) Paragraphs inserted by the editor to structure the source text. [17.3. Blocks, Segments, and Anchors 6.2. Components of the Verse Line 7.2.5. Speech Contents]</a:documentation>
         <choice>
            <oneOrMore>
               <choice>
                  <ref name="add"/>
                  <ref name="cb"/>
                  <ref name="head"/>
                  <ref name="list"/>
                  <ref name="p"/>
                  <ref name="pb"/>
                  <ref name="table"/>
               </choice>
            </oneOrMore>
            <group>
               <ref name="seg"/>
               <ref name="seg"/>
               <zeroOrMore>
                  <ref name="seg"/>
               </zeroOrMore>
            </group>
            <oneOrMore>
               <ref name="ssrq.content.default"/>
            </oneOrMore>
         </choice>
         <optional>
            <attribute name="n">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) the numbering of the segment</a:documentation>
               <data type="string"/>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="msDesc">
      <element name="msDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript description) Describes the edited source document, including place of preservation, material, layout, scribe, seal and bibliography on secondary literature (metadata). [11.1. Overview]</a:documentation>
         <group>
            <optional>
               <ref name="msIdentifier"/>
            </optional>
            <zeroOrMore>
               <ref name="head"/>
            </zeroOrMore>
            <optional>
               <ref name="msContents"/>
            </optional>
            <optional>
               <ref name="physDesc"/>
            </optional>
            <ref name="history"/>
            <optional>
               <ref name="additional"/>
            </optional>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:msDesc[ancestor::tei:TEI//tei:text[@type =                 'collection']]">
               <sch:assert test=".[not(//tei:adminInfo)][not(tei:physDesc)]"> Neither
                    tei:physDesc nor tei:adminInfo are allowed for documents with tei:text/@type =
                    'collection'.</sch:assert>
            </sch:rule>
            <sch:rule context="tei:msDesc[not(ancestor::tei:TEI//tei:text[@type =                 'collection'])][not(tei:physDesc)]">
               <sch:assert test=".[//tei:adminInfo]"> If no tei:physDesc is given,
                    tei:adminInfo is required.</sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:msDesc[parent::tei:sourceDesc]">
               <sch:assert test=".[tei:head]"> tei:head is necessary when there is only one
                    text witness. </sch:assert>
            </sch:rule>
            <sch:rule context="tei:msDesc[parent::tei:witness[@n='A']]">
               <sch:assert test="./tei:head"> tei:head is necessary for the main text witness.
                    </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:msDesc[count(tei:head)=1]">
               <sch:report test="tei:head[@xml:lang]"> If just one tei:head is used in a text
                    witness, @xml:lang may not be specified there. </sch:report>
            </sch:rule>
            <sch:rule context="tei:msDesc[count(tei:head)&gt;1]">
               <sch:assert test="tei:head[@xml:lang]"> If multiple tei:head elements are used
                    in a text witness, @xml:lang must be specified for them. </sch:assert>
               <sch:assert test="count(distinct-values(tei:head/@xml:lang)) =                     count(tei:head)"> If multiple tei:head elements are used in a text witness,
                    @xml:lang must be unique for all of these. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-msDesc-one_ms_singleton_max-constraint-rule-61">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:msContents|tei:physDesc|tei:history|tei:additional">
               <sch:let name="gi" value="name(.)"/>
               <sch:report test="preceding-sibling::*[ name(.) eq $gi ]                           and                           not( following-sibling::*[ name(.) eq $gi ] )">
          Only one <sch:name/> is allowed as a child of <sch:value-of select="name(..)"/>.
        </sch:report>
            </sch:rule>
         </pattern>
      </element>
   </define>
   <define name="dimensions">
      <element name="dimensions">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(dimensions) Dimension of a source [11.3.4. Dimensions]</a:documentation>
         <interleave>
            <ref name="width"/>
            <optional>
               <ref name="height"/>
            </optional>
         </interleave>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:dimensions[@type = 'plica']">
               <sch:assert test="count(*) = 1 and */name() = 'width'">If the value
                    of @type is 'plica' only one tei:width is allowed as a
                    child.</sch:assert>
            </sch:rule>
         </sch:pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-dimensions-duplicateDim-constraint-rule-63">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:dimensions">
               <sch:report test="count(tei:width) gt 1">
          The element <sch:name/> may appear once only
        </sch:report>
               <sch:report test="count(tei:height) gt 1">
          The element <sch:name/> may appear once only
        </sch:report>
               <sch:report test="count(tei:depth) gt 1">
          The element <sch:name/> may appear once only
        </sch:report>
            </sch:rule>
         </pattern>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of dimension</a:documentation>
            <choice>
               <value>book</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">book</a:documentation>
               <value>leaves</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">leaves</a:documentation>
               <value>plica</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">plica</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="height">
      <element name="height">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(height) Describes the height of a sheet or book. [11.3.4. Dimensions]</a:documentation>
         <empty/>
         <attribute name="quantity">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the size of the unit specified with <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@unit</code>
            </a:documentation>
            <choice>
               <ref name="ssrq.quantity.positive"/>
               <ref name="ssrq.dimensions.unknown"/>
            </choice>
         </attribute>
         <attribute name="unit">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the unit of measurement</a:documentation>
            <choice>
               <ref name="ssrq.dimensions.unknown"/>
               <ref name="ssrq.measure.lengths.base.cm"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="width">
      <element name="width">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(width) Describes the width of a sheet or book and the width of the plica. [11.3.4. Dimensions]</a:documentation>
         <empty/>
         <attribute name="quantity">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the size of the unit specified with <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@unit</code>
            </a:documentation>
            <choice>
               <ref name="ssrq.quantity.positive"/>
               <ref name="ssrq.dimensions.unknown"/>
            </choice>
         </attribute>
         <attribute name="unit">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the unit of measurement</a:documentation>
            <choice>
               <ref name="ssrq.dimensions.unknown"/>
               <ref name="ssrq.measure.lengths.base.cm"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="material">
      <element name="material">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(material) Describes the support material. [11.3.2. Material and Object Type]</a:documentation>
         <empty/>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of material</a:documentation>
            <choice>
               <value>paper</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">paper</a:documentation>
               <value>parchment</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">parchment</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="origDate">
      <element name="origDate">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(date of origin) Contains this in the head area the date of creation of a document. [11.3.1. Origination]</a:documentation>
         <zeroOrMore>
            <choice>
               <ref name="precision"/>
               <ref name="ssrq.content.default"/>
            </choice>
         </zeroOrMore>
         <ref name="att.datable.custom.attributes"/>
         <attribute name="calendar">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the calendar used</a:documentation>
            <choice>
               <value>gregorian</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Gregorian calendar</a:documentation>
               <value>julian</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Julian calendar</a:documentation>
               <value>julian_annunciation</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">annunciation Style</a:documentation>
               <value>julian_natal</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Christmas Style or Nativity Style</a:documentation>
               <value>unknown</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">unknown</a:documentation>
            </choice>
         </attribute>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">what the date of origin refers to</a:documentation>
            <choice>
               <value>content</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dating or localization of the content of the document</a:documentation>
               <value>document</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dating or localization of the document as a text carrier</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="origPlace">
      <element name="origPlace">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(place of origin) Contains the place of issue or printing of a source. [11.3.1. Origination]</a:documentation>
         <text/>
         <ref name="att.global.responsibility.attribute.cert"/>
         <attribute name="ref">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <data type="string">
               <param name="pattern">loc\d{6}(\.1?\d{2})?</param>
            </data>
         </attribute>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">what the place of origin refers to</a:documentation>
            <choice>
               <value>content</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dating or localization of the content of the document</a:documentation>
               <value>document</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">dating or localization of the document as a text carrier</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="msIdentifier">
      <element name="msIdentifier">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript identifier) Describes the current and historical locations of the source. [11.4. The Manuscript Identifier]</a:documentation>
         <group>
            <oneOrMore>
               <ref name="settlement"/>
               <ref name="repository"/>
               <ref name="idno"/>
            </oneOrMore>
            <zeroOrMore>
               <ref name="altIdentifier"/>
            </zeroOrMore>
         </group>
      </element>
   </define>
   <define name="repository">
      <element name="repository">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(repository) Contains the name of the archive in which the source is located without abbreviation. [11.4. The Manuscript Identifier]</a:documentation>
         <text/>
         <attribute name="xml:lang">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the language according to ISO 639-1</a:documentation>
            <choice>
               <ref name="ssrq.lang.de"/>
               <ref name="ssrq.lang.fr"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="altIdentifier">
      <element name="altIdentifier">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternative identifier) Contains an old archive signature. [11.4. The Manuscript Identifier]</a:documentation>
         <ref name="idno"/>
      </element>
   </define>
   <define name="msContents">
      <element name="msContents">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript contents) Contains the regest and text language of the source. [11.6. Intellectual Content]</a:documentation>
         <group>
            <zeroOrMore>
               <ref name="summary"/>
            </zeroOrMore>
            <ref name="msItem"/>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:msContents[count(tei:summary) &gt; 1]">
               <sch:assert test="count(distinct-values(tei:summary/@xml:lang)) =                     count(tei:summary)"
                           xml:lang="en"> When there are more than one
                    tei:summary-elements inside tei:msContents, their @xml:lang attributes must be
                    different. </sch:assert>
            </sch:rule>
         </sch:pattern>
      </element>
   </define>
   <define name="msItem">
      <element name="msItem">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript item) Contains information about a single part of a source. [11.6.1. The msItem and msItemStruct Elements]</a:documentation>
         <oneOrMore>
            <ref name="textLang"/>
         </oneOrMore>
         <optional>
            <choice>
               <oneOrMore>
                  <ref name="author"/>
               </oneOrMore>
               <ref name="docImprint"/>
            </choice>
         </optional>
      </element>
   </define>
   <define name="summary">
      <element name="summary">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(regest) Describes the content of the source in detail. [11.6. Intellectual Content]</a:documentation>
         <oneOrMore>
            <ref name="p"/>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:summary/tei:p">
               <sch:assert test="not(.[@xml:lang])"> tei:p inside tei:summary should not have
                    an attribute @xml:lang. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <attribute name="xml:lang">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the language according to ISO 639-1</a:documentation>
            <choice>
               <ref name="ssrq.lang.de"/>
               <ref name="ssrq.lang.fr"/>
               <ref name="ssrq.lang.he"/>
               <ref name="ssrq.lang.it"/>
               <ref name="ssrq.lang.la"/>
               <ref name="ssrq.lang.rm"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="physDesc">
      <element name="physDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(physical description) Describes the physical condition of the source (material, mass, state of preservation, scribal hands, extraordinary decorations, seals). [11.7. Physical Description]</a:documentation>
         <group>
            <ref name="objectDesc"/>
            <optional>
               <ref name="bindingDesc"/>
            </optional>
            <optional>
               <ref name="handDesc"/>
            </optional>
            <optional>
               <ref name="sealDesc"/>
            </optional>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:physDesc">
               <sch:assert role="warning" test=".[tei:bindingDesc]"> Missing tei:bindingDesc
                    als child of tei:physDesc. </sch:assert>
            </sch:rule>
         </sch:pattern>
      </element>
   </define>
   <define name="objectDesc">
      <element name="objectDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(object description) Contains elements describing the material, mass, state of preservation and appearance of the source. [11.7.1. Object Description]</a:documentation>
         <ref name="supportDesc"/>
      </element>
   </define>
   <define name="supportDesc">
      <element name="supportDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(support description) Contains elements to describe a source’s material, masses, foliation and conservation status. [11.7.1. Object Description]</a:documentation>
         <group>
            <ref name="support"/>
            <optional>
               <ref name="extent"/>
            </optional>
            <optional>
               <ref name="foliation"/>
            </optional>
            <optional>
               <ref name="condition"/>
            </optional>
         </group>
      </element>
   </define>
   <define name="support">
      <element name="support">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(support) Contains elements describing the support. [11.7.1. Object Description]</a:documentation>
         <ref name="material"/>
      </element>
   </define>
   <define name="foliation">
      <element name="foliation">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(foliation) Describes the foliation of a source. [11.7.1.4. Foliation]</a:documentation>
         <oneOrMore>
            <ref name="p"/>
         </oneOrMore>
      </element>
   </define>
   <define name="condition">
      <element name="condition">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(condition) Describes the state of preservation and damage to a source. Detailed descriptions, such as gaps, holes, etc., are given at the appropriate place. [11.7.1.5. Condition]</a:documentation>
         <optional>
            <ref name="p"/>
         </optional>
         <ref name="att.damaged.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="handDesc">
      <element name="handDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hand description) Describes the hands and all hand changes. [11.7.2. Writing, Decoration, and Other Notations]</a:documentation>
         <oneOrMore>
            <ref name="handNote"/>
         </oneOrMore>
      </element>
   </define>
   <define name="bindingDesc">
      <element name="bindingDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(binding description) Contains information about the physical structure or binding of a text. [11.7.3.1. Binding Descriptions]</a:documentation>
         <oneOrMore>
            <ref name="p"/>
         </oneOrMore>
      </element>
   </define>
   <define name="sealDesc">
      <element name="sealDesc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(seal description) Contains elements describing the seals. [11.7.3.2. Seals]</a:documentation>
         <oneOrMore>
            <ref name="seal"/>
         </oneOrMore>
      </element>
   </define>
   <define name="seal">
      <element name="seal">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(seal) Describes a seal. [11.7.3.2. Seals]</a:documentation>
         <group>
            <optional>
               <choice>
                  <ref name="orgName"/>
                  <ref name="persName"/>
               </choice>
            </optional>
            <optional>
               <ref name="p"/>
            </optional>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:seal">
               <sch:let name="expectedNumber"
                        value="count(./preceding-sibling::tei:seal) +                     1"/>
               <sch:assert test="./@n = $expectedNumber"> The value of @n must be equal to
                        <sch:value-of select="$expectedNumber"/>
                        . </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.global.facs.attributes"/>
         <ref name="ssrq.att.seal.attributes"/>
         <optional>
            <attribute name="ref">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a link to a database of seals</a:documentation>
               <data type="anyURI">
                  <param name="pattern">(https?|ftp)://[^\s/$.?#].[^\s]*</param>
               </data>
            </attribute>
         </optional>
         <attribute name="n">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) the numbering of the seal</a:documentation>
            <data type="positiveInteger"/>
         </attribute>
         <optional>
            <attribute name="place">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the place of the seal</a:documentation>
               <choice>
                  <value>end</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the end of the act</a:documentation>
                  <value>overleaf</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the other side of the page</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="history">
      <element name="history">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(history) Contains information about the history of a document. These include, for example, dating or the place of issue. [11.8. History]</a:documentation>
         <ref name="origin"/>
      </element>
   </define>
   <define name="origin">
      <element name="origin">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(origin) Contains information on the origin of a document. [11.8. History]</a:documentation>
         <group>
            <group>
               <ref name="origDate"/>
               <optional>
                  <ref name="origDate"/>
               </optional>
            </group>
            <zeroOrMore>
               <ref name="origPlace"/>
            </zeroOrMore>
            <optional>
               <ref name="orgName"/>
            </optional>
         </group>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:origin">
               <sch:assert test="count(distinct-values(tei:origDate/@type)) =                     count(tei:origDate)"> When there are two tei:origDates inside tei:origin, their
                    @type attributes must be different. </sch:assert>
            </sch:rule>
         </sch:pattern>
      </element>
   </define>
   <define name="additional">
      <element name="additional">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(additional information) Contains references to editions, regesta and literature. [11.9. Additional Information]</a:documentation>
         <group>
            <optional>
               <ref name="adminInfo"/>
            </optional>
            <zeroOrMore>
               <ref name="listBibl"/>
            </zeroOrMore>
         </group>
      </element>
   </define>
   <define name="adminInfo">
      <element name="adminInfo">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(administrative information) Contains information on the storage of a document. Used, for example, in the case of lost manuscripts. [11.9.1. Administrative Information]</a:documentation>
         <ref name="custodialHist"/>
      </element>
   </define>
   <define name="custodialHist">
      <element name="custodialHist">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(custodial history) Contains information on the custodial history of a document. [11.9.1.2. Availability and Custodial History]</a:documentation>
         <ref name="custEvent"/>
      </element>
   </define>
   <define name="custEvent">
      <element name="custEvent">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(event in the custodial history) Describes an event in the custodial history of a document. [11.9.1.2. Availability and Custodial History]</a:documentation>
         <text/>
         <ref name="att.calendarSystem.attributes"/>
         <ref name="att.datable.custom.attributes"/>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of event</a:documentation>
            <choice>
               <value>lost</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">loss of the document</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="att.datable.custom.attributes">
      <ref name="att.datable.custom.attribute.from-custom"/>
      <ref name="att.datable.custom.attribute.notAfter-custom"/>
      <ref name="att.datable.custom.attribute.notBefore-custom"/>
      <ref name="att.datable.custom.attribute.to-custom"/>
      <ref name="att.datable.custom.attribute.when-custom"/>
   </define>
   <define name="att.datable.custom.attribute.from-custom">
      <optional>
         <attribute name="from-custom">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the beginning of the period according to iso 8601</a:documentation>
            <data type="string">
               <param name="pattern">(((\d{4}|-)-(0[1-9]|1[0-2]))|--)-(0[1-9]|[1-2][0-9]|3[0-1])</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.datable.custom.attribute.notAfter-custom">
      <optional>
         <attribute name="notAfter-custom">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the end of the period according to iso 8601</a:documentation>
            <data type="string">
               <param name="pattern">(((\d{4}|-)-(0[1-9]|1[0-2]))|--)-(0[1-9]|[1-2][0-9]|3[0-1])</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.datable.custom.attribute.notBefore-custom">
      <optional>
         <attribute name="notBefore-custom">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the beginning of the period according to iso 8601</a:documentation>
            <data type="string">
               <param name="pattern">(((\d{4}|-)-(0[1-9]|1[0-2]))|--)-(0[1-9]|[1-2][0-9]|3[0-1])</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.datable.custom.attribute.to-custom">
      <optional>
         <attribute name="to-custom">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the end of the period according to iso 8601</a:documentation>
            <data type="string">
               <param name="pattern">(((\d{4}|-)-(0[1-9]|1[0-2]))|--)-(0[1-9]|[1-2][0-9]|3[0-1])</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.datable.custom.attribute.when-custom">
      <optional>
         <attribute name="when-custom">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the date or time according to ISO 8601</a:documentation>
            <data type="string">
               <param name="pattern">(((\d{4}|-)-(0[1-9]|1[0-2]))|--)-(0[1-9]|[1-2][0-9]|3[0-1])</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="model.persNamePart">
      <notAllowed/>
   </define>
   <define name="model.persNamePart_alternation">
      <notAllowed/>
   </define>
   <define name="model.persNamePart_sequence">
      <empty/>
   </define>
   <define name="model.persNamePart_sequenceOptional">
      <empty/>
   </define>
   <define name="model.persNamePart_sequenceOptionalRepeatable">
      <empty/>
   </define>
   <define name="model.persNamePart_sequenceRepeatable">
      <notAllowed/>
   </define>
   <define name="orgName">
      <element name="orgName">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organization name) Characterises an organisation or institution, such as monasteries, guilds, councils, neighbourhoods, etc. [14.2.2. Organizational Names]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:orgName[ancestor::tei:seriesStmt]">
               <sch:let name="ssrq"
                        value="(normalize-space('Fondation des sources du                     droit de la Société suisse des juristes'),                     normalize-space('Rechtsquellenstiftung der Schweizerischen Juristischen                     Gesellschaft'))"/>
               <sch:let name="content" value="normalize-space(.)"/>
               <sch:assert test="$content = $ssrq"> The content of tei:orgName must match
                        <sch:value-of select="string-join($ssrq, ' or ')"/>
                        . </sch:assert>
            </sch:rule>
            <sch:rule context="tei:orgName[parent::tei:respStmt]">
               <sch:assert test=".[not(@*)]"> If tei:orgName is used as part of tei:respStmt
                    no attributes are allowed. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <optional>
            <attribute name="ref">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <data type="string">
                  <param name="pattern">org\d{6}(\.1?\d{2})?</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="role">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the role of the organization in the text</a:documentation>
               <choice>
                  <value>issuer</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">issuer</a:documentation>
                  <value>recipient</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">recipient</a:documentation>
                  <value>sigillant</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sigillant</a:documentation>
                  <value>testis</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">witness</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="persName">
      <element name="persName">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(personal name) Indicates a person and usually includes only the first and last name. [14.2.1. Personal Names]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:persName[ancestor::tei:editor]">
               <sch:assert test="not(@ref|@role)"> If tei:persName is part of tei:editor it
                    must not contain the attributes @ref or @role. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <optional>
            <attribute name="ref">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <data type="string">
                  <param name="pattern">per\d{6}[abc]?(\.1?\d{2})?</param>
               </data>
            </attribute>
         </optional>
         <optional>
            <attribute name="role">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the role of a person in the text</a:documentation>
               <choice>
                  <value>audentiaprocurator</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">audentiaprocurator</a:documentation>
                  <value>biblical</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">biblical person, but not a saint</a:documentation>
                  <value>computator</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">computator</a:documentation>
                  <value>corrector</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">corrector</a:documentation>
                  <value>issuer</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">issuer</a:documentation>
                  <value>mythological</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">mythological person</a:documentation>
                  <value>procurator</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">procurator</a:documentation>
                  <value>protonotary</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">protonotary</a:documentation>
                  <value>recipient</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">recipient</a:documentation>
                  <value>rescribendary</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rescribendary</a:documentation>
                  <value>saint</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">saint</a:documentation>
                  <value>scribe</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">scribe</a:documentation>
                  <value>sigillant</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sigillant</a:documentation>
                  <value>witness</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">witness</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="placeName">
      <element name="placeName">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(place name) Indicates topographical designations (a place or a field name). [14.2.3. Place Names]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <optional>
            <attribute name="ref">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <data type="string">
                  <param name="pattern">loc\d{6}(\.1?\d{2})?</param>
               </data>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="settlement">
      <element name="settlement">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(settlement) Recording of a settlement name (location of the archive) within <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;msIdentifier&gt;</code>. [14.2.3. Place Names]</a:documentation>
         <text/>
         <attribute name="ref">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <data type="string">
               <param name="pattern">loc\d{6}(\.1?\d{2})?</param>
            </data>
         </attribute>
         <attribute name="xml:lang">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the language according to ISO 639-1</a:documentation>
            <choice>
               <ref name="ssrq.lang.de"/>
               <ref name="ssrq.lang.fr"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="att.witnessed.attributes">
      <ref name="att.witnessed.attribute.wit"/>
   </define>
   <define name="att.witnessed.attribute.wit">
      <attribute name="wit">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">one or more references to the <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">@xml:id</code> of <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;witness&gt;</code> or <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;bibl&gt;</code> elements</a:documentation>
         <list>
            <oneOrMore>
               <ref name="ssrq.pointer.id"/>
            </oneOrMore>
         </list>
      </attribute>
   </define>
   <define name="app">
      <element name="app">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(apparatus) Contains a apparatus entry. [13.1.1. The Apparatus Entry]</a:documentation>
         <group>
            <optional>
               <ref name="lem"/>
            </optional>
            <interleave>
               <oneOrMore>
                  <choice>
                     <ref name="note"/>
                     <ref name="rdg"/>
                  </choice>
               </oneOrMore>
            </interleave>
         </group>
      </element>
   </define>
   <define name="lem">
      <element name="lem">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(lemma) Contains a passage of which there is a text variant that differs from the edition template. [13.1. The Apparatus Entry, Readings, and Witnesses]</a:documentation>
         <choice>
            <oneOrMore>
               <ref name="ssrq.content.default"/>
            </oneOrMore>
            <group>
               <ref name="seg"/>
               <ref name="seg"/>
               <zeroOrMore>
                  <ref name="seg"/>
               </zeroOrMore>
            </group>
         </choice>
      </element>
   </define>
   <define name="rdg">
      <element name="rdg">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reading) Contains a text variant that differs from the edition template. [13.1. The Apparatus Entry, Readings, and Witnesses]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <ref name="att.witnessed.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="listWit">
      <element name="listWit">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of text witnesses) Contains the piece descriptions of the sources. [13.1. The Apparatus Entry, Readings, and Witnesses]</a:documentation>
         <oneOrMore>
            <ref name="witness"/>
         </oneOrMore>
      </element>
   </define>
   <define name="witness">
      <element name="witness">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text witness) Contains the piece description of a source (originals, copies, etc.). [13.1. The Apparatus Entry, Readings, and Witnesses]</a:documentation>
         <ref name="msDesc"/>
         <attribute name="xml:id">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) the ID of the element</a:documentation>
            <data type="ID">
               <param name="pattern">id-ssrq-[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}</param>
            </data>
         </attribute>
         <attribute name="n">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the numbering of the text witness</a:documentation>
            <data type="string">
               <param name="pattern">[A-Z][0-9]?</param>
            </data>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="TEI">
      <element name="TEI">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI document) Contains a single document (piece) as a so-called root element. [4. Default Text Structure 16.1. Varieties of Composite Text]</a:documentation>
         <group>
            <ref name="teiHeader"/>
            <ref name="text"/>
         </group>
         <attribute name="xml:lang">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the language according to ISO 639-1</a:documentation>
            <choice>
               <ref name="ssrq.lang.de"/>
               <ref name="ssrq.lang.fr"/>
               <ref name="ssrq.lang.it"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="text">
      <element name="text">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text) Includes all characters physically present on a source item or in a book (transcription / edition, i.e. primary data) as well as the commentary on the edited piece.  [4. Default Text Structure 16.1. Varieties of Composite Text]</a:documentation>
         <group>
            <ref name="body"/>
            <optional>
               <ref name="back"/>
            </optional>
         </group>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of the text</a:documentation>
            <choice>
               <value>collection</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">collection of source documents</a:documentation>
               <value>summary</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">regest of the source document</a:documentation>
               <value>transcript</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">transcript of the source document</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="body">
      <element name="body">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text section) Contains the transcribed source text as well as the contemporaneous dorsual notes in <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;ab&gt;</code>. [4. Default Text Structure]</a:documentation>
         <choice>
            <interleave>
               <zeroOrMore>
                  <ref name="ab"/>
               </zeroOrMore>
               <oneOrMore>
                  <ref name="div"/>
               </oneOrMore>
               <zeroOrMore>
                  <ref name="gap"/>
               </zeroOrMore>
               <zeroOrMore>
                  <ref name="pb"/>
               </zeroOrMore>
            </interleave>
            <group>
               <ref name="bibl"/>
               <ref name="bibl"/>
               <zeroOrMore>
                  <ref name="bibl"/>
               </zeroOrMore>
            </group>
         </choice>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:body[parent::tei:text[@type = 'collection']]">
               <sch:assert test="every $child in ./* satisfies $child/name() =                     'bibl'"> It's only allowed to use tei:bibl-elements directly
                    inside tei:body, when tei:body is part of tei:text with
                    type="collection". </sch:assert>
            </sch:rule>
            <sch:rule context="tei:body[parent::tei:text[not(@type =                 'collection')]]">
               <sch:report test=".[tei:bibl]"> It's only allowed to use tei:bibl-elements
                    directly inside tei:body, when tei:body is part of tei:text with
                    type="collection". </sch:report>
            </sch:rule>
         </sch:pattern>
      </element>
   </define>
   <define name="div">
      <element name="div">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(division) Sections source text within <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;body&gt;</code> or comments within <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;back&gt;</code> together with <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;p&gt;</code>. [4.1. Divisions of the Body]</a:documentation>
         <choice>
            <interleave>
               <optional>
                  <ref name="head"/>
               </optional>
               <group>
                  <ref name="div"/>
                  <ref name="div"/>
                  <zeroOrMore>
                     <ref name="div"/>
                  </zeroOrMore>
               </group>
               <zeroOrMore>
                  <choice>
                     <ref name="cb"/>
                     <ref name="pb"/>
                     <ref name="ssrq.content.anchor.spans"/>
                  </choice>
               </zeroOrMore>
            </interleave>
            <oneOrMore>
               <choice>
                  <ref name="list"/>
                  <ref name="seg"/>
                  <ref name="p"/>
                  <ref name="ssrq.content.default"/>
               </choice>
            </oneOrMore>
         </choice>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:div">
               <sch:assert test="string-length(normalize-space(string-join(text(),                     ''))) = 0"> Text is not allowed in tei:div. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:div[tei:head][tei:div]">
               <sch:report test="tei:head[preceding-sibling::tei:div]"> If a tei:head is used
                    inside tei:div it must always precede all tei:div-elements. </sch:report>
            </sch:rule>
         </sch:pattern>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:div[@xml:lang]">
               <sch:let name="divs-in-back" value="count(./parent::tei:back/tei:div)"/>
               <sch:assert test=".[parent::tei:back]"> The attribute @xml:lang for tei:div is
                    allowed only in tei:back. </sch:assert>
               <sch:assert test="$divs-in-back gt 1"> If @xml:lang is specified for tei:div,
                    there must be at least two tei:divs. </sch:assert>
               <sch:report test="./parent::tei:back/tei:div[not(@xml:lang)]"> If @xml:lang is
                    specified for tei:div, all sibling tei:divs must have this attribute.
                    </sch:report>
               <sch:assert test="count(distinct-values(./parent::tei:back/tei:div/@xml:lang))                     = $divs-in-back"> If @xml:lang is specified for tei:div, at least another
                    tei:div with another language has to be specified </sch:assert>
            </sch:rule>
         </sch:pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-div-abstractModel-structure-div-in-l-constraint-rule-77">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:l//tei:div">
               <sch:assert test="ancestor::tei:floatingText">
          Abstract model violation: Metrical lines may not contain higher-level structural elements such as div, unless div is a descendant of floatingText.
        </sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-div-abstractModel-structure-div-in-ab-or-p-constraint-rule-78">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:div">
               <sch:report test="(ancestor::tei:p or ancestor::tei:ab) and not(ancestor::tei:floatingText)">
          Abstract model violation: p and ab may not contain higher-level structural elements such as div, unless div is a descendant of floatingText.
        </sch:report>
            </sch:rule>
         </pattern>
         <ref name="att.global.attribute.xmllang"/>
         <optional>
            <attribute name="n">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) the numbering of the division</a:documentation>
               <data type="string"/>
            </attribute>
         </optional>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of the division</a:documentation>
               <choice>
                  <value>part</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">part</a:documentation>
                  <value>chapter</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">chapter</a:documentation>
                  <value>section</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">article</a:documentation>
                  <value>subsection</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">paragraph</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="signed">
      <element name="signed">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(signature) Includes signatures and signatures with notary marks and is usually found at the end of a text. [4.2.2. Openers and Closers]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
      </element>
   </define>
   <define name="docImprint">
      <element name="docImprint">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document imprint) Contains the place of printing (<code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;pubPlace&gt;</code>) and the name of the printer (<code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;publisher&gt;</code>). [4.6. Title Pages]</a:documentation>
         <choice>
            <oneOrMore>
               <ref name="pubPlace"/>
            </oneOrMore>
            <ref name="publisher"/>
            <group>
               <oneOrMore>
                  <ref name="pubPlace"/>
               </oneOrMore>
               <ref name="publisher"/>
            </group>
         </choice>
      </element>
   </define>
   <define name="back">
      <element name="back">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(comment section) The commentary contains further information on an edited piece, classifies the piece historically and provides information on why a piece was chosen for the edition. [4.7. Back Matter 4. Default Text Structure]</a:documentation>
         <oneOrMore>
            <ref name="div"/>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:back">
               <sch:report test=".//tei:note"> The element tei:note is not allowed in
                    tei:back. </sch:report>
            </sch:rule>
         </sch:pattern>
      </element>
   </define>
   <define name="att.global.facs.attributes">
      <ref name="att.global.facs.attribute.facs"/>
   </define>
   <define name="att.global.facs.attribute.facs">
      <optional>
         <attribute name="facs">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the name of one or more facsimiles</a:documentation>
            <list>
               <oneOrMore>
                  <ref name="ssrq.facs.name"/>
               </oneOrMore>
            </list>
         </attribute>
      </optional>
   </define>
   <define name="addSpan">
      <element name="addSpan">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(added passage) Denotes major additions. [12.3.1.4. Additions and Deletions]</a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-addSpan-addSpan-requires-spanTo-constraint-rule-80">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:addSpan">
               <sch:assert test="@spanTo">The @spanTo attribute of <sch:name/> is required.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-addSpan-addSpan-requires-spanTo-fr-constraint-rule-81">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:addSpan">
               <sch:assert test="@spanTo">L'attribut spanTo est requis.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.spanning.attributes"/>
         <ref name="att.written.attributes"/>
         <optional>
            <attribute name="rend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the writing means used</a:documentation>
               <choice>
                  <value>other_ink</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">with different ink</a:documentation>
                  <value>pencil</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">with pencil</a:documentation>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="place">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the place of the addition</a:documentation>
               <choice>
                  <ref name="ssrq.place"/>
                  <ref name="ssrq.place.add"/>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the kind of addition</a:documentation>
               <choice>
                  <value>sign</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marked by reference sign</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="damage">
      <element name="damage">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(damage) Denotes a damaged section. [12.3.3.1. Damage, Illegibility, and Supplied Text]</a:documentation>
         <choice>
            <choice>
               <ref name="add"/>
               <ref name="gap"/>
               <ref name="supplied"/>
               <ref name="unclear"/>
            </choice>
            <choice>
               <interleave>
                  <ref name="gap"/>
                  <ref name="supplied"/>
               </interleave>
               <interleave>
                  <ref name="gap"/>
                  <ref name="unclear"/>
               </interleave>
            </choice>
         </choice>
         <ref name="att.damaged.attributes"/>
         <optional>
            <attribute name="quantity">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the size of the unit specified with <code xmlns="http://www.w3.org/1999/xhtml"
                        xmlns:rng="http://relaxng.org/ns/structure/1.0">@unit</code>
               </a:documentation>
               <choice>
                  <data type="float">
                     <param name="minInclusive">0</param>
                  </data>
                  <data type="positiveInteger"/>
               </choice>
            </attribute>
         </optional>
         <optional>
            <attribute name="unit">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <choice>
                  <ref name="ssrq.measure.lengths.base.cm"/>
                  <ref name="ssrq.dimensions.typography"/>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="damageSpan">
      <element name="damageSpan">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(damaged passage) Denotes larger sections that are damaged. [12.3.3.1. Damage, Illegibility, and Supplied Text]</a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-damageSpan-damageSpan-requires-spanTo-constraint-rule-82">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:damageSpan">
               <sch:assert test="@spanTo">The @spanTo attribute of <sch:name/> is required.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-damageSpan-damageSpan-requires-spanTo-fr-constraint-rule-83">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:damageSpan">
               <sch:assert test="@spanTo">L'attribut spanTo est requis.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.damaged.attributes"/>
         <ref name="att.spanning.attributes"/>
         <empty/>
      </element>
   </define>
   <define name="delSpan">
      <element name="delSpan">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(deleted passage) Denotes larger sections deleted from the text. [12.3.1.4. Additions and Deletions]</a:documentation>
         <empty/>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-delSpan-delSpan-requires-spanTo-constraint-rule-84">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:delSpan">
               <sch:assert test="@spanTo">The @spanTo attribute of <sch:name/> is required.</sch:assert>
            </sch:rule>
         </pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-delSpan-delSpan-requires-spanTo-fr-constraint-rule-85">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:delSpan">
               <sch:assert test="@spanTo">L'attribut spanTo est requis.</sch:assert>
            </sch:rule>
         </pattern>
         <ref name="att.spanning.attributes"/>
         <ref name="att.written.attributes"/>
         <optional>
            <attribute name="rend">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the appearance of the deletion</a:documentation>
               <choice>
                  <value>blackened</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by blackening text</a:documentation>
                  <value>bracketed</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by bracketing text</a:documentation>
                  <value>crossout</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by crossed lines</a:documentation>
                  <value>overwritten</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deleted text directly overwritten</a:documentation>
                  <value>rubbing</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by scraping</a:documentation>
                  <value>strikethrough</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by strikethrough</a:documentation>
                  <value>subpunction</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by subpunctuation</a:documentation>
                  <value>expunction</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by expunctuation</a:documentation>
                  <value>underline</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">deletion by underlining</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="fw">
      <element name="fw">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(forme work) Contains catchwords and reclamants. The word at the bottom of the page is usually omitted or transcribed on the next page. [12.6. Headers, Footers, and Similar Matter]</a:documentation>
         <oneOrMore>
            <ref name="ssrq.content.default"/>
         </oneOrMore>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of forme work</a:documentation>
            <choice>
               <value>catchword</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">catchword</a:documentation>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="handShift">
      <element name="handShift">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(change of hands) Indicates the change of a hand. [12.3.2.1. Document Hands]</a:documentation>
         <empty/>
         <attribute name="hand">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a reference to the <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@xml:id</code> of a <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;handNote&gt;</code> element</a:documentation>
            <choice>
               <ref name="ssrq.hand"/>
               <ref name="ssrq.hand.century"/>
               <ref name="ssrq.id.string"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="space">
      <element name="space">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(space) Denotes a gap that the writer deliberately left open for later completion. [12.4.1. Space]</a:documentation>
         <empty/>
         <attribute name="quantity">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the size of the unit specified with <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">@unit</code>
            </a:documentation>
            <choice>
               <data type="float">
                  <param name="minInclusive">0</param>
               </data>
               <data type="positiveInteger"/>
            </choice>
         </attribute>
         <attribute name="unit">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <choice>
               <ref name="ssrq.measure.lengths.base.cm"/>
               <ref name="ssrq.dimensions.typography"/>
            </choice>
         </attribute>
         <empty/>
      </element>
   </define>
   <define name="subst">
      <element name="subst">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(substitution) Contains a substitution. [12.3.1.5. Substitutions]</a:documentation>
         <interleave>
            <ref name="del"/>
            <ref name="add"/>
            <optional>
               <ref name="lb"/>
            </optional>
            <optional>
               <ref name="pb"/>
            </optional>
         </interleave>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:subst">
               <sch:report test="tei:add[following-sibling::tei:del]"> tei:del must come
                    before tei:add when used inside tei:subst. </sch:report>
            </sch:rule>
         </sch:pattern>
         <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  id="ssrq-main-schema-subst-substContents1-constraint-rule-87">
            <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude"
                      context="tei:subst">
               <sch:assert test="child::tei:add and (child::tei:del or child::tei:surplus)">
                  <sch:name/> must have at least one child add and at least one child del or surplus</sch:assert>
            </sch:rule>
         </pattern>
         <optional>
            <attribute name="type">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the type of substitution</a:documentation>
               <choice>
                  <value>cypher</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the substitution of a cypher</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="supplied">
      <element name="supplied">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(supplement) Contains an addition by the editor. [12.3.3.1. Damage, Illegibility, and Supplied Text]</a:documentation>
         <oneOrMore>
            <choice>
               <ref name="p"/>
               <ref name="ssrq.content.default"/>
            </choice>
         </oneOrMore>
         <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                      xmlns:rng="http://relaxng.org/ns/structure/1.0"
                      xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                      xmlns:xi="http://www.w3.org/2001/XInclude">
            <sch:rule context="tei:supplied">
               <sch:assert test=".[@resp][not(@source)] or .[@source][not(@resp)]">
                    tei:supplied must contain either a @resp or a @source attribute. </sch:assert>
            </sch:rule>
            <sch:rule context="tei:supplied[@source]">
               <sch:let name="sources"
                        value="for $source in tokenize(@source, ' ')                     return replace($source,                     '^(id-ssrq-[\w\d-]+)(#(\d+|fol\d+[rv]?|[pn]\d+))?$',                     '$1')"/>
               <sch:assert test="every $source in $sources satisfies exists(id($source))"
                           xml:lang="en"> Every referenced ID in @source must belong to an element with
                    the same ID. </sch:assert>
            </sch:rule>
         </sch:pattern>
         <ref name="att.global.responsibility.attribute.resp"/>
         <optional>
            <attribute name="source">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
               <list>
                  <oneOrMore>
                     <choice>
                        <ref name="ssrq.pointer.id"/>
                        <ref name="ssrq.pointer.urn"/>
                     </choice>
                  </oneOrMore>
               </list>
            </attribute>
         </optional>
         <optional>
            <attribute name="reason">
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the reason for the supplement</a:documentation>
               <choice>
                  <value>omitted</value>
                  <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">omitted</a:documentation>
               </choice>
            </attribute>
         </optional>
         <empty/>
      </element>
   </define>
   <define name="ssrq.att.seal.attributes">
      <ref name="ssrq.att.seal.attribute.attachment"/>
      <ref name="ssrq.att.seal.attribute.condition"/>
      <ref name="ssrq.att.seal.attribute.material"/>
      <ref name="ssrq.att.seal.attribute.shape"/>
   </define>
   <define name="ssrq.att.seal.attribute.attachment">
      <optional>
         <attribute name="attachment">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the method of attachment of the seal</a:documentation>
            <choice>
               <value>applied</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">applied</a:documentation>
               <value>sealed_on_a_cord</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sealed on a cord</a:documentation>
               <value>sealed_on_a_lace</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sealed on a lace</a:documentation>
               <value>sealed_on_a_leather_tag</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sealed on a leather tag</a:documentation>
               <value>sealed_on_a_parchment_tag</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sealed on a parchment tag</a:documentation>
               <value>sealed_on_a_ribbon</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sealed on a ribbon</a:documentation>
               <value>sealed_on_laces</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sealed on laces</a:documentation>
               <value>slit</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">slit with no seal</a:documentation>
               <value>wrapping-tie</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">seal applied to close a document</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="ssrq.att.seal.attribute.condition">
      <attribute name="condition">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the state of preservation of the seal</a:documentation>
         <choice>
            <value>absent</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">missing</a:documentation>
            <value>bound_in_linen</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">enclosed in a linen sack</a:documentation>
            <value>chamfered</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">chipped</a:documentation>
            <value>damaged</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">damaged</a:documentation>
            <value>ex_and_enclosed</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ex and enclosed</a:documentation>
            <value>fragmentary</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fragmentary</a:documentation>
            <value>in_a_box</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in a wooden box</a:documentation>
            <value>in_a_capsule</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in a metal capsule</a:documentation>
            <value>polished</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">polished</a:documentation>
            <value>well-preserved</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">well-preserved</a:documentation>
         </choice>
      </attribute>
   </define>
   <define name="ssrq.att.seal.attribute.material">
      <optional>
         <attribute name="material">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the material of the seal</a:documentation>
            <choice>
               <value>bulle</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">bull</a:documentation>
               <value>papered_seal</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">papered seal</a:documentation>
               <value>sealing_wax</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sealing wax</a:documentation>
               <value>wafer</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wafer</a:documentation>
               <value>wax</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wax</a:documentation>
               <value>wax_in_a_box</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wax in a wooden box</a:documentation>
               <value>wax_in_a_capsule</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wax in a metal capsule</a:documentation>
               <value>wax_with_margin</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">wax with margin</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="ssrq.att.seal.attribute.shape">
      <optional>
         <attribute name="shape">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the shape of the seal</a:documentation>
            <choice>
               <value>heart-shaped</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">heart-shaped</a:documentation>
               <value>octangular</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">octagonal</a:documentation>
               <value>oval</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">oval</a:documentation>
               <value>peltade</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">scutiform</a:documentation>
               <value>round</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">round</a:documentation>
               <value>triangular</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">triangular</a:documentation>
            </choice>
         </attribute>
      </optional>
   </define>
   <start>
      <ref name="TEI"/>
   </start>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           xmlns:xi="http://www.w3.org/2001/XInclude"
           prefix="tei"
           uri="http://www.tei-c.org/ns/1.0"/>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           xmlns:xi="http://www.w3.org/2001/XInclude"
           prefix="xs"
           uri="http://www.w3.org/2001/XMLSchema"/>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           xmlns:xi="http://www.w3.org/2001/XInclude"
           prefix="rng"
           uri="http://relaxng.org/ns/structure/1.0"/>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           xmlns:xi="http://www.w3.org/2001/XInclude"
           prefix="rna"
           uri="http://relaxng.org/ns/compatibility/annotations/1.0"/>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           xmlns:xi="http://www.w3.org/2001/XInclude"
           prefix="sch"
           uri="http://purl.oclc.org/dsdl/schematron"/>
   <sch:ns xmlns="http://www.tei-c.org/ns/1.0"
           xmlns:rng="http://relaxng.org/ns/structure/1.0"
           xmlns:sch="http://purl.oclc.org/dsdl/schematron"
           xmlns:xi="http://www.w3.org/2001/XInclude"
           prefix="sch1x"
           uri="http://www.ascc.net/xml/schematron"/>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="tei:*[@calendar]">
         <sch:assert test=".[@when-custom|@notBefore-custom|@notAfter-custom|@from-custom|@to-custom]"> More attributes must be used together with @calendar to specify the date. </sch:assert>
      </sch:rule>
      <sch:rule context="tei:*[@when-custom|@notBefore-custom|@notAfter-custom|@from-custom|@to-custom][not(ancestor::tei:publicationStmt)][not(self::tei:time)]">
         <sch:assert test=".[@calendar]"> @calendar must be used, when either
                        @when-custom, @from-custom, @to-custom, @notAfter-custom or
                        @notBefore-custom is used. </sch:assert>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="tei:*[@when-custom]">
         <sch:report test="@notBefore-custom|@notAfter-custom|@from-custom|@to-custom">
                        @when-custom cannot be used together with @notBefore-custom,
                        @notAfter-custom, @from-custom or @to-custom. </sch:report>
      </sch:rule>
      <sch:rule context="tei:*[@from-custom or @to-custom]">
         <sch:assert test="@from-custom and @to-custom"> @from-custom and @to-custom
                        must always be used together. </sch:assert>
         <sch:report test="@notBefore-custom|@notAfter-custom"> The usage of
                        @notBefore-custom and @notAfter-custom is not allowed together with
                        @from-custom and @to-custom. </sch:report>
         <sch:assert test="if (matches(@from-custom,                         '^\d{4}-\d{2}-\d{2}$') and matches(@from-custom,                         '^\d{4}-\d{2}-\d{2}$')) then (number(translate(@to-custom,                         '-', '')) - number(translate(@from-custom,                         '-', ''))) &gt; 0 else true()"> Invalid timespan:
                        @to-custom must be a point later in time than @from-custom. </sch:assert>
      </sch:rule>
      <sch:rule context="tei:*[@notBefore-custom and @notAfter-custom]">
         <sch:assert test="if (matches(@notBefore-custom,                         '^\d{4}-\d{2}-\d{2}$') and matches(@notAfter-custom,                         '^\d{4}-\d{2}-\d{2}$')) then (number(translate(@notAfter-custom,                         '-', '')) - number(translate(@notBefore-custom,                         '-', ''))) &gt; 0 else true()"> Invalid timespan:
                        @notAfter-custom must be a point later in time than @notBefore-custom.
                        </sch:assert>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="tei:*[@unit='unknown']">
         <sch:assert test="./@quantity='unknown'" xml:lang="en"> If @unit
                        has the value 'unknown', @quantity must be 'unknown'
                        too. </sch:assert>
      </sch:rule>
      <sch:rule context="tei:*[@unit or @quantity]">
         <sch:assert test="@quantity and @unit" xml:lang="en"> @unit and @quantity
                        must be used together. </sch:assert>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="tei:*[number(@quantity)=0 or number(@quantity)=0.0]">
         <sch:report test="not(@type='currency')" xml:lang="en"> @quantity
                        may only be zero, if it occurs in combination with
                        @type="currency". </sch:report>
      </sch:rule>
   </sch:pattern>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ssrq-main-schema-sch-att-spanTo-constraint-rule-98">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:*[@spanTo]">
         <sch:assert test="id(@spanTo) and following::*[@xml:id=(current()/@spanTo)]">
                    The element indicated by @spanTo (
                        <sch:value-of select="@spanTo"/>
                        ) must occur after the current element <sch:name/>. </sch:assert>
      </sch:rule>
   </pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="*[@facs]">
         <sch:report test="matches(@facs, '__')" xml:lang="en"> An
                        underscore should not be followed by another underscore in @facs.
                        </sch:report>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="tei:*[@wit]">
         <sch:let name="wits"
                  value="for $wit in tokenize(@wit, ' ')                         return tokenize($wit, '#')[1]"/>
         <sch:assert test="every $wit in $wits satisfies id($wit)/name() =                         ('bibl', 'witness')"
                     xml:lang="en"> Every referenced ID
                        in @wit must belong to a tei:witness or tei:bibl element. </sch:assert>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="tei:*[@hand]">
         <sch:let name="handNoteRef" value="@hand"/>
         <sch:assert test="exists(id($handNoteRef)) and id($handNoteRef)/name() =                         'handNote'"> The referenced ID in @hand must belong to a
                        tei:handNote element. </sch:assert>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="@*">
         <sch:report test="matches(., '^(\s+|\t+|\n)(.*)$')" xml:lang="en"> The value of <sch:name/> should not start with whitespace.
                        </sch:report>
         <sch:report test="matches(., '^(.*)(\s+|\t+|\n)$')" xml:lang="en"> The value of <sch:name/> should not end with whitespace.
                        </sch:report>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="@*">
         <sch:assert test="count(distinct-values(tokenize(.))) =                         count(tokenize(.))"> An attribute should not have duplicate values.
                        </sch:assert>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="tei:*[name() = ('ab', 'abbr',                     'add', 'additional', 'author',                     'availability', 'bibl', 'body',                     'custEvent', 'custodialHist', 'del',                     'dimensions', 'div', 'docImprint',                     'editorialDecl', 'encodingDesc', 'expan',                     'extent', 'foreign', 'fw', 'handDesc',                     'head', 'hi', 'history', 'idno',                     'item', 'keywords', 'label', 'lem',                     'licence', 'list', 'listBibl',                     'listWit', 'measure', 'measureGrp',                     'msContents', 'msItem', 'note', 'num',                     'objectDesc', 'orgName', 'orig',                     'origPlace', 'p', 'persName',                     'physDesc', 'placeName', 'publicationStmt',                     'publisher', 'pubPlace', 'q', 'quote',                     'repository', 'resp', 'respStmt',                     'row', 'sealDesc', 'seg', 'settlement',                     'sic', 'signed', 'sourceDesc', 'subst',                     'summary', 'supplied', 'support',                     'supportDesc', 'table', 'TEI',                     'teiHeader', 'text', 'textClass',                     'time', 'title', 'unclear',                     'witness')][not(*)]">
         <sch:assert test="string-length(normalize-space(.)) &gt; 0"> The element
                        <sch:name/> must not be empty. </sch:assert>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="text()">
         <sch:report role="warning" test="matches(., ' ')"> It is not
                        allowed to use a non-breaking space in the text. </sch:report>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="text()">
         <sch:report role="warning" test="matches(., '&#34;')"> It is not
                        allowed to use quotation marks in the text. Use tei:quote, tei:q, tei:orig
                        or tei:foreign instead. </sch:report>
      </sch:rule>
   </sch:pattern>
   <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude">
      <sch:rule context="tei:pb | tei:cb | tei:lb">
         <sch:assert test="ancestor::tei:body or ancestor::tei:orig">tei:<sch:name/>
                        may only be used inside tei:body or tei:orig. </sch:assert>
      </sch:rule>
   </sch:pattern>
   <pattern xmlns="http://purl.oclc.org/dsdl/schematron"
            id="ssrq-main-schema-unique-xml-ids-constraint-rule-108">
      <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
                xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                context="tei:TEI">
         <sch:assert test="count(//@xml:id) = count(distinct-values(//@xml:id))"> All
                    values of @xml:id attributes in this document must be unique. </sch:assert>
      </sch:rule>
   </pattern>
</grammar>
