<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://www.tei-c.org/ns/Examples">
  <!--
Schema generated from ODD source 2013-01-17T19:45:07Z. 
Edition: 2.3.0. Last updated on 17th January 2013.
Edition Location: http://www.tei-c.org/Vault/P5/2.3.0/

-->
  <!---->
  <div ns="http://www.w3.org/2000/svg" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
    <define name="Boolean.datatype">
      <choice>
        <value>false</value>
        <value>true</value>
      </choice>
    </define>
    <define name="ClipFillRule.datatype">
      <choice>
        <value>nonzero</value>
        <value>evenodd</value>
        <value>inherit</value>
      </choice>
    </define>
    <define name="ContentType.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="Coordinate.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="Coordinates.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="Color.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="Integer.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="LanguageCode.datatype">
      <data type="NMTOKEN"/>
    </define>
    <define name="LanguageCodes.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="Length.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="Lengths.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="Number.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="Numbers.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="OpacityValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="PathData.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="PreserveAspectRatioSpec.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="Script.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVGColor.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="Text.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="TransformList.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="URI.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="ViewBoxSpec.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="XLINK.xmlns.attrib">
      <empty/>
    </define>
    <define name="SVG.xmlns.attrib">
      <ref name="XLINK.xmlns.attrib"/>
    </define>
    <define name="SVG.Description.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Description.class">
      <choice>
        <ref name="desc"/>
        <ref name="title"/>
        <ref name="metadata"/>
        <ref name="SVG.Description.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Use.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Use.class">
      <choice>
        <ref name="use"/>
        <ref name="SVG.Use.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Structure.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Structure.class">
      <choice>
        <ref name="svg"/>
        <ref name="g"/>
        <ref name="defs"/>
        <ref name="symbol"/>
        <ref name="SVG.Use.class"/>
        <ref name="SVG.Structure.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Conditional.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Conditional.class">
      <choice>
        <ref name="switch"/>
        <ref name="SVG.Conditional.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Image.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Image.class">
      <choice>
        <ref name="image"/>
        <ref name="SVG.Image.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Style.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Style.class">
      <choice>
        <ref name="style"/>
        <ref name="SVG.Style.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Shape.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Shape.class">
      <choice>
        <ref name="path"/>
        <ref name="rect"/>
        <ref name="circle"/>
        <ref name="line"/>
        <ref name="ellipse"/>
        <ref name="polyline"/>
        <ref name="polygon"/>
        <ref name="SVG.Shape.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Text.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Text.class">
      <choice>
        <ref name="text"/>
        <ref name="altGlyphDef"/>
        <ref name="SVG.Text.extra.class"/>
      </choice>
    </define>
    <define name="SVG.TextContent.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.TextContent.class">
      <choice>
        <ref name="tspan"/>
        <ref name="tref"/>
        <ref name="textPath"/>
        <ref name="altGlyph"/>
        <ref name="SVG.TextContent.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Marker.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Marker.class">
      <choice>
        <ref name="marker"/>
        <ref name="SVG.Marker.extra.class"/>
      </choice>
    </define>
    <define name="SVG.ColorProfile.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.ColorProfile.class">
      <choice>
        <ref name="color-profile"/>
        <ref name="SVG.ColorProfile.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Gradient.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Gradient.class">
      <choice>
        <ref name="linearGradient"/>
        <ref name="radialGradient"/>
        <ref name="SVG.Gradient.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Pattern.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Pattern.class">
      <choice>
        <ref name="svgpattern"/>
        <ref name="SVG.Pattern.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Clip.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Clip.class">
      <choice>
        <ref name="clipPath"/>
        <ref name="SVG.Clip.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Mask.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Mask.class">
      <choice>
        <ref name="mask"/>
        <ref name="SVG.Mask.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Filter.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Filter.class">
      <choice>
        <ref name="filter"/>
        <ref name="SVG.Filter.extra.class"/>
      </choice>
    </define>
    <define name="SVG.FilterPrimitive.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.FilterPrimitive.class">
      <choice>
        <ref name="feBlend"/>
        <ref name="feColorMatrix"/>
        <ref name="feComponentTransfer"/>
        <ref name="feComposite"/>
        <ref name="feConvolveMatrix"/>
        <ref name="feDiffuseLighting"/>
        <ref name="feDisplacementMap"/>
        <ref name="feFlood"/>
        <ref name="feGaussianBlur"/>
        <ref name="feImage"/>
        <ref name="feMerge"/>
        <ref name="feMorphology"/>
        <ref name="feOffset"/>
        <ref name="feSpecularLighting"/>
        <ref name="feTile"/>
        <ref name="feTurbulence"/>
        <ref name="SVG.FilterPrimitive.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Cursor.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Cursor.class">
      <choice>
        <ref name="cursor"/>
        <ref name="SVG.Cursor.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Hyperlink.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Hyperlink.class">
      <choice>
        <ref name="a"/>
        <ref name="SVG.Hyperlink.extra.class"/>
      </choice>
    </define>
    <define name="SVG.View.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.View.class">
      <choice>
        <ref name="view"/>
        <ref name="SVG.View.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Script.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Script.class">
      <choice>
        <ref name="script"/>
        <ref name="SVG.Script.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Animation.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Animation.class">
      <choice>
        <ref name="animate"/>
        <ref name="set"/>
        <ref name="animateMotion"/>
        <ref name="animateColor"/>
        <ref name="animateTransform"/>
        <ref name="SVG.Animation.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Font.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Font.class">
      <choice>
        <ref name="font"/>
        <ref name="font-face"/>
        <ref name="SVG.Font.extra.class"/>
      </choice>
    </define>
    <define name="SVG.Extensibility.extra.class">
      <notAllowed/>
    </define>
    <define name="SVG.Extensibility.class">
      <choice>
        <ref name="foreignObject"/>
        <ref name="SVG.Extensibility.extra.class"/>
      </choice>
    </define>
    <define name="ExtensionList.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="FeatureList.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.Conditional.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Conditional.attrib">
      <optional>
        <attribute name="requiredFeatures">
          <ref name="FeatureList.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="requiredExtensions">
          <ref name="ExtensionList.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="systemLanguage">
          <ref name="LanguageCodes.datatype"/>
        </attribute>
      </optional>
      <ref name="SVG.Conditional.extra.attrib"/>
    </define>
    <define name="ClassList.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="StyleSheet.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.Style.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Style.attrib">
      <optional>
        <attribute name="style">
          <ref name="StyleSheet.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="class">
          <ref name="ClassList.datatype"/>
        </attribute>
      </optional>
      <ref name="SVG.Style.extra.attrib"/>
    </define>
    <define name="BaselineShiftValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="FontFamilyValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="FontSizeValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="FontSizeAdjustValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="GlyphOrientationHorizontalValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="GlyphOrientationVerticalValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="KerningValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SpacingValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="TextDecorationValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.Text.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Text.attrib">
      <optional>
        <attribute name="writing-mode">
          <choice>
            <value>lr-tb</value>
            <value>rl-tb</value>
            <value>tb-rl</value>
            <value>lr</value>
            <value>rl</value>
            <value>tb</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <ref name="SVG.Text.extra.attrib"/>
    </define>
    <define name="SVG.TextContent.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.TextContent.attrib">
      <optional>
        <attribute name="alignment-baseline">
          <choice>
            <value>auto</value>
            <value>baseline</value>
            <value>before-edge</value>
            <value>text-before-edge</value>
            <value>middle</value>
            <value>central</value>
            <value>after-edge</value>
            <value>text-after-edge</value>
            <value>ideographic</value>
            <value>alphabetic</value>
            <value>hanging</value>
            <value>mathematical</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="baseline-shift">
          <ref name="BaselineShiftValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="direction">
          <choice>
            <value>ltr</value>
            <value>rtl</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="dominant-baseline">
          <choice>
            <value>auto</value>
            <value>use-script</value>
            <value>no-change</value>
            <value>reset-size</value>
            <value>ideographic</value>
            <value>alphabetic</value>
            <value>hanging</value>
            <value>mathematical</value>
            <value>central</value>
            <value>middle</value>
            <value>text-after-edge</value>
            <value>text-before-edge</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="glyph-orientation-horizontal">
          <ref name="GlyphOrientationHorizontalValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="glyph-orientation-vertical">
          <ref name="GlyphOrientationVerticalValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="kerning">
          <ref name="KerningValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="letter-spacing">
          <ref name="SpacingValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="text-anchor">
          <choice>
            <value>start</value>
            <value>middle</value>
            <value>end</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="text-decoration">
          <ref name="TextDecorationValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="unicode-bidi">
          <choice>
            <value>normal</value>
            <value>embed</value>
            <value>bidi-override</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="word-spacing">
          <ref name="SpacingValue.datatype"/>
        </attribute>
      </optional>
      <ref name="SVG.TextContent.extra.attrib"/>
    </define>
    <define name="SVG.Font.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Font.attrib">
      <optional>
        <attribute name="font-family">
          <ref name="FontFamilyValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="font-size">
          <ref name="FontSizeValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="font-size-adjust">
          <ref name="FontSizeAdjustValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="font-stretch">
          <choice>
            <value>normal</value>
            <value>wider</value>
            <value>narrower</value>
            <value>ultra-condensed</value>
            <value>extra-condensed</value>
            <value>condensed</value>
            <value>semi-condensed</value>
            <value>semi-expanded</value>
            <value>expanded</value>
            <value>extra-expanded</value>
            <value>ultra-expanded</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="font-style">
          <choice>
            <value>normal</value>
            <value>italic</value>
            <value>oblique</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="font-variant">
          <choice>
            <value>normal</value>
            <value>small-caps</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="font-weight">
          <choice>
            <value>normal</value>
            <value>bold</value>
            <value>bolder</value>
            <value>lighter</value>
            <value>100</value>
            <value>200</value>
            <value>300</value>
            <value>400</value>
            <value>500</value>
            <value>600</value>
            <value>700</value>
            <value>800</value>
            <value>900</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <ref name="SVG.Font.extra.attrib"/>
    </define>
    <define name="MarkerValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.Marker.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Marker.attrib">
      <optional>
        <attribute name="marker-start">
          <ref name="MarkerValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="marker-mid">
          <ref name="MarkerValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="marker-end">
          <ref name="MarkerValue.datatype"/>
        </attribute>
      </optional>
      <ref name="SVG.Marker.extra.attrib"/>
    </define>
    <define name="SVG.ColorProfile.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.ColorProfile.attrib">
      <optional>
        <attribute name="color-profile"/>
      </optional>
      <ref name="SVG.ColorProfile.extra.attrib"/>
    </define>
    <define name="NumberOrPercentage.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.Gradient.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Gradient.attrib">
      <optional>
        <attribute name="stop-color">
          <ref name="SVGColor.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="stop-opacity">
          <ref name="OpacityValue.datatype"/>
        </attribute>
      </optional>
      <ref name="SVG.Gradient.extra.attrib"/>
    </define>
    <define name="ClipPathValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.Clip.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Clip.attrib">
      <optional>
        <attribute name="clip-path">
          <ref name="ClipPathValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="clip-rule">
          <ref name="ClipFillRule.datatype"/>
        </attribute>
      </optional>
      <ref name="SVG.Clip.extra.attrib"/>
    </define>
    <define name="MaskValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.Mask.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Mask.attrib">
      <optional>
        <attribute name="mask">
          <ref name="MaskValue.datatype"/>
        </attribute>
      </optional>
      <ref name="SVG.Mask.extra.attrib"/>
    </define>
    <define name="FilterValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="NumberOptionalNumber.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.Filter.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Filter.attrib">
      <optional>
        <attribute name="filter">
          <ref name="FilterValue.datatype"/>
        </attribute>
      </optional>
      <ref name="SVG.Filter.extra.attrib"/>
    </define>
    <define name="SVG.FilterColor.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.FilterColor.attrib">
      <optional>
        <attribute name="color-interpolation-filters">
          <choice>
            <value>auto</value>
            <value>sRGB</value>
            <value>linearRGB</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
      <ref name="SVG.FilterColor.extra.attrib"/>
    </define>
    <define name="CursorValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.Cursor.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Cursor.attrib">
      <optional>
        <attribute name="cursor">
          <ref name="CursorValue.datatype"/>
        </attribute>
      </optional>
      <ref name="SVG.Cursor.extra.attrib"/>
    </define>
    <define name="SVG.id.attrib">
      <optional>
        <attribute name="id">
          <data type="ID"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.base.attrib">
      <optional>
        <attribute name="xml:base">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.lang.attrib">
      <optional>
        <attribute name="xml:lang">
          <ref name="LanguageCode.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.space.attrib">
      <optional>
        <attribute name="xml:space">
          <choice>
            <value>default</value>
            <value>preserve</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.Core.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Core.attrib">
      <ref name="SVG.id.attrib"/>
      <ref name="SVG.base.attrib"/>
      <ref name="SVG.lang.attrib"/>
      <ref name="SVG.space.attrib"/>
      <ref name="SVG.Core.extra.attrib"/>
    </define>
    <define name="EnableBackgroundValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.enable-background.attrib">
      <optional>
        <attribute name="enable-background">
          <ref name="EnableBackgroundValue.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.Container.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Container.attrib">
      <ref name="SVG.enable-background.attrib"/>
      <ref name="SVG.Container.extra.attrib"/>
    </define>
    <define name="ClipValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.clip.attrib">
      <optional>
        <attribute name="clip">
          <ref name="ClipValue.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.overflow.attrib">
      <optional>
        <attribute name="overflow">
          <choice>
            <value>visible</value>
            <value>hidden</value>
            <value>scroll</value>
            <value>auto</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.Viewport.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Viewport.attrib">
      <ref name="SVG.clip.attrib"/>
      <ref name="SVG.overflow.attrib"/>
      <ref name="SVG.Viewport.extra.attrib"/>
    </define>
    <define name="Paint.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="StrokeDashArrayValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="StrokeDashOffsetValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="StrokeMiterLimitValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="StrokeWidthValue.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.fill.attrib">
      <optional>
        <attribute name="fill">
          <ref name="Paint.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.fill-rule.attrib">
      <optional>
        <attribute name="fill-rule">
          <ref name="ClipFillRule.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.stroke.attrib">
      <optional>
        <attribute name="stroke">
          <ref name="Paint.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.stroke-dasharray.attrib">
      <optional>
        <attribute name="stroke-dasharray">
          <ref name="StrokeDashArrayValue.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.stroke-dashoffset.attrib">
      <optional>
        <attribute name="stroke-dashoffset">
          <ref name="StrokeDashOffsetValue.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.stroke-linecap.attrib">
      <optional>
        <attribute name="stroke-linecap">
          <choice>
            <value>butt</value>
            <value>round</value>
            <value>square</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.stroke-linejoin.attrib">
      <optional>
        <attribute name="stroke-linejoin">
          <choice>
            <value>miter</value>
            <value>round</value>
            <value>bevel</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.stroke-miterlimit.attrib">
      <optional>
        <attribute name="stroke-miterlimit">
          <ref name="StrokeMiterLimitValue.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.stroke-width.attrib">
      <optional>
        <attribute name="stroke-width">
          <ref name="StrokeWidthValue.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.Paint.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Paint.attrib">
      <ref name="SVG.fill.attrib"/>
      <ref name="SVG.fill-rule.attrib"/>
      <ref name="SVG.stroke.attrib"/>
      <ref name="SVG.stroke-dasharray.attrib"/>
      <ref name="SVG.stroke-dashoffset.attrib"/>
      <ref name="SVG.stroke-linecap.attrib"/>
      <ref name="SVG.stroke-linejoin.attrib"/>
      <ref name="SVG.stroke-miterlimit.attrib"/>
      <ref name="SVG.stroke-width.attrib"/>
      <ref name="SVG.Paint.extra.attrib"/>
    </define>
    <define name="SVG.color.attrib">
      <optional>
        <attribute name="color">
          <ref name="Color.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.color-interpolation.attrib">
      <optional>
        <attribute name="color-interpolation">
          <choice>
            <value>auto</value>
            <value>sRGB</value>
            <value>linearRGB</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.color-rendering.attrib">
      <optional>
        <attribute name="color-rendering">
          <choice>
            <value>auto</value>
            <value>optimizeSpeed</value>
            <value>optimizeQuality</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.Color.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Color.attrib">
      <ref name="SVG.color.attrib"/>
      <ref name="SVG.color-interpolation.attrib"/>
      <ref name="SVG.color-rendering.attrib"/>
      <ref name="SVG.Color.extra.attrib"/>
    </define>
    <define name="SVG.opacity.attrib">
      <optional>
        <attribute name="opacity">
          <ref name="OpacityValue.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.fill-opacity.attrib">
      <optional>
        <attribute name="fill-opacity">
          <ref name="OpacityValue.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.stroke-opacity.attrib">
      <optional>
        <attribute name="stroke-opacity">
          <ref name="OpacityValue.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.Opacity.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Opacity.attrib">
      <ref name="SVG.opacity.attrib"/>
      <ref name="SVG.fill-opacity.attrib"/>
      <ref name="SVG.stroke-opacity.attrib"/>
      <ref name="SVG.Opacity.extra.attrib"/>
    </define>
    <define name="SVG.display.attrib">
      <optional>
        <attribute name="display">
          <choice>
            <value>inline</value>
            <value>block</value>
            <value>list-item</value>
            <value>run-in</value>
            <value>compact</value>
            <value>marker</value>
            <value>table</value>
            <value>inline-table</value>
            <value>table-row-group</value>
            <value>table-header-group</value>
            <value>table-footer-group</value>
            <value>table-row</value>
            <value>table-column-group</value>
            <value>table-column</value>
            <value>table-cell</value>
            <value>table-caption</value>
            <value>none</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.image-rendering.attrib">
      <optional>
        <attribute name="image-rendering">
          <choice>
            <value>auto</value>
            <value>optimizeSpeed</value>
            <value>optimizeQuality</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.pointer-events.attrib">
      <optional>
        <attribute name="pointer-events">
          <choice>
            <value>visiblePainted</value>
            <value>visibleFill</value>
            <value>visibleStroke</value>
            <value>visible</value>
            <value>painted</value>
            <value>fill</value>
            <value>stroke</value>
            <value>all</value>
            <value>none</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.shape-rendering.attrib">
      <optional>
        <attribute name="shape-rendering">
          <choice>
            <value>auto</value>
            <value>optimizeSpeed</value>
            <value>crispEdges</value>
            <value>geometricPrecision</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.text-rendering.attrib">
      <optional>
        <attribute name="text-rendering">
          <choice>
            <value>auto</value>
            <value>optimizeSpeed</value>
            <value>optimizeLegibility</value>
            <value>geometricPrecision</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.visibility.attrib">
      <optional>
        <attribute name="visibility">
          <choice>
            <value>visible</value>
            <value>hidden</value>
            <value>inherit</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.Graphics.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Graphics.attrib">
      <ref name="SVG.display.attrib"/>
      <ref name="SVG.image-rendering.attrib"/>
      <ref name="SVG.pointer-events.attrib"/>
      <ref name="SVG.shape-rendering.attrib"/>
      <ref name="SVG.text-rendering.attrib"/>
      <ref name="SVG.visibility.attrib"/>
      <ref name="SVG.Graphics.extra.attrib"/>
    </define>
    <define name="SVG.onunload.attrib">
      <optional>
        <attribute name="onunload">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onabort.attrib">
      <optional>
        <attribute name="onabort">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onerror.attrib">
      <optional>
        <attribute name="onerror">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onresize.attrib">
      <optional>
        <attribute name="onresize">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onscroll.attrib">
      <optional>
        <attribute name="onscroll">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onzoom.attrib">
      <optional>
        <attribute name="onzoom">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.DocumentEvents.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.DocumentEvents.attrib">
      <ref name="SVG.onunload.attrib"/>
      <ref name="SVG.onabort.attrib"/>
      <ref name="SVG.onerror.attrib"/>
      <ref name="SVG.onresize.attrib"/>
      <ref name="SVG.onscroll.attrib"/>
      <ref name="SVG.onzoom.attrib"/>
      <ref name="SVG.DocumentEvents.extra.attrib"/>
    </define>
    <define name="SVG.onfocusin.attrib">
      <optional>
        <attribute name="onfocusin">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onfocusout.attrib">
      <optional>
        <attribute name="onfocusout">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onactivate.attrib">
      <optional>
        <attribute name="onactivate">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onclick.attrib">
      <optional>
        <attribute name="onclick">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onmousedown.attrib">
      <optional>
        <attribute name="onmousedown">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onmouseup.attrib">
      <optional>
        <attribute name="onmouseup">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onmouseover.attrib">
      <optional>
        <attribute name="onmouseover">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onmousemove.attrib">
      <optional>
        <attribute name="onmousemove">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onmouseout.attrib">
      <optional>
        <attribute name="onmouseout">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onload.attrib">
      <optional>
        <attribute name="onload">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.GraphicalEvents.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.GraphicalEvents.attrib">
      <ref name="SVG.onfocusin.attrib"/>
      <ref name="SVG.onfocusout.attrib"/>
      <ref name="SVG.onactivate.attrib"/>
      <ref name="SVG.onclick.attrib"/>
      <ref name="SVG.onmousedown.attrib"/>
      <ref name="SVG.onmouseup.attrib"/>
      <ref name="SVG.onmouseover.attrib"/>
      <ref name="SVG.onmousemove.attrib"/>
      <ref name="SVG.onmouseout.attrib"/>
      <ref name="SVG.onload.attrib"/>
      <ref name="SVG.GraphicalEvents.extra.attrib"/>
    </define>
    <define name="SVG.onbegin.attrib">
      <optional>
        <attribute name="onbegin">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onend.attrib">
      <optional>
        <attribute name="onend">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.onrepeat.attrib">
      <optional>
        <attribute name="onrepeat">
          <ref name="Script.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.AnimationEvents.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.AnimationEvents.attrib">
      <ref name="SVG.onbegin.attrib"/>
      <ref name="SVG.onend.attrib"/>
      <ref name="SVG.onrepeat.attrib"/>
      <ref name="SVG.onload.attrib"/>
      <ref name="SVG.AnimationEvents.extra.attrib"/>
    </define>
    <define name="SVG.XLink.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.XLink.attrib">
      <ref name="XLINK.xmlns.attrib"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:type" a:defaultValue="simple">
          <value>simple</value>
        </attribute>
      </optional>
      <optional>
        <attribute name="xlink:href">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xlink:role">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xlink:arcrole">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xlink:title"/>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:show" a:defaultValue="other">
          <choice>
            <value>other</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:actuate" a:defaultValue="onLoad">
          <value>onLoad</value>
        </attribute>
      </optional>
      <ref name="SVG.XLink.extra.attrib"/>
    </define>
    <define name="SVG.XLinkRequired.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.XLinkRequired.attrib">
      <ref name="XLINK.xmlns.attrib"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:type" a:defaultValue="simple">
          <value>simple</value>
        </attribute>
      </optional>
      <attribute name="xlink:href">
        <ref name="URI.datatype"/>
      </attribute>
      <optional>
        <attribute name="xlink:role">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xlink:arcrole">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xlink:title"/>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:show" a:defaultValue="other">
          <choice>
            <value>other</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:actuate" a:defaultValue="onLoad">
          <value>onLoad</value>
        </attribute>
      </optional>
      <ref name="SVG.XLinkRequired.extra.attrib"/>
    </define>
    <define name="SVG.XLinkEmbed.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.XLinkEmbed.attrib">
      <ref name="XLINK.xmlns.attrib"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:type" a:defaultValue="simple">
          <value>simple</value>
        </attribute>
      </optional>
      <attribute name="xlink:href">
        <ref name="URI.datatype"/>
      </attribute>
      <optional>
        <attribute name="xlink:role">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xlink:arcrole">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xlink:title"/>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:show" a:defaultValue="embed">
          <choice>
            <value>embed</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:actuate" a:defaultValue="onLoad">
          <value>onLoad</value>
        </attribute>
      </optional>
      <ref name="SVG.XLinkEmbed.extra.attrib"/>
    </define>
    <define name="SVG.XLinkReplace.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.XLinkReplace.attrib">
      <ref name="XLINK.xmlns.attrib"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:type" a:defaultValue="simple">
          <value>simple</value>
        </attribute>
      </optional>
      <attribute name="xlink:href">
        <ref name="URI.datatype"/>
      </attribute>
      <optional>
        <attribute name="xlink:role">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xlink:arcrole">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xlink:title"/>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:show" a:defaultValue="replace">
          <choice>
            <value>new</value>
            <value>replace</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xlink:actuate" a:defaultValue="onRequest">
          <value>onRequest</value>
        </attribute>
      </optional>
      <ref name="SVG.XLinkReplace.extra.attrib"/>
    </define>
    <define name="SVG.externalResourcesRequired.attrib">
      <optional>
        <attribute name="externalResourcesRequired">
          <ref name="Boolean.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.External.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.External.attrib">
      <ref name="SVG.externalResourcesRequired.attrib"/>
      <ref name="SVG.External.extra.attrib"/>
    </define>
    <define name="SVG.Presentation.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Presentation.attrib">
      <ref name="SVG.Container.attrib"/>
      <ref name="SVG.Viewport.attrib"/>
      <ref name="SVG.Text.attrib"/>
      <ref name="SVG.TextContent.attrib"/>
      <ref name="SVG.Font.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Marker.attrib"/>
      <ref name="SVG.ColorProfile.attrib"/>
      <ref name="SVG.Gradient.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <optional>
        <attribute name="flood-color">
          <ref name="SVGColor.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="flood-opacity">
          <ref name="OpacityValue.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="lighting-color">
          <ref name="SVGColor.datatype"/>
        </attribute>
      </optional>
      <ref name="SVG.Presentation.extra.attrib"/>
    </define>
    <define name="SVG.svg.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.svg.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Structure.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Style.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.Marker.class"/>
          <ref name="SVG.ColorProfile.class"/>
          <ref name="SVG.Gradient.class"/>
          <ref name="SVG.Pattern.class"/>
          <ref name="SVG.Clip.class"/>
          <ref name="SVG.Mask.class"/>
          <ref name="SVG.Filter.class"/>
          <ref name="SVG.Cursor.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.View.class"/>
          <ref name="SVG.Script.class"/>
          <ref name="SVG.Font.class"/>
          <ref name="SVG.svg.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="svg">
      <element name="svg">
        <ref name="attlist.svg"/>
        <ref name="SVG.svg.content"/>
      </element>
    </define>
    <define name="attlist.svg" combine="interleave">
      <ref name="SVG.xmlns.attrib"/>
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.DocumentEvents.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="width">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="height">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="viewBox">
          <ref name="ViewBoxSpec.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
          <ref name="PreserveAspectRatioSpec.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="zoomAndPan" a:defaultValue="magnify">
          <choice>
            <value>disable</value>
            <value>magnify</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="version" a:defaultValue="1.1">
          <value type="string" datatypeLibrary="">1.1</value>
        </attribute>
      </optional>
      <optional>
        <attribute name="baseProfile">
          <ref name="Text.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="contentScriptType" a:defaultValue="text/ecmascript">
          <ref name="ContentType.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="contentStyleType" a:defaultValue="text/css">
          <ref name="ContentType.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.g.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.g.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Structure.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Style.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.Marker.class"/>
          <ref name="SVG.ColorProfile.class"/>
          <ref name="SVG.Gradient.class"/>
          <ref name="SVG.Pattern.class"/>
          <ref name="SVG.Clip.class"/>
          <ref name="SVG.Mask.class"/>
          <ref name="SVG.Filter.class"/>
          <ref name="SVG.Cursor.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.View.class"/>
          <ref name="SVG.Script.class"/>
          <ref name="SVG.Font.class"/>
          <ref name="SVG.g.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="g">
      <element name="g">
        <ref name="attlist.g"/>
        <ref name="SVG.g.content"/>
      </element>
    </define>
    <define name="attlist.g" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.defs.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.defs.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Structure.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Style.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.Marker.class"/>
          <ref name="SVG.ColorProfile.class"/>
          <ref name="SVG.Gradient.class"/>
          <ref name="SVG.Pattern.class"/>
          <ref name="SVG.Clip.class"/>
          <ref name="SVG.Mask.class"/>
          <ref name="SVG.Filter.class"/>
          <ref name="SVG.Cursor.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.View.class"/>
          <ref name="SVG.Script.class"/>
          <ref name="SVG.Font.class"/>
          <ref name="SVG.defs.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="defs">
      <element name="defs">
        <ref name="attlist.defs"/>
        <ref name="SVG.defs.content"/>
      </element>
    </define>
    <define name="attlist.defs" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.desc.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.desc.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="SVG.desc.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="desc">
      <element name="desc">
        <ref name="attlist.desc"/>
        <ref name="SVG.desc.content"/>
      </element>
    </define>
    <define name="attlist.desc" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
    </define>
    <define name="SVG.title.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.title.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="SVG.title.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="title">
      <element name="title">
        <ref name="attlist.title"/>
        <ref name="SVG.title.content"/>
      </element>
    </define>
    <define name="attlist.title" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
    </define>
    <define name="SVG.metadata.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.metadata.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="SVG.metadata.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="metadata">
      <element name="metadata">
        <ref name="attlist.metadata"/>
        <ref name="SVG.metadata.content"/>
      </element>
    </define>
    <define name="attlist.metadata" combine="interleave">
      <ref name="SVG.Core.attrib"/>
    </define>
    <define name="SVG.symbol.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.symbol.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Structure.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Style.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.Marker.class"/>
          <ref name="SVG.ColorProfile.class"/>
          <ref name="SVG.Gradient.class"/>
          <ref name="SVG.Pattern.class"/>
          <ref name="SVG.Clip.class"/>
          <ref name="SVG.Mask.class"/>
          <ref name="SVG.Filter.class"/>
          <ref name="SVG.Cursor.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.View.class"/>
          <ref name="SVG.Script.class"/>
          <ref name="SVG.Font.class"/>
          <ref name="SVG.symbol.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="symbol">
      <element name="symbol">
        <ref name="attlist.symbol"/>
        <ref name="SVG.symbol.content"/>
      </element>
    </define>
    <define name="attlist.symbol" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="viewBox">
          <ref name="ViewBoxSpec.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
          <ref name="PreserveAspectRatioSpec.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.use.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.use.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.use.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="use">
      <element name="use">
        <ref name="attlist.use"/>
        <ref name="SVG.use.content"/>
      </element>
    </define>
    <define name="attlist.use" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.XLinkEmbed.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="width">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="height">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.switch.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.switch.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="svg"/>
          <ref name="g"/>
          <ref name="use"/>
          <ref name="text"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.Extensibility.class"/>
          <ref name="SVG.switch.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="switch">
      <element name="switch">
        <ref name="attlist.switch"/>
        <ref name="SVG.switch.content"/>
      </element>
    </define>
    <define name="attlist.switch" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.image.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.image.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.image.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="image">
      <element name="image">
        <ref name="attlist.image"/>
        <ref name="SVG.image.content"/>
      </element>
    </define>
    <define name="attlist.image" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Viewport.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.ColorProfile.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.XLinkEmbed.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <attribute name="width">
        <ref name="Length.datatype"/>
      </attribute>
      <attribute name="height">
        <ref name="Length.datatype"/>
      </attribute>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
          <ref name="PreserveAspectRatioSpec.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="MediaDesc.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.style.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.style.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="SVG.style.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="style">
      <element name="style">
        <ref name="attlist.style"/>
        <ref name="SVG.style.content"/>
      </element>
    </define>
    <define name="attlist.style" combine="interleave">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xml:space" a:defaultValue="preserve">
          <value>preserve</value>
        </attribute>
      </optional>
      <ref name="SVG.id.attrib"/>
      <ref name="SVG.base.attrib"/>
      <ref name="SVG.lang.attrib"/>
      <ref name="SVG.Core.extra.attrib"/>
      <attribute name="type">
        <ref name="ContentType.datatype"/>
      </attribute>
      <optional>
        <attribute name="media">
          <ref name="MediaDesc.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="title">
          <ref name="Text.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="Points.datatype">
      <data type="string" datatypeLibrary=""/>
    </define>
    <define name="SVG.path.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.path.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.path.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="path">
      <element name="path">
        <ref name="attlist.path"/>
        <ref name="SVG.path.content"/>
      </element>
    </define>
    <define name="attlist.path" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Marker.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.External.attrib"/>
      <attribute name="d">
        <ref name="PathData.datatype"/>
      </attribute>
      <optional>
        <attribute name="pathLength">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.rect.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.rect.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.rect.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="rect">
      <element name="rect">
        <ref name="attlist.rect"/>
        <ref name="SVG.rect.content"/>
      </element>
    </define>
    <define name="attlist.rect" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <attribute name="width">
        <ref name="Length.datatype"/>
      </attribute>
      <attribute name="height">
        <ref name="Length.datatype"/>
      </attribute>
      <optional>
        <attribute name="rx">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="ry">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.circle.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.circle.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.circle.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="circle">
      <element name="circle">
        <ref name="attlist.circle"/>
        <ref name="SVG.circle.content"/>
      </element>
    </define>
    <define name="attlist.circle" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="cx">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="cy">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <attribute name="r">
        <ref name="Length.datatype"/>
      </attribute>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.line.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.line.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.line.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="line">
      <element name="line">
        <ref name="attlist.line"/>
        <ref name="SVG.line.content"/>
      </element>
    </define>
    <define name="attlist.line" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Marker.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x1">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y1">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="x2">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y2">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.ellipse.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.ellipse.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.ellipse.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="ellipse">
      <element name="ellipse">
        <ref name="attlist.ellipse"/>
        <ref name="SVG.ellipse.content"/>
      </element>
    </define>
    <define name="attlist.ellipse" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="cx">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="cy">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <attribute name="rx">
        <ref name="Length.datatype"/>
      </attribute>
      <attribute name="ry">
        <ref name="Length.datatype"/>
      </attribute>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.polyline.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.polyline.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.polyline.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="polyline">
      <element name="polyline">
        <ref name="attlist.polyline"/>
        <ref name="SVG.polyline.content"/>
      </element>
    </define>
    <define name="attlist.polyline" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Marker.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.External.attrib"/>
      <attribute name="points">
        <ref name="Points.datatype"/>
      </attribute>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.polygon.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.polygon.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.polygon.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="polygon">
      <element name="polygon">
        <ref name="attlist.polygon"/>
        <ref name="SVG.polygon.content"/>
      </element>
    </define>
    <define name="attlist.polygon" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Marker.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.External.attrib"/>
      <attribute name="points">
        <ref name="Points.datatype"/>
      </attribute>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.text.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.text.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.TextContent.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.text.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="text">
      <element name="text">
        <ref name="attlist.text"/>
        <ref name="SVG.text.content"/>
      </element>
    </define>
    <define name="attlist.text" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Text.attrib"/>
      <ref name="SVG.TextContent.attrib"/>
      <ref name="SVG.Font.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinates.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinates.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dx">
          <ref name="Lengths.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dy">
          <ref name="Lengths.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="rotate">
          <ref name="Numbers.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="textLength">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="lengthAdjust">
          <choice>
            <value>spacing</value>
            <value>spacingAndGlyphs</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.tspan.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.tspan.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="tspan"/>
          <ref name="tref"/>
          <ref name="altGlyph"/>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="animateColor"/>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.tspan.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="tspan">
      <element name="tspan">
        <ref name="attlist.tspan"/>
        <ref name="SVG.tspan.content"/>
      </element>
    </define>
    <define name="attlist.tspan" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.TextContent.attrib"/>
      <ref name="SVG.Font.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinates.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinates.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dx">
          <ref name="Lengths.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dy">
          <ref name="Lengths.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="rotate">
          <ref name="Numbers.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="textLength">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="lengthAdjust">
          <choice>
            <value>spacing</value>
            <value>spacingAndGlyphs</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.tref.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.tref.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="animateColor"/>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.tref.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="tref">
      <element name="tref">
        <ref name="attlist.tref"/>
        <ref name="SVG.tref.content"/>
      </element>
    </define>
    <define name="attlist.tref" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.TextContent.attrib"/>
      <ref name="SVG.Font.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.XLinkRequired.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinates.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinates.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dx">
          <ref name="Lengths.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dy">
          <ref name="Lengths.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="rotate">
          <ref name="Numbers.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="textLength">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="lengthAdjust">
          <choice>
            <value>spacing</value>
            <value>spacingAndGlyphs</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.textPath.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.textPath.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="tspan"/>
          <ref name="tref"/>
          <ref name="altGlyph"/>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="animateColor"/>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.textPath.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="textPath">
      <element name="textPath">
        <ref name="attlist.textPath"/>
        <ref name="SVG.textPath.content"/>
      </element>
    </define>
    <define name="attlist.textPath" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.TextContent.attrib"/>
      <ref name="SVG.Font.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.XLinkRequired.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="startOffset">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="textLength">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="lengthAdjust">
          <choice>
            <value>spacing</value>
            <value>spacingAndGlyphs</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="method">
          <choice>
            <value>align</value>
            <value>stretch</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="spacing">
          <choice>
            <value>auto</value>
            <value>exact</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.altGlyph.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.altGlyph.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="SVG.altGlyph.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="altGlyph">
      <element name="altGlyph">
        <ref name="attlist.altGlyph"/>
        <ref name="SVG.altGlyph.content"/>
      </element>
    </define>
    <define name="attlist.altGlyph" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.TextContent.attrib"/>
      <ref name="SVG.Font.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.XLink.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinates.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinates.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dx">
          <ref name="Lengths.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dy">
          <ref name="Lengths.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="glyphRef"/>
      </optional>
      <optional>
        <attribute name="format"/>
      </optional>
      <optional>
        <attribute name="rotate">
          <ref name="Numbers.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.altGlyphDef.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.altGlyphDef.content">
      <choice>
        <choice>
          <oneOrMore>
            <ref name="glyphRef"/>
          </oneOrMore>
          <oneOrMore>
            <ref name="altGlyphItem"/>
          </oneOrMore>
        </choice>
        <ref name="SVG.altGlyphDef.extra.content"/>
      </choice>
    </define>
    <define name="altGlyphDef">
      <element name="altGlyphDef">
        <ref name="attlist.altGlyphDef"/>
        <ref name="SVG.altGlyphDef.content"/>
      </element>
    </define>
    <define name="attlist.altGlyphDef" combine="interleave">
      <ref name="SVG.Core.attrib"/>
    </define>
    <define name="SVG.altGlyphItem.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.altGlyphItem.content">
      <choice>
        <oneOrMore>
          <ref name="glyphRef"/>
        </oneOrMore>
        <ref name="SVG.altGlyphItem.extra.content"/>
      </choice>
    </define>
    <define name="altGlyphItem">
      <element name="altGlyphItem">
        <ref name="attlist.altGlyphItem"/>
        <ref name="SVG.altGlyphItem.content"/>
      </element>
    </define>
    <define name="attlist.altGlyphItem" combine="interleave">
      <ref name="SVG.Core.attrib"/>
    </define>
    <define name="SVG.glyphRef.content">
      <empty/>
    </define>
    <define name="glyphRef">
      <element name="glyphRef">
        <ref name="attlist.glyphRef"/>
        <ref name="SVG.glyphRef.content"/>
      </element>
    </define>
    <define name="attlist.glyphRef" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Font.attrib"/>
      <ref name="SVG.XLink.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dx">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dy">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="glyphRef"/>
      </optional>
      <optional>
        <attribute name="format"/>
      </optional>
    </define>
    <define name="SVG.marker.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.marker.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Structure.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Style.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.Marker.class"/>
          <ref name="SVG.ColorProfile.class"/>
          <ref name="SVG.Gradient.class"/>
          <ref name="SVG.Pattern.class"/>
          <ref name="SVG.Clip.class"/>
          <ref name="SVG.Mask.class"/>
          <ref name="SVG.Filter.class"/>
          <ref name="SVG.Cursor.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.View.class"/>
          <ref name="SVG.Script.class"/>
          <ref name="SVG.Font.class"/>
          <ref name="SVG.marker.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="marker">
      <element name="marker">
        <ref name="attlist.marker"/>
        <ref name="SVG.marker.content"/>
      </element>
    </define>
    <define name="attlist.marker" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="refX">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="refY">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="markerUnits">
          <choice>
            <value>strokeWidth</value>
            <value>userSpaceOnUse</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="markerWidth">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="markerHeight">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="orient"/>
      </optional>
      <optional>
        <attribute name="viewBox">
          <ref name="ViewBoxSpec.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
          <ref name="PreserveAspectRatioSpec.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.color-profile.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.color-profile.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.color-profile.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="color-profile">
      <element name="color-profile">
        <ref name="attlist.color-profile"/>
        <ref name="SVG.color-profile.content"/>
      </element>
    </define>
    <define name="attlist.color-profile" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.XLink.attrib"/>
      <optional>
        <attribute name="local"/>
      </optional>
      <attribute name="name"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="rendering-intent" a:defaultValue="auto">
          <choice>
            <value>auto</value>
            <value>perceptual</value>
            <value>relative-colorimetric</value>
            <value>saturation</value>
            <value>absolute-colorimetric</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.linearGradient.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.linearGradient.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="stop"/>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="animateTransform"/>
          <ref name="SVG.linearGradient.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="linearGradient">
      <element name="linearGradient">
        <ref name="attlist.linearGradient"/>
        <ref name="SVG.linearGradient.content"/>
      </element>
    </define>
    <define name="attlist.linearGradient" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Gradient.attrib"/>
      <ref name="SVG.XLink.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x1">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y1">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="x2">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y2">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="gradientUnits">
          <choice>
            <value>userSpaceOnUse</value>
            <value>objectBoundingBox</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="gradientTransform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="spreadMethod">
          <choice>
            <value>pad</value>
            <value>reflect</value>
            <value>repeat</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.radialGradient.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.radialGradient.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="stop"/>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="animateTransform"/>
          <ref name="SVG.radialGradient.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="radialGradient">
      <element name="radialGradient">
        <ref name="attlist.radialGradient"/>
        <ref name="SVG.radialGradient.content"/>
      </element>
    </define>
    <define name="attlist.radialGradient" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Gradient.attrib"/>
      <ref name="SVG.XLink.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="cx">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="cy">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="r">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="fx">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="fy">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="gradientUnits">
          <choice>
            <value>userSpaceOnUse</value>
            <value>objectBoundingBox</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="gradientTransform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="spreadMethod">
          <choice>
            <value>pad</value>
            <value>reflect</value>
            <value>repeat</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.stop.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.stop.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="animateColor"/>
          <ref name="SVG.stop.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="stop">
      <element name="stop">
        <ref name="attlist.stop"/>
        <ref name="SVG.stop.content"/>
      </element>
    </define>
    <define name="attlist.stop" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Gradient.attrib"/>
      <attribute name="offset">
        <ref name="NumberOrPercentage.datatype"/>
      </attribute>
    </define>
    <define name="SVG.pattern.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.pattern.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Structure.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Style.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.Marker.class"/>
          <ref name="SVG.ColorProfile.class"/>
          <ref name="SVG.Gradient.class"/>
          <ref name="SVG.Pattern.class"/>
          <ref name="SVG.Clip.class"/>
          <ref name="SVG.Mask.class"/>
          <ref name="SVG.Filter.class"/>
          <ref name="SVG.Cursor.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.View.class"/>
          <ref name="SVG.Script.class"/>
          <ref name="SVG.Font.class"/>
          <ref name="SVG.pattern.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="svgpattern">
      <element name="pattern">
        <ref name="attlist.pattern"/>
        <ref name="SVG.pattern.content"/>
      </element>
    </define>
    <define name="attlist.pattern" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.XLink.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="width">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="height">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="patternUnits">
          <choice>
            <value>userSpaceOnUse</value>
            <value>objectBoundingBox</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="patternContentUnits">
          <choice>
            <value>userSpaceOnUse</value>
            <value>objectBoundingBox</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="patternTransform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="viewBox">
          <ref name="ViewBoxSpec.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
          <ref name="PreserveAspectRatioSpec.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.clipPath.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.clipPath.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Use.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.clipPath.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="clipPath">
      <element name="clipPath">
        <ref name="attlist.clipPath"/>
        <ref name="SVG.clipPath.content"/>
      </element>
    </define>
    <define name="attlist.clipPath" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Text.attrib"/>
      <ref name="SVG.TextContent.attrib"/>
      <ref name="SVG.Font.attrib"/>
      <ref name="SVG.Paint.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.Opacity.attrib"/>
      <ref name="SVG.Graphics.attrib"/>
      <ref name="SVG.Clip.attrib"/>
      <ref name="SVG.Mask.attrib"/>
      <ref name="SVG.Filter.attrib"/>
      <ref name="SVG.Cursor.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="clipPathUnits">
          <choice>
            <value>userSpaceOnUse</value>
            <value>objectBoundingBox</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.mask.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.mask.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Structure.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Style.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.Marker.class"/>
          <ref name="SVG.ColorProfile.class"/>
          <ref name="SVG.Gradient.class"/>
          <ref name="SVG.Pattern.class"/>
          <ref name="SVG.Clip.class"/>
          <ref name="SVG.Mask.class"/>
          <ref name="SVG.Filter.class"/>
          <ref name="SVG.Cursor.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.View.class"/>
          <ref name="SVG.Script.class"/>
          <ref name="SVG.Font.class"/>
          <ref name="SVG.mask.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="mask">
      <element name="mask">
        <ref name="attlist.mask"/>
        <ref name="SVG.mask.content"/>
      </element>
    </define>
    <define name="attlist.mask" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="width">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="height">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="maskUnits">
          <choice>
            <value>userSpaceOnUse</value>
            <value>objectBoundingBox</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="maskContentUnits">
          <choice>
            <value>userSpaceOnUse</value>
            <value>objectBoundingBox</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.FilterPrimitive.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.FilterPrimitive.attrib">
      <optional>
        <attribute name="x">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="width">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="height">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="result"/>
      </optional>
      <ref name="SVG.FilterPrimitive.extra.attrib"/>
    </define>
    <define name="SVG.FilterPrimitiveWithIn.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.FilterPrimitiveWithIn.attrib">
      <ref name="SVG.FilterPrimitive.attrib"/>
      <optional>
        <attribute name="in"/>
      </optional>
      <ref name="SVG.FilterPrimitiveWithIn.extra.attrib"/>
    </define>
    <define name="SVG.filter.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.filter.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.FilterPrimitive.class"/>
          <ref name="SVG.filter.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="filter">
      <element name="filter">
        <ref name="attlist.filter"/>
        <ref name="SVG.filter.content"/>
      </element>
    </define>
    <define name="attlist.filter" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.XLink.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="width">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="height">
          <ref name="Length.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="filterRes">
          <ref name="NumberOptionalNumber.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="filterUnits">
          <choice>
            <value>userSpaceOnUse</value>
            <value>objectBoundingBox</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="primitiveUnits">
          <choice>
            <value>userSpaceOnUse</value>
            <value>objectBoundingBox</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feBlend.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feBlend.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feBlend.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feBlend">
      <element name="feBlend">
        <ref name="attlist.feBlend"/>
        <ref name="SVG.feBlend.content"/>
      </element>
    </define>
    <define name="attlist.feBlend" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <attribute name="in2"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="mode" a:defaultValue="normal">
          <choice>
            <value>normal</value>
            <value>multiply</value>
            <value>screen</value>
            <value>darken</value>
            <value>lighten</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feColorMatrix.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feColorMatrix.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feColorMatrix.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feColorMatrix">
      <element name="feColorMatrix">
        <ref name="attlist.feColorMatrix"/>
        <ref name="SVG.feColorMatrix.content"/>
      </element>
    </define>
    <define name="attlist.feColorMatrix" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="matrix">
          <choice>
            <value>matrix</value>
            <value>saturate</value>
            <value>hueRotate</value>
            <value>luminanceToAlpha</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="values"/>
      </optional>
    </define>
    <define name="SVG.feComponentTransfer.extra.content">
      <empty/>
    </define>
    <define name="SVG.feComponentTransfer.content">
      <optional>
        <ref name="feFuncR"/>
      </optional>
      <optional>
        <ref name="feFuncG"/>
      </optional>
      <optional>
        <ref name="feFuncB"/>
      </optional>
      <optional>
        <ref name="feFuncA"/>
      </optional>
      <ref name="SVG.feComponentTransfer.extra.content"/>
    </define>
    <define name="feComponentTransfer">
      <element name="feComponentTransfer">
        <ref name="attlist.feComponentTransfer"/>
        <ref name="SVG.feComponentTransfer.content"/>
      </element>
    </define>
    <define name="attlist.feComponentTransfer" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
    </define>
    <define name="SVG.feComposite.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feComposite.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feComposite.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feComposite">
      <element name="feComposite">
        <ref name="attlist.feComposite"/>
        <ref name="SVG.feComposite.content"/>
      </element>
    </define>
    <define name="attlist.feComposite" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <attribute name="in2"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="operator" a:defaultValue="over">
          <choice>
            <value>over</value>
            <value>in</value>
            <value>out</value>
            <value>atop</value>
            <value>xor</value>
            <value>arithmetic</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="k1">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="k2">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="k3">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="k4">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feConvolveMatrix.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feConvolveMatrix.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feConvolveMatrix.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feConvolveMatrix">
      <element name="feConvolveMatrix">
        <ref name="attlist.feConvolveMatrix"/>
        <ref name="SVG.feConvolveMatrix.content"/>
      </element>
    </define>
    <define name="attlist.feConvolveMatrix" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <attribute name="order">
        <ref name="NumberOptionalNumber.datatype"/>
      </attribute>
      <attribute name="kernelMatrix"/>
      <optional>
        <attribute name="divisor">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="bias">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="targetX">
          <ref name="Integer.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="targetY">
          <ref name="Integer.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="edgeMode" a:defaultValue="duplicate">
          <choice>
            <value>duplicate</value>
            <value>wrap</value>
            <value>none</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="kernelUnitLength">
          <ref name="NumberOptionalNumber.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="preserveAlpha">
          <ref name="Boolean.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feDiffuseLighting.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feDiffuseLighting.content">
      <choice>
        <ref name="feDistantLight"/>
        <ref name="fePointLight"/>
        <ref name="feSpotLight"/>
      </choice>
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="animateColor"/>
          <ref name="SVG.feDiffuseLighting.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feDiffuseLighting">
      <element name="feDiffuseLighting">
        <ref name="attlist.feDiffuseLighting"/>
        <ref name="SVG.feDiffuseLighting.content"/>
      </element>
    </define>
    <define name="attlist.feDiffuseLighting" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <optional>
        <attribute name="lighting-color">
          <ref name="SVGColor.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="surfaceScale">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="diffuseConstant">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="kernelUnitLength">
          <ref name="NumberOptionalNumber.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feDisplacementMap.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feDisplacementMap.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feDisplacementMap.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feDisplacementMap">
      <element name="feDisplacementMap">
        <ref name="attlist.feDisplacementMap"/>
        <ref name="SVG.feDisplacementMap.content"/>
      </element>
    </define>
    <define name="attlist.feDisplacementMap" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <attribute name="in2"/>
      <optional>
        <attribute name="scale">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="xChannelSelector" a:defaultValue="A">
          <choice>
            <value>R</value>
            <value>G</value>
            <value>B</value>
            <value>A</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="yChannelSelector" a:defaultValue="A">
          <choice>
            <value>R</value>
            <value>G</value>
            <value>B</value>
            <value>A</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feFlood.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feFlood.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="animateColor"/>
          <ref name="SVG.feFlood.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feFlood">
      <element name="feFlood">
        <ref name="attlist.feFlood"/>
        <ref name="SVG.feFlood.content"/>
      </element>
    </define>
    <define name="attlist.feFlood" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <optional>
        <attribute name="flood-color">
          <ref name="SVGColor.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="flood-opacity">
          <ref name="OpacityValue.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feGaussianBlur.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feGaussianBlur.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feGaussianBlur.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feGaussianBlur">
      <element name="feGaussianBlur">
        <ref name="attlist.feGaussianBlur"/>
        <ref name="SVG.feGaussianBlur.content"/>
      </element>
    </define>
    <define name="attlist.feGaussianBlur" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <optional>
        <attribute name="stdDeviation">
          <ref name="NumberOptionalNumber.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feImage.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feImage.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="animateTransform"/>
          <ref name="SVG.feImage.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feImage">
      <element name="feImage">
        <ref name="attlist.feImage"/>
        <ref name="SVG.feImage.content"/>
      </element>
    </define>
    <define name="attlist.feImage" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.FilterPrimitive.attrib"/>
      <ref name="SVG.XLinkEmbed.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
          <ref name="PreserveAspectRatioSpec.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feMerge.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feMerge.content">
      <zeroOrMore>
        <choice>
          <ref name="feMergeNode"/>
          <ref name="SVG.feMerge.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feMerge">
      <element name="feMerge">
        <ref name="attlist.feMerge"/>
        <ref name="SVG.feMerge.content"/>
      </element>
    </define>
    <define name="attlist.feMerge" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitive.attrib"/>
    </define>
    <define name="SVG.feMergeNode.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feMergeNode.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feMergeNode.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feMergeNode">
      <element name="feMergeNode">
        <ref name="attlist.feMergeNode"/>
        <ref name="SVG.feMergeNode.content"/>
      </element>
    </define>
    <define name="attlist.feMergeNode" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <optional>
        <attribute name="in"/>
      </optional>
    </define>
    <define name="SVG.feMorphology.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feMorphology.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feMorphology.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feMorphology">
      <element name="feMorphology">
        <ref name="attlist.feMorphology"/>
        <ref name="SVG.feMorphology.content"/>
      </element>
    </define>
    <define name="attlist.feMorphology" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="operator" a:defaultValue="erode">
          <choice>
            <value>erode</value>
            <value>dilate</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="radius">
          <ref name="NumberOptionalNumber.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feOffset.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feOffset.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feOffset.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feOffset">
      <element name="feOffset">
        <ref name="attlist.feOffset"/>
        <ref name="SVG.feOffset.content"/>
      </element>
    </define>
    <define name="attlist.feOffset" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <optional>
        <attribute name="dx">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="dy">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feSpecularLighting.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feSpecularLighting.content">
      <choice>
        <ref name="feDistantLight"/>
        <ref name="fePointLight"/>
        <ref name="feSpotLight"/>
      </choice>
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="animateColor"/>
          <ref name="SVG.feSpecularLighting.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feSpecularLighting">
      <element name="feSpecularLighting">
        <ref name="attlist.feSpecularLighting"/>
        <ref name="SVG.feSpecularLighting.content"/>
      </element>
    </define>
    <define name="attlist.feSpecularLighting" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Color.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
      <optional>
        <attribute name="lighting-color">
          <ref name="SVGColor.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="surfaceScale">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="specularConstant">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="specularExponent">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="kernelUnitLength">
          <ref name="NumberOptionalNumber.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feTile.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feTile.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feTile.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feTile">
      <element name="feTile">
        <ref name="attlist.feTile"/>
        <ref name="SVG.feTile.content"/>
      </element>
    </define>
    <define name="attlist.feTile" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
    </define>
    <define name="SVG.feTurbulence.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feTurbulence.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feTurbulence.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feTurbulence">
      <element name="feTurbulence">
        <ref name="attlist.feTurbulence"/>
        <ref name="SVG.feTurbulence.content"/>
      </element>
    </define>
    <define name="attlist.feTurbulence" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.FilterColor.attrib"/>
      <ref name="SVG.FilterPrimitive.attrib"/>
      <optional>
        <attribute name="baseFrequency">
          <ref name="NumberOptionalNumber.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="numOctaves">
          <ref name="Integer.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="seed">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="stitchTiles" a:defaultValue="noStitch">
          <choice>
            <value>stitch</value>
            <value>noStitch</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="turbulence">
          <choice>
            <value>fractalNoise</value>
            <value>turbulence</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feDistantLight.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feDistantLight.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feDistantLight.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feDistantLight">
      <element name="feDistantLight">
        <ref name="attlist.feDistantLight"/>
        <ref name="SVG.feDistantLight.content"/>
      </element>
    </define>
    <define name="attlist.feDistantLight" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <optional>
        <attribute name="azimuth">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="elevation">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.fePointLight.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.fePointLight.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.fePointLight.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="fePointLight">
      <element name="fePointLight">
        <ref name="attlist.fePointLight"/>
        <ref name="SVG.fePointLight.content"/>
      </element>
    </define>
    <define name="attlist.fePointLight" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="z">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feSpotLight.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feSpotLight.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feSpotLight.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feSpotLight">
      <element name="feSpotLight">
        <ref name="attlist.feSpotLight"/>
        <ref name="SVG.feSpotLight.content"/>
      </element>
    </define>
    <define name="attlist.feSpotLight" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="z">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="pointsAtX">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="pointsAtY">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="pointsAtZ">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="specularExponent">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="limitingConeAngle">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feFuncR.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feFuncR.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feFuncR.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feFuncR">
      <element name="feFuncR">
        <ref name="attlist.feFuncR"/>
        <ref name="SVG.feFuncR.content"/>
      </element>
    </define>
    <define name="attlist.feFuncR" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <attribute name="type">
        <choice>
          <value>identity</value>
          <value>table</value>
          <value>discrete</value>
          <value>linear</value>
          <value>gamma</value>
        </choice>
      </attribute>
      <optional>
        <attribute name="tableValues"/>
      </optional>
      <optional>
        <attribute name="slope">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="intercept">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="amplitude">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="exponent">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="offset">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feFuncG.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feFuncG.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feFuncG.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feFuncG">
      <element name="feFuncG">
        <ref name="attlist.feFuncG"/>
        <ref name="SVG.feFuncG.content"/>
      </element>
    </define>
    <define name="attlist.feFuncG" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <attribute name="type">
        <choice>
          <value>identity</value>
          <value>table</value>
          <value>discrete</value>
          <value>linear</value>
          <value>gamma</value>
        </choice>
      </attribute>
      <optional>
        <attribute name="tableValues"/>
      </optional>
      <optional>
        <attribute name="slope">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="intercept">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="amplitude">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="exponent">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="offset">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feFuncB.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feFuncB.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feFuncB.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feFuncB">
      <element name="feFuncB">
        <ref name="attlist.feFuncB"/>
        <ref name="SVG.feFuncB.content"/>
      </element>
    </define>
    <define name="attlist.feFuncB" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <attribute name="type">
        <choice>
          <value>identity</value>
          <value>table</value>
          <value>discrete</value>
          <value>linear</value>
          <value>gamma</value>
        </choice>
      </attribute>
      <optional>
        <attribute name="tableValues"/>
      </optional>
      <optional>
        <attribute name="slope">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="intercept">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="amplitude">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="exponent">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="offset">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.feFuncA.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.feFuncA.content">
      <zeroOrMore>
        <choice>
          <ref name="animate"/>
          <ref name="set"/>
          <ref name="SVG.feFuncA.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="feFuncA">
      <element name="feFuncA">
        <ref name="attlist.feFuncA"/>
        <ref name="SVG.feFuncA.content"/>
      </element>
    </define>
    <define name="attlist.feFuncA" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <attribute name="type">
        <choice>
          <value>identity</value>
          <value>table</value>
          <value>discrete</value>
          <value>linear</value>
          <value>gamma</value>
        </choice>
      </attribute>
      <optional>
        <attribute name="tableValues"/>
      </optional>
      <optional>
        <attribute name="slope">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="intercept">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="amplitude">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="exponent">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="offset">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.cursor.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.cursor.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.cursor.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="cursor">
      <element name="cursor">
        <ref name="attlist.cursor"/>
        <ref name="SVG.cursor.content"/>
      </element>
    </define>
    <define name="attlist.cursor" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.XLinkRequired.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="LinkTarget.datatype">
      <data type="NMTOKEN"/>
    </define>
    <define name="SVG.a.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.a.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Structure.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Style.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.Marker.class"/>
          <ref name="SVG.ColorProfile.class"/>
          <ref name="SVG.Gradient.class"/>
          <ref name="SVG.Pattern.class"/>
          <ref name="SVG.Clip.class"/>
          <ref name="SVG.Mask.class"/>
          <ref name="SVG.Filter.class"/>
          <ref name="SVG.Cursor.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.View.class"/>
          <ref name="SVG.Script.class"/>
          <ref name="SVG.Font.class"/>
          <ref name="SVG.a.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="a">
      <element name="a">
        <ref name="attlist.a"/>
        <ref name="SVG.a.content"/>
      </element>
    </define>
    <define name="attlist.a" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.XLinkReplace.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="target">
          <ref name="LinkTarget.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.view.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.view.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.view.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="view">
      <element name="view">
        <ref name="attlist.view"/>
        <ref name="SVG.view.content"/>
      </element>
    </define>
    <define name="attlist.view" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="viewBox">
          <ref name="ViewBoxSpec.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
          <ref name="PreserveAspectRatioSpec.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="zoomAndPan" a:defaultValue="magnify">
          <choice>
            <value>disable</value>
            <value>magnify</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="viewTarget"/>
      </optional>
    </define>
    <define name="SVG.script.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.script.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="SVG.script.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="script">
      <element name="script">
        <ref name="attlist.script"/>
        <ref name="SVG.script.content"/>
      </element>
    </define>
    <define name="attlist.script" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.XLink.attrib"/>
      <ref name="SVG.External.attrib"/>
      <attribute name="type">
        <ref name="ContentType.datatype"/>
      </attribute>
    </define>
    <define name="SVG.Animation.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.Animation.attrib">
      <ref name="SVG.XLink.attrib"/>
      <ref name="SVG.Animation.extra.attrib"/>
    </define>
    <define name="SVG.AnimationAttribute.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.AnimationAttribute.attrib">
      <attribute name="attributeName"/>
      <optional>
        <attribute name="attributeType"/>
      </optional>
      <ref name="SVG.AnimationAttribute.extra.attrib"/>
    </define>
    <define name="SVG.AnimationTiming.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.AnimationTiming.attrib">
      <optional>
        <attribute name="begin"/>
      </optional>
      <optional>
        <attribute name="dur"/>
      </optional>
      <optional>
        <attribute name="end"/>
      </optional>
      <optional>
        <attribute name="min"/>
      </optional>
      <optional>
        <attribute name="max"/>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="restart" a:defaultValue="always">
          <choice>
            <value>always</value>
            <value>never</value>
            <value>whenNotActive</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="repeatCount"/>
      </optional>
      <optional>
        <attribute name="repeatDur"/>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="fill" a:defaultValue="remove">
          <choice>
            <value>remove</value>
            <value>freeze</value>
          </choice>
        </attribute>
      </optional>
      <ref name="SVG.AnimationTiming.extra.attrib"/>
    </define>
    <define name="SVG.AnimationValue.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.AnimationValue.attrib">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="calcMode" a:defaultValue="linear">
          <choice>
            <value>discrete</value>
            <value>linear</value>
            <value>paced</value>
            <value>spline</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="values"/>
      </optional>
      <optional>
        <attribute name="keyTimes"/>
      </optional>
      <optional>
        <attribute name="keySplines"/>
      </optional>
      <optional>
        <attribute name="from"/>
      </optional>
      <optional>
        <attribute name="to"/>
      </optional>
      <optional>
        <attribute name="by"/>
      </optional>
      <ref name="SVG.AnimationValue.extra.attrib"/>
    </define>
    <define name="SVG.AnimationAddtion.extra.attrib">
      <empty/>
    </define>
    <define name="SVG.AnimationAddtion.attrib">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="additive" a:defaultValue="replace">
          <choice>
            <value>replace</value>
            <value>sum</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="accumulate" a:defaultValue="none">
          <choice>
            <value>none</value>
            <value>sum</value>
          </choice>
        </attribute>
      </optional>
      <ref name="SVG.AnimationAddtion.extra.attrib"/>
    </define>
    <define name="SVG.animate.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.animate.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.animate.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="animate">
      <element name="animate">
        <ref name="attlist.animate"/>
        <ref name="SVG.animate.content"/>
      </element>
    </define>
    <define name="attlist.animate" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.AnimationEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <ref name="SVG.Animation.attrib"/>
      <ref name="SVG.AnimationAttribute.attrib"/>
      <ref name="SVG.AnimationTiming.attrib"/>
      <ref name="SVG.AnimationValue.attrib"/>
      <ref name="SVG.AnimationAddtion.attrib"/>
    </define>
    <define name="SVG.set.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.set.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.set.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="set">
      <element name="set">
        <ref name="attlist.set"/>
        <ref name="SVG.set.content"/>
      </element>
    </define>
    <define name="attlist.set" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.AnimationEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <ref name="SVG.Animation.attrib"/>
      <ref name="SVG.AnimationAttribute.attrib"/>
      <ref name="SVG.AnimationTiming.attrib"/>
      <optional>
        <attribute name="to"/>
      </optional>
    </define>
    <define name="SVG.animateMotion.extra.content">
      <empty/>
    </define>
    <define name="SVG.animateMotion.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <optional>
        <ref name="mpath"/>
      </optional>
      <ref name="SVG.animateMotion.extra.content"/>
    </define>
    <define name="animateMotion">
      <element name="animateMotion">
        <ref name="attlist.animateMotion"/>
        <ref name="SVG.animateMotion.content"/>
      </element>
    </define>
    <define name="attlist.animateMotion" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.AnimationEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <ref name="SVG.Animation.attrib"/>
      <ref name="SVG.AnimationTiming.attrib"/>
      <ref name="SVG.AnimationAddtion.attrib"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="calcMode" a:defaultValue="paced">
          <choice>
            <value>discrete</value>
            <value>linear</value>
            <value>paced</value>
            <value>spline</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="values"/>
      </optional>
      <optional>
        <attribute name="keyTimes"/>
      </optional>
      <optional>
        <attribute name="keySplines"/>
      </optional>
      <optional>
        <attribute name="from"/>
      </optional>
      <optional>
        <attribute name="to"/>
      </optional>
      <optional>
        <attribute name="by"/>
      </optional>
      <optional>
        <attribute name="path"/>
      </optional>
      <optional>
        <attribute name="keyPoints"/>
      </optional>
      <optional>
        <attribute name="rotate"/>
      </optional>
      <optional>
        <attribute name="origin"/>
      </optional>
    </define>
    <define name="SVG.animateColor.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.animateColor.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.animateColor.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="animateColor">
      <element name="animateColor">
        <ref name="attlist.animateColor"/>
        <ref name="SVG.animateColor.content"/>
      </element>
    </define>
    <define name="attlist.animateColor" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.AnimationEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <ref name="SVG.Animation.attrib"/>
      <ref name="SVG.AnimationAttribute.attrib"/>
      <ref name="SVG.AnimationTiming.attrib"/>
      <ref name="SVG.AnimationValue.attrib"/>
      <ref name="SVG.AnimationAddtion.attrib"/>
    </define>
    <define name="SVG.animateTransform.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.animateTransform.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.animateTransform.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="animateTransform">
      <element name="animateTransform">
        <ref name="attlist.animateTransform"/>
        <ref name="SVG.animateTransform.content"/>
      </element>
    </define>
    <define name="attlist.animateTransform" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.AnimationEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <ref name="SVG.Animation.attrib"/>
      <ref name="SVG.AnimationAttribute.attrib"/>
      <ref name="SVG.AnimationTiming.attrib"/>
      <ref name="SVG.AnimationValue.attrib"/>
      <ref name="SVG.AnimationAddtion.attrib"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="translate">
          <choice>
            <value>translate</value>
            <value>scale</value>
            <value>rotate</value>
            <value>skewX</value>
            <value>skewY</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="SVG.mpath.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.mpath.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.mpath.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="mpath">
      <element name="mpath">
        <ref name="attlist.mpath"/>
        <ref name="SVG.mpath.content"/>
      </element>
    </define>
    <define name="attlist.mpath" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.XLinkRequired.attrib"/>
      <ref name="SVG.External.attrib"/>
    </define>
    <define name="SVG.font.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.font.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <ref name="font-face"/>
      <ref name="missing-glyph"/>
      <zeroOrMore>
        <choice>
          <ref name="glyph"/>
          <ref name="hkern"/>
          <ref name="vkern"/>
          <ref name="SVG.font.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="font">
      <element name="font">
        <ref name="attlist.font"/>
        <ref name="SVG.font.content"/>
      </element>
    </define>
    <define name="attlist.font" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="horiz-origin-x">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="horiz-origin-y">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <attribute name="horiz-adv-x">
        <ref name="Number.datatype"/>
      </attribute>
      <optional>
        <attribute name="vert-origin-x">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="vert-origin-y">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="vert-adv-y">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.font-face.extra.content">
      <empty/>
    </define>
    <define name="SVG.font-face.content">
      <zeroOrMore>
        <ref name="SVG.Description.class"/>
      </zeroOrMore>
      <optional>
        <ref name="font-face-src"/>
      </optional>
      <optional>
        <ref name="definition-src"/>
      </optional>
      <ref name="SVG.font-face.extra.content"/>
    </define>
    <define name="font-face">
      <element name="font-face">
        <ref name="attlist.font-face"/>
        <ref name="SVG.font-face.content"/>
      </element>
    </define>
    <define name="attlist.font-face" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <optional>
        <attribute name="font-family"/>
      </optional>
      <optional>
        <attribute name="font-style"/>
      </optional>
      <optional>
        <attribute name="font-variant"/>
      </optional>
      <optional>
        <attribute name="font-weight"/>
      </optional>
      <optional>
        <attribute name="font-stretch"/>
      </optional>
      <optional>
        <attribute name="font-size"/>
      </optional>
      <optional>
        <attribute name="unicode-range"/>
      </optional>
      <optional>
        <attribute name="units-per-em">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="panose-1"/>
      </optional>
      <optional>
        <attribute name="stemv">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="stemh">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="slope">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="cap-height">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="x-height">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="accent-height">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="ascent">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="descent">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="widths"/>
      </optional>
      <optional>
        <attribute name="bbox"/>
      </optional>
      <optional>
        <attribute name="ideographic">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="alphabetic">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="mathematical">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="hanging">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="v-ideographic">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="v-alphabetic">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="v-mathematical">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="v-hanging">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="underline-position">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="underline-thickness">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="strikethrough-position">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="strikethrough-thickness">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="overline-position">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="overline-thickness">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.glyph.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.glyph.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Structure.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Style.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.Marker.class"/>
          <ref name="SVG.ColorProfile.class"/>
          <ref name="SVG.Gradient.class"/>
          <ref name="SVG.Pattern.class"/>
          <ref name="SVG.Clip.class"/>
          <ref name="SVG.Mask.class"/>
          <ref name="SVG.Filter.class"/>
          <ref name="SVG.Cursor.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.View.class"/>
          <ref name="SVG.Script.class"/>
          <ref name="SVG.Font.class"/>
          <ref name="SVG.glyph.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="glyph">
      <element name="glyph">
        <ref name="attlist.glyph"/>
        <ref name="SVG.glyph.content"/>
      </element>
    </define>
    <define name="attlist.glyph" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <optional>
        <attribute name="unicode"/>
      </optional>
      <optional>
        <attribute name="glyph-name"/>
      </optional>
      <optional>
        <attribute name="d">
          <ref name="PathData.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="orientation"/>
      </optional>
      <optional>
        <attribute name="arabic-form"/>
      </optional>
      <optional>
        <attribute name="lang">
          <ref name="LanguageCodes.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="horiz-adv-x">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="vert-origin-x">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="vert-origin-y">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="vert-adv-y">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.missing-glyph.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.missing-glyph.content">
      <zeroOrMore>
        <choice>
          <ref name="SVG.Description.class"/>
          <ref name="SVG.Animation.class"/>
          <ref name="SVG.Structure.class"/>
          <ref name="SVG.Conditional.class"/>
          <ref name="SVG.Image.class"/>
          <ref name="SVG.Style.class"/>
          <ref name="SVG.Shape.class"/>
          <ref name="SVG.Text.class"/>
          <ref name="SVG.Marker.class"/>
          <ref name="SVG.ColorProfile.class"/>
          <ref name="SVG.Gradient.class"/>
          <ref name="SVG.Pattern.class"/>
          <ref name="SVG.Clip.class"/>
          <ref name="SVG.Mask.class"/>
          <ref name="SVG.Filter.class"/>
          <ref name="SVG.Cursor.class"/>
          <ref name="SVG.Hyperlink.class"/>
          <ref name="SVG.View.class"/>
          <ref name="SVG.Script.class"/>
          <ref name="SVG.Font.class"/>
          <ref name="SVG.missing-glyph.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="missing-glyph">
      <element name="missing-glyph">
        <ref name="attlist.missing-glyph"/>
        <ref name="SVG.missing-glyph.content"/>
      </element>
    </define>
    <define name="attlist.missing-glyph" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <optional>
        <attribute name="d">
          <ref name="PathData.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="horiz-adv-x">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="vert-origin-x">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="vert-origin-y">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="vert-adv-y">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
    </define>
    <define name="SVG.hkern.content">
      <empty/>
    </define>
    <define name="hkern">
      <element name="hkern">
        <ref name="attlist.hkern"/>
        <ref name="SVG.hkern.content"/>
      </element>
    </define>
    <define name="attlist.hkern" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <optional>
        <attribute name="u1"/>
      </optional>
      <optional>
        <attribute name="g1"/>
      </optional>
      <optional>
        <attribute name="u2"/>
      </optional>
      <optional>
        <attribute name="g2"/>
      </optional>
      <attribute name="k">
        <ref name="Number.datatype"/>
      </attribute>
    </define>
    <define name="SVG.vkern.content">
      <empty/>
    </define>
    <define name="vkern">
      <element name="vkern">
        <ref name="attlist.vkern"/>
        <ref name="SVG.vkern.content"/>
      </element>
    </define>
    <define name="attlist.vkern" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <optional>
        <attribute name="u1"/>
      </optional>
      <optional>
        <attribute name="g1"/>
      </optional>
      <optional>
        <attribute name="u2"/>
      </optional>
      <optional>
        <attribute name="g2"/>
      </optional>
      <attribute name="k">
        <ref name="Number.datatype"/>
      </attribute>
    </define>
    <define name="SVG.font-face-src.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.font-face-src.content">
      <oneOrMore>
        <choice>
          <ref name="font-face-uri"/>
          <ref name="font-face-name"/>
          <ref name="SVG.font-face-src.extra.content"/>
        </choice>
      </oneOrMore>
    </define>
    <define name="font-face-src">
      <element name="font-face-src">
        <ref name="attlist.font-face-src"/>
        <ref name="SVG.font-face-src.content"/>
      </element>
    </define>
    <define name="attlist.font-face-src" combine="interleave">
      <ref name="SVG.Core.attrib"/>
    </define>
    <define name="SVG.font-face-uri.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.font-face-uri.content">
      <zeroOrMore>
        <choice>
          <ref name="font-face-format"/>
          <ref name="SVG.font-face-uri.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="font-face-uri">
      <element name="font-face-uri">
        <ref name="attlist.font-face-uri"/>
        <ref name="SVG.font-face-uri.content"/>
      </element>
    </define>
    <define name="attlist.font-face-uri" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.XLinkRequired.attrib"/>
    </define>
    <define name="SVG.font-face-format.content">
      <empty/>
    </define>
    <define name="font-face-format">
      <element name="font-face-format">
        <ref name="attlist.font-face-format"/>
        <ref name="SVG.font-face-format.content"/>
      </element>
    </define>
    <define name="attlist.font-face-format" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <optional>
        <attribute name="string"/>
      </optional>
    </define>
    <define name="SVG.font-face-name.content">
      <empty/>
    </define>
    <define name="font-face-name">
      <element name="font-face-name">
        <ref name="attlist.font-face-name"/>
        <ref name="SVG.font-face-name.content"/>
      </element>
    </define>
    <define name="attlist.font-face-name" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <optional>
        <attribute name="name"/>
      </optional>
    </define>
    <define name="SVG.definition-src.content">
      <empty/>
    </define>
    <define name="definition-src">
      <element name="definition-src">
        <ref name="attlist.definition-src"/>
        <ref name="SVG.definition-src.content"/>
      </element>
    </define>
    <define name="attlist.definition-src" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.XLinkRequired.attrib"/>
    </define>
    <define name="SVG.foreignObject.extra.content">
      <notAllowed/>
    </define>
    <define name="SVG.foreignObject.content">
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="SVG.foreignObject.extra.content"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="foreignObject">
      <element name="foreignObject">
        <ref name="attlist.foreignObject"/>
        <ref name="SVG.foreignObject.content"/>
      </element>
    </define>
    <define name="attlist.foreignObject" combine="interleave">
      <ref name="SVG.Core.attrib"/>
      <ref name="SVG.Conditional.attrib"/>
      <ref name="SVG.Style.attrib"/>
      <ref name="SVG.Presentation.attrib"/>
      <ref name="SVG.GraphicalEvents.attrib"/>
      <ref name="SVG.External.attrib"/>
      <optional>
        <attribute name="x">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="y">
          <ref name="Coordinate.datatype"/>
        </attribute>
      </optional>
      <attribute name="width">
        <ref name="Length.datatype"/>
      </attribute>
      <attribute name="height">
        <ref name="Length.datatype"/>
      </attribute>
      <optional>
        <attribute name="transform">
          <ref name="TransformList.datatype"/>
        </attribute>
      </optional>
    </define>
  </div>
  <div ns="http://www.w3.org/1998/Math/MathML" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
    <div>
      <define name="math_XLINK.xmlns.attrib">
        <empty/>
      </define>
      <define name="MATHML.xmlns.extra.attrib">
        <ref name="math_XLINK.xmlns.attrib"/>
      </define>
      <define name="MATHML.xmlns.attrib">
        <empty/>
        <ref name="MATHML.xmlns.extra.attrib"/>
      </define>
    </div>
    <define name="MATHML.NamespaceDecl.attrib">
      <ref name="MATHML.xmlns.attrib"/>
    </define>
    <define name="MATHML.Common.attrib">
      <ref name="MATHML.NamespaceDecl.attrib"/>
      <optional>
        <attribute name="xlink:href"/>
      </optional>
      <optional>
        <attribute name="xlink:type"/>
      </optional>
      <optional>
        <attribute name="class"/>
      </optional>
      <optional>
        <attribute name="style"/>
      </optional>
      <optional>
        <attribute name="id">
          <data type="ID"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="xref">
          <data type="IDREF"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="other"/>
      </optional>
    </define>
    <define name="mathml.att-fontsize">
      <optional>
        <attribute name="fontsize"/>
      </optional>
    </define>
    <define name="mathml.att-fontweight">
      <optional>
        <attribute name="fontweight">
          <choice>
            <value>normal</value>
            <value>bold</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-fontstyle">
      <optional>
        <attribute name="fontstyle">
          <choice>
            <value>normal</value>
            <value>italic</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-fontfamily">
      <optional>
        <attribute name="fontfamily"/>
      </optional>
    </define>
    <define name="mathml.att-color">
      <optional>
        <attribute name="color"/>
      </optional>
    </define>
    <define name="mathml.att-mathvariant">
      <optional>
        <attribute name="mathvariant"/>
      </optional>
    </define>
    <define name="mathml.att-mathsize">
      <optional>
        <attribute name="mathsize"/>
      </optional>
    </define>
    <define name="mathml.att-mathcolor">
      <optional>
        <attribute name="mathcolor"/>
      </optional>
    </define>
    <define name="mathml.att-mathbackground">
      <optional>
        <attribute name="mathbackground"/>
      </optional>
    </define>
    <define name="mathml.att-fontinfo">
      <ref name="mathml.att-fontsize"/>
      <ref name="mathml.att-fontweight"/>
      <ref name="mathml.att-fontstyle"/>
      <ref name="mathml.att-fontfamily"/>
      <ref name="mathml.att-color"/>
      <ref name="mathml.att-mathvariant"/>
      <ref name="mathml.att-mathsize"/>
      <ref name="mathml.att-mathcolor"/>
      <ref name="mathml.att-mathbackground"/>
    </define>
    <define name="mathml.att-form">
      <optional>
        <attribute name="form">
          <choice>
            <value>prefix</value>
            <value>infix</value>
            <value>postfix</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-fence">
      <optional>
        <attribute name="fence">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-separator">
      <optional>
        <attribute name="separator">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-lspace">
      <optional>
        <attribute name="lspace"/>
      </optional>
    </define>
    <define name="mathml.att-rspace">
      <optional>
        <attribute name="rspace"/>
      </optional>
    </define>
    <define name="mathml.att-stretchy">
      <optional>
        <attribute name="stretchy">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-symmetric">
      <optional>
        <attribute name="symmetric">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-maxsize">
      <optional>
        <attribute name="maxsize"/>
      </optional>
    </define>
    <define name="mathml.att-minsize">
      <optional>
        <attribute name="minsize"/>
      </optional>
    </define>
    <define name="mathml.att-largeop">
      <optional>
        <attribute name="largeop">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-movablelimits">
      <optional>
        <attribute name="movablelimits">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-accent">
      <optional>
        <attribute name="accent">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-opinfo">
      <ref name="mathml.att-form"/>
      <ref name="mathml.att-fence"/>
      <ref name="mathml.att-separator"/>
      <ref name="mathml.att-lspace"/>
      <ref name="mathml.att-rspace"/>
      <ref name="mathml.att-stretchy"/>
      <ref name="mathml.att-symmetric"/>
      <ref name="mathml.att-maxsize"/>
      <ref name="mathml.att-minsize"/>
      <ref name="mathml.att-largeop"/>
      <ref name="mathml.att-movablelimits"/>
      <ref name="mathml.att-accent"/>
    </define>
    <define name="mathml.att-width">
      <optional>
        <attribute name="width"/>
      </optional>
    </define>
    <define name="mathml.att-height">
      <optional>
        <attribute name="height"/>
      </optional>
    </define>
    <define name="mathml.att-depth">
      <optional>
        <attribute name="depth"/>
      </optional>
    </define>
    <define name="mathml.att-linebreak">
      <optional>
        <attribute name="linebreak"/>
      </optional>
    </define>
    <define name="mathml.att-sizeinfo">
      <ref name="mathml.att-width"/>
      <ref name="mathml.att-height"/>
      <ref name="mathml.att-depth"/>
    </define>
    <define name="mathml.att-lquote">
      <optional>
        <attribute name="lquote"/>
      </optional>
    </define>
    <define name="mathml.att-rquote">
      <optional>
        <attribute name="rquote"/>
      </optional>
    </define>
    <define name="mathml.att-linethickness">
      <optional>
        <attribute name="linethickness"/>
      </optional>
    </define>
    <define name="mathml.att-scriptlevel">
      <optional>
        <attribute name="scriptlevel"/>
      </optional>
    </define>
    <define name="mathml.att-displaystyle">
      <optional>
        <attribute name="displaystyle">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-scriptsizemultiplier">
      <optional>
        <attribute name="scriptsizemultiplier"/>
      </optional>
    </define>
    <define name="mathml.att-scriptminsize">
      <optional>
        <attribute name="scriptminsize"/>
      </optional>
    </define>
    <define name="mathml.att-background">
      <optional>
        <attribute name="background"/>
      </optional>
    </define>
    <define name="mathml.att-veryverythinmathspace">
      <optional>
        <attribute name="veryverythinmathspace"/>
      </optional>
    </define>
    <define name="mathml.att-verythinmathspace">
      <optional>
        <attribute name="verythinmathspace"/>
      </optional>
    </define>
    <define name="mathml.att-thinmathspace">
      <optional>
        <attribute name="thinmathspace"/>
      </optional>
    </define>
    <define name="mathml.att-mediummathspace">
      <optional>
        <attribute name="mediummathspace"/>
      </optional>
    </define>
    <define name="mathml.att-thickmathspace">
      <optional>
        <attribute name="thickmathspace"/>
      </optional>
    </define>
    <define name="mathml.att-verythickmathspace">
      <optional>
        <attribute name="verythickmathspace"/>
      </optional>
    </define>
    <define name="mathml.att-veryverythickmathspace">
      <optional>
        <attribute name="veryverythickmathspace"/>
      </optional>
    </define>
    <define name="mathml.att-open">
      <optional>
        <attribute name="open"/>
      </optional>
    </define>
    <define name="mathml.att-close">
      <optional>
        <attribute name="close"/>
      </optional>
    </define>
    <define name="mathml.att-separators">
      <optional>
        <attribute name="separators"/>
      </optional>
    </define>
    <define name="mathml.att-subscriptshift">
      <optional>
        <attribute name="subscriptshift"/>
      </optional>
    </define>
    <define name="mathml.att-superscriptshift">
      <optional>
        <attribute name="superscriptshift"/>
      </optional>
    </define>
    <define name="mathml.att-accentunder">
      <optional>
        <attribute name="accentunder">
          <choice>
            <value>true</value>
            <value>false</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-align">
      <optional>
        <attribute name="align"/>
      </optional>
    </define>
    <define name="mathml.att-numalign">
      <optional>
        <attribute name="numalign"/>
      </optional>
    </define>
    <define name="mathml.att-denomalign">
      <optional>
        <attribute name="denomalign"/>
      </optional>
    </define>
    <define name="mathml.att-rowalign">
      <optional>
        <attribute name="rowalign"/>
      </optional>
    </define>
    <define name="mathml.att-columnalign">
      <optional>
        <attribute name="columnalign"/>
      </optional>
    </define>
    <define name="mathml.att-columnwidth">
      <optional>
        <attribute name="columnwidth"/>
      </optional>
    </define>
    <define name="mathml.att-groupalign">
      <optional>
        <attribute name="groupalign"/>
      </optional>
    </define>
    <define name="mathml.att-alignmentscope">
      <optional>
        <attribute name="alignmentscope"/>
      </optional>
    </define>
    <define name="mathml.att-rowspacing">
      <optional>
        <attribute name="rowspacing"/>
      </optional>
    </define>
    <define name="mathml.att-columnspacing">
      <optional>
        <attribute name="columnspacing"/>
      </optional>
    </define>
    <define name="mathml.att-rowlines">
      <optional>
        <attribute name="rowlines"/>
      </optional>
    </define>
    <define name="mathml.att-columnlines">
      <optional>
        <attribute name="columnlines"/>
      </optional>
    </define>
    <define name="mathml.att-frame">
      <optional>
        <attribute name="frame">
          <choice>
            <value>none</value>
            <value>solid</value>
            <value>dashed</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-side">
      <optional>
        <attribute name="side">
          <choice>
            <value>left</value>
            <value>right</value>
            <value>leftoverlap</value>
            <value>rightoverlap</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-framespacing">
      <optional>
        <attribute name="framespacing"/>
      </optional>
    </define>
    <define name="mathml.att-equalrows">
      <optional>
        <attribute name="equalrows"/>
      </optional>
    </define>
    <define name="mathml.att-equalcolumns">
      <optional>
        <attribute name="equalcolumns"/>
      </optional>
    </define>
    <define name="mathml.att-tableinfo">
      <ref name="mathml.att-align"/>
      <ref name="mathml.att-rowalign"/>
      <ref name="mathml.att-columnalign"/>
      <ref name="mathml.att-columnwidth"/>
      <ref name="mathml.att-groupalign"/>
      <ref name="mathml.att-alignmentscope"/>
      <ref name="mathml.att-side"/>
      <ref name="mathml.att-rowspacing"/>
      <ref name="mathml.att-columnspacing"/>
      <ref name="mathml.att-rowlines"/>
      <ref name="mathml.att-columnlines"/>
      <ref name="mathml.att-width"/>
      <ref name="mathml.att-frame"/>
      <ref name="mathml.att-framespacing"/>
      <ref name="mathml.att-equalrows"/>
      <ref name="mathml.att-equalcolumns"/>
      <ref name="mathml.att-displaystyle"/>
    </define>
    <define name="mathml.att-rowspan">
      <optional>
        <attribute name="rowspan"/>
      </optional>
    </define>
    <define name="mathml.att-columnspan">
      <optional>
        <attribute name="columnspan"/>
      </optional>
    </define>
    <define name="mathml.att-edge">
      <optional>
        <attribute name="edge">
          <choice>
            <value>left</value>
            <value>right</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-actiontype">
      <optional>
        <attribute name="actiontype"/>
      </optional>
    </define>
    <define name="mathml.att-selection">
      <optional>
        <attribute name="selection"/>
      </optional>
    </define>
    <define name="mathml.att-name">
      <optional>
        <attribute name="name"/>
      </optional>
    </define>
    <define name="mathml.att-alt">
      <optional>
        <attribute name="alt"/>
      </optional>
    </define>
    <define name="mathml.att-index">
      <optional>
        <attribute name="index"/>
      </optional>
    </define>
    <define name="mathml.att-bevelled">
      <optional>
        <attribute name="bevelled"/>
      </optional>
    </define>
    <define name="mathml.ptoken">
      <choice>
        <ref name="mathml.mi"/>
        <ref name="mathml.mn"/>
        <ref name="mathml.mo"/>
        <ref name="mathml.mtext"/>
        <ref name="mathml.ms"/>
      </choice>
    </define>
    <define name="mathml.attlist-mi" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
    </define>
    <define name="mathml.attlist-mn" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
    </define>
    <define name="mathml.attlist-mo" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
      <ref name="mathml.att-opinfo"/>
    </define>
    <define name="mathml.attlist-mtext" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
    </define>
    <define name="mathml.attlist-ms" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
      <ref name="mathml.att-lquote"/>
      <ref name="mathml.att-rquote"/>
    </define>
    <define name="mathml.petoken">
      <ref name="mathml.mspace"/>
    </define>
    <define name="mathml.mspace">
      <element name="mspace">
        <ref name="mathml.attlist-mspace"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mspace"/>
    </define>
    <define name="mathml.attlist-mspace" combine="interleave">
      <ref name="mathml.att-sizeinfo"/>
      <ref name="mathml.att-linebreak"/>
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.pgenschema">
      <choice>
        <ref name="mathml.mrow"/>
        <ref name="mathml.mfrac"/>
        <ref name="mathml.msqrt"/>
        <ref name="mathml.mroot"/>
        <ref name="mathml.menclose"/>
        <ref name="mathml.mstyle"/>
        <ref name="mathml.merror"/>
        <ref name="mathml.mpadded"/>
        <ref name="mathml.mphantom"/>
        <ref name="mathml.mfenced"/>
      </choice>
    </define>
    <define name="mathml.attlist-mrow" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-mfrac" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-bevelled"/>
      <ref name="mathml.att-numalign"/>
      <ref name="mathml.att-denomalign"/>
      <ref name="mathml.att-linethickness"/>
    </define>
    <define name="mathml.attlist-msqrt" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-menclose" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="notation" a:defaultValue="longdiv"/>
      </optional>
    </define>
    <define name="mathml.attlist-mroot" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-mstyle" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-fontinfo"/>
      <ref name="mathml.att-opinfo"/>
      <ref name="mathml.att-lquote"/>
      <ref name="mathml.att-rquote"/>
      <ref name="mathml.att-linethickness"/>
      <ref name="mathml.att-scriptlevel"/>
      <ref name="mathml.att-scriptsizemultiplier"/>
      <ref name="mathml.att-scriptminsize"/>
      <ref name="mathml.att-background"/>
      <ref name="mathml.att-veryverythinmathspace"/>
      <ref name="mathml.att-verythinmathspace"/>
      <ref name="mathml.att-thinmathspace"/>
      <ref name="mathml.att-mediummathspace"/>
      <ref name="mathml.att-thickmathspace"/>
      <ref name="mathml.att-verythickmathspace"/>
      <ref name="mathml.att-veryverythickmathspace"/>
      <ref name="mathml.att-open"/>
      <ref name="mathml.att-close"/>
      <ref name="mathml.att-separators"/>
      <ref name="mathml.att-subscriptshift"/>
      <ref name="mathml.att-superscriptshift"/>
      <ref name="mathml.att-accentunder"/>
      <ref name="mathml.att-tableinfo"/>
      <ref name="mathml.att-rowspan"/>
      <ref name="mathml.att-columnspan"/>
      <ref name="mathml.att-edge"/>
      <ref name="mathml.att-actiontype"/>
      <ref name="mathml.att-selection"/>
    </define>
    <define name="mathml.attlist-merror" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-mpadded" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-sizeinfo"/>
      <ref name="mathml.att-lspace"/>
    </define>
    <define name="mathml.attlist-mphantom" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-mfenced" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-open"/>
      <ref name="mathml.att-close"/>
      <ref name="mathml.att-separators"/>
    </define>
    <define name="mathml.pscrschema">
      <choice>
        <ref name="mathml.msub"/>
        <ref name="mathml.msup"/>
        <ref name="mathml.msubsup"/>
        <ref name="mathml.munder"/>
        <ref name="mathml.mover"/>
        <ref name="mathml.munderover"/>
        <ref name="mathml.mmultiscripts"/>
      </choice>
    </define>
    <define name="mathml.attlist-msub" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-subscriptshift"/>
    </define>
    <define name="mathml.attlist-msup" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-superscriptshift"/>
    </define>
    <define name="mathml.attlist-msubsup" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-subscriptshift"/>
      <ref name="mathml.att-superscriptshift"/>
    </define>
    <define name="mathml.attlist-munder" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-accentunder"/>
    </define>
    <define name="mathml.attlist-mover" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-accent"/>
    </define>
    <define name="mathml.attlist-munderover" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-accent"/>
      <ref name="mathml.att-accentunder"/>
    </define>
    <define name="mathml.attlist-mmultiscripts" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-subscriptshift"/>
      <ref name="mathml.att-superscriptshift"/>
    </define>
    <define name="mathml.pscreschema">
      <choice>
        <ref name="mathml.mprescripts"/>
        <ref name="mathml.none"/>
      </choice>
    </define>
    <define name="mathml.mprescripts">
      <element name="mprescripts">
        <ref name="mathml.attlist-mprescripts"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mprescripts"/>
    </define>
    <define name="mathml.attlist-mprescripts" combine="interleave">
      <ref name="MATHML.xmlns.attrib"/>
    </define>
    <define name="mathml.none">
      <element name="none">
        <ref name="mathml.attlist-none"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.none"/>
    </define>
    <define name="mathml.attlist-none" combine="interleave">
      <ref name="MATHML.xmlns.attrib"/>
    </define>
    <define name="mathml.ptabschema">
      <choice>
        <ref name="mathml.mtable"/>
        <ref name="mathml.mtr"/>
        <ref name="mathml.mlabeledtr"/>
        <ref name="mathml.mtd"/>
      </choice>
    </define>
    <define name="mathml.attlist-mtable" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-tableinfo"/>
    </define>
    <define name="mathml.attlist-mtr" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-rowalign"/>
      <ref name="mathml.att-columnalign"/>
      <ref name="mathml.att-groupalign"/>
    </define>
    <define name="mathml.attlist-mlabeledtr" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-rowalign"/>
      <ref name="mathml.att-columnalign"/>
      <ref name="mathml.att-groupalign"/>
    </define>
    <define name="mathml.attlist-mtd" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-rowalign"/>
      <ref name="mathml.att-columnalign"/>
      <ref name="mathml.att-groupalign"/>
      <ref name="mathml.att-rowspan"/>
      <ref name="mathml.att-columnspan"/>
    </define>
    <define name="mathml.plschema">
      <choice>
        <ref name="mathml.pgenschema"/>
        <ref name="mathml.pscrschema"/>
        <ref name="mathml.ptabschema"/>
      </choice>
    </define>
    <define name="mathml.peschema">
      <choice>
        <ref name="mathml.maligngroup"/>
        <ref name="mathml.malignmark"/>
      </choice>
    </define>
    <define name="mathml.malignmark">
      <element name="malignmark">
        <ref name="mathml.attlist-malignmark"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.malignmark"/>
    </define>
    <define name="mathml.attlist-malignmark" combine="interleave">
      <ref name="mathml.att-edge"/>
    </define>
    <define name="mathml.maligngroup">
      <element name="maligngroup">
        <ref name="mathml.attlist-maligngroup"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.maligngroup"/>
    </define>
    <define name="mathml.attlist-maligngroup" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-groupalign"/>
    </define>
    <define name="mathml.mglyph">
      <element name="mglyph">
        <ref name="mathml.attlist-mglyph"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mglyph"/>
    </define>
    <define name="mathml.attlist-mglyph" combine="interleave">
      <ref name="mathml.att-alt"/>
      <ref name="mathml.att-fontfamily"/>
      <ref name="mathml.att-index"/>
    </define>
    <define name="mathml.pactions">
      <ref name="mathml.maction"/>
    </define>
    <define name="mathml.attlist-maction" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-actiontype"/>
      <ref name="mathml.att-selection"/>
    </define>
    <define name="mathml.PresInCont">
      <choice>
        <ref name="mathml.ptoken"/>
        <ref name="mathml.petoken"/>
        <ref name="mathml.plschema"/>
        <ref name="mathml.peschema"/>
        <ref name="mathml.pactions"/>
      </choice>
    </define>
    <define name="mathml.Presentation">
      <choice>
        <ref name="mathml.ptoken"/>
        <ref name="mathml.petoken"/>
        <ref name="mathml.pscreschema"/>
        <ref name="mathml.plschema"/>
        <ref name="mathml.peschema"/>
        <ref name="mathml.pactions"/>
      </choice>
    </define>
    <define name="mathml.att-base">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="base" a:defaultValue="10"/>
      </optional>
    </define>
    <define name="mathml.att-closure">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="closure" a:defaultValue="closed"/>
      </optional>
    </define>
    <define name="mathml.att-definition">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="definitionURL" a:defaultValue=""/>
      </optional>
    </define>
    <define name="mathml.att-encoding">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="encoding" a:defaultValue=""/>
      </optional>
    </define>
    <define name="mathml.att-nargs">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="nargs" a:defaultValue="1"/>
      </optional>
    </define>
    <define name="mathml.att-occurrence">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="occurrence" a:defaultValue="function-model"/>
      </optional>
    </define>
    <define name="mathml.att-order">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="order" a:defaultValue="numeric"/>
      </optional>
    </define>
    <define name="mathml.att-scope">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="scope" a:defaultValue="local"/>
      </optional>
    </define>
    <define name="mathml.att-type">
      <optional>
        <attribute name="type"/>
      </optional>
    </define>
    <define name="mathml.ctoken">
      <choice>
        <ref name="mathml.csymbol"/>
        <ref name="mathml.ci"/>
        <ref name="mathml.cn"/>
      </choice>
    </define>
    <define name="mathml.attlist-ci" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-type"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.attlist-csymbol" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-encoding"/>
      <ref name="mathml.att-type"/>
      <ref name="mathml.att-definition"/>
    </define>
    <define name="mathml.attlist-cn" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-type"/>
      <ref name="mathml.att-base"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cspecial">
      <choice>
        <ref name="mathml.apply"/>
        <ref name="mathml.reln"/>
        <ref name="mathml.lambda"/>
      </choice>
    </define>
    <define name="mathml.attlist-apply" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-reln" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-lambda" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.cother">
      <choice>
        <ref name="mathml.condition"/>
        <ref name="mathml.declare"/>
        <ref name="mathml.sep"/>
      </choice>
    </define>
    <define name="mathml.attlist-condition" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-declare" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-type"/>
      <ref name="mathml.att-scope"/>
      <ref name="mathml.att-nargs"/>
      <ref name="mathml.att-occurrence"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.sep">
      <element name="sep">
        <ref name="mathml.attlist-sep"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.sep"/>
    </define>
    <define name="mathml.attlist-sep" combine="interleave">
      <ref name="MATHML.xmlns.attrib"/>
    </define>
    <define name="mathml.csemantics">
      <choice>
        <ref name="mathml.semantics"/>
        <ref name="mathml.annotation"/>
        <ref name="mathml.annotation-xml"/>
      </choice>
    </define>
    <define name="mathml.attlist-semantics" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.attlist-annotation" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.attlist-annotation-xml" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cconstructor">
      <choice>
        <ref name="mathml.interval"/>
        <ref name="mathml.list"/>
        <ref name="mathml.matrix"/>
        <ref name="mathml.matrixrow"/>
        <ref name="mathml.set"/>
        <ref name="mathml.vector"/>
        <ref name="mathml.piecewise"/>
      </choice>
    </define>
    <define name="mathml.attlist-interval" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-closure"/>
    </define>
    <define name="mathml.attlist-set" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-type"/>
    </define>
    <define name="mathml.attlist-list" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-order"/>
    </define>
    <define name="mathml.attlist-vector" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-matrix" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-matrixrow" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-piecewise" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-piece" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-otherwise" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.c0ary">
      <choice>
        <ref name="mathml.integers"/>
        <ref name="mathml.reals"/>
        <ref name="mathml.rationals"/>
        <ref name="mathml.naturalnumbers"/>
        <ref name="mathml.complexes"/>
        <ref name="mathml.primes"/>
        <ref name="mathml.exponentiale"/>
        <ref name="mathml.imaginaryi"/>
        <ref name="mathml.notanumber"/>
        <ref name="mathml.true"/>
        <ref name="mathml.false"/>
        <ref name="mathml.emptyset"/>
        <ref name="mathml.pi"/>
        <ref name="mathml.eulergamma"/>
        <ref name="mathml.infinity"/>
      </choice>
    </define>
    <define name="mathml.integers">
      <element name="integers">
        <ref name="mathml.attlist-integers"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.integers"/>
    </define>
    <define name="mathml.attlist-integers" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.reals">
      <element name="reals">
        <ref name="mathml.attlist-reals"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.reals"/>
    </define>
    <define name="mathml.attlist-reals" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.rationals">
      <element name="rationals">
        <ref name="mathml.attlist-rationals"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.rationals"/>
    </define>
    <define name="mathml.attlist-rationals" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.naturalnumbers">
      <element name="naturalnumbers">
        <ref name="mathml.attlist-naturalnumbers"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.naturalnumbers"/>
    </define>
    <define name="mathml.attlist-naturalnumbers" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.complexes">
      <element name="complexes">
        <ref name="mathml.attlist-complexes"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.complexes"/>
    </define>
    <define name="mathml.attlist-complexes" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.primes">
      <element name="primes">
        <ref name="mathml.attlist-primes"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.primes"/>
    </define>
    <define name="mathml.attlist-primes" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.exponentiale">
      <element name="exponentiale">
        <ref name="mathml.attlist-exponentiale"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.exponentiale"/>
    </define>
    <define name="mathml.attlist-exponentiale" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.imaginaryi">
      <element name="imaginaryi">
        <ref name="mathml.attlist-imaginaryi"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.imaginaryi"/>
    </define>
    <define name="mathml.attlist-imaginaryi" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.notanumber">
      <element name="notanumber">
        <ref name="mathml.attlist-notanumber"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.notanumber"/>
    </define>
    <define name="mathml.attlist-notanumber" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.true">
      <element name="true">
        <ref name="mathml.attlist-true"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.true"/>
    </define>
    <define name="mathml.attlist-true" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.false">
      <element name="false">
        <ref name="mathml.attlist-false"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.false"/>
    </define>
    <define name="mathml.attlist-false" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.emptyset">
      <element name="emptyset">
        <ref name="mathml.attlist-emptyset"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.emptyset"/>
    </define>
    <define name="mathml.attlist-emptyset" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.pi">
      <element name="pi">
        <ref name="mathml.attlist-pi"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.pi"/>
    </define>
    <define name="mathml.attlist-pi" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.eulergamma">
      <element name="eulergamma">
        <ref name="mathml.attlist-eulergamma"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.eulergamma"/>
    </define>
    <define name="mathml.attlist-eulergamma" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.infinity">
      <element name="infinity">
        <ref name="mathml.attlist-infinity"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.infinity"/>
    </define>
    <define name="mathml.attlist-infinity" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cfuncop1ary">
      <choice>
        <ref name="mathml.inverse"/>
        <ref name="mathml.ident"/>
        <ref name="mathml.domain"/>
        <ref name="mathml.codomain"/>
        <ref name="mathml.image"/>
      </choice>
    </define>
    <define name="mathml.inverse">
      <element name="inverse">
        <ref name="mathml.attlist-inverse"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.inverse"/>
    </define>
    <define name="mathml.attlist-inverse" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.domain">
      <element name="domain">
        <ref name="mathml.attlist-domain"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.domain"/>
    </define>
    <define name="mathml.attlist-domain" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.codomain">
      <element name="codomain">
        <ref name="mathml.attlist-codomain"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.codomain"/>
    </define>
    <define name="mathml.attlist-codomain" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.image">
      <element name="image">
        <ref name="mathml.attlist-image"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.image"/>
    </define>
    <define name="mathml.attlist-image" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cfuncopnary">
      <choice>
        <ref name="mathml.fn"/>
        <ref name="mathml.compose"/>
      </choice>
    </define>
    <define name="mathml.attlist-fn" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.ident">
      <element name="ident">
        <ref name="mathml.attlist-ident"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.ident"/>
    </define>
    <define name="mathml.attlist-ident" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.compose">
      <element name="compose">
        <ref name="mathml.attlist-compose"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.compose"/>
    </define>
    <define name="mathml.attlist-compose" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.carithop1ary">
      <choice>
        <ref name="mathml.abs"/>
        <ref name="mathml.conjugate"/>
        <ref name="mathml.exp"/>
        <ref name="mathml.factorial"/>
        <ref name="mathml.arg"/>
        <ref name="mathml.real"/>
        <ref name="mathml.imaginary"/>
        <ref name="mathml.floor"/>
        <ref name="mathml.ceiling"/>
      </choice>
    </define>
    <define name="mathml.exp">
      <element name="exp">
        <ref name="mathml.attlist-exp"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.exp"/>
    </define>
    <define name="mathml.attlist-exp" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.abs">
      <element name="abs">
        <ref name="mathml.attlist-abs"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.abs"/>
    </define>
    <define name="mathml.attlist-abs" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arg">
      <element name="arg">
        <ref name="mathml.attlist-arg"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arg"/>
    </define>
    <define name="mathml.attlist-arg" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.real">
      <element name="real">
        <ref name="mathml.attlist-real"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.real"/>
    </define>
    <define name="mathml.attlist-real" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.imaginary">
      <element name="imaginary">
        <ref name="mathml.attlist-imaginary"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.imaginary"/>
    </define>
    <define name="mathml.attlist-imaginary" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.conjugate">
      <element name="conjugate">
        <ref name="mathml.attlist-conjugate"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.conjugate"/>
    </define>
    <define name="mathml.attlist-conjugate" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.factorial">
      <element name="factorial">
        <ref name="mathml.attlist-factorial"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.factorial"/>
    </define>
    <define name="mathml.attlist-factorial" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.floor">
      <element name="floor">
        <ref name="mathml.attlist-floor"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.floor"/>
    </define>
    <define name="mathml.attlist-floor" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.ceiling">
      <element name="ceiling">
        <ref name="mathml.attlist-ceiling"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.ceiling"/>
    </define>
    <define name="mathml.attlist-ceiling" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.carithop1or2ary">
      <ref name="mathml.minus"/>
    </define>
    <define name="mathml.minus">
      <element name="minus">
        <ref name="mathml.attlist-minus"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.minus"/>
    </define>
    <define name="mathml.attlist-minus" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.carithop2ary">
      <choice>
        <ref name="mathml.quotient"/>
        <ref name="mathml.divide"/>
        <ref name="mathml.power"/>
        <ref name="mathml.rem"/>
      </choice>
    </define>
    <define name="mathml.quotient">
      <element name="quotient">
        <ref name="mathml.attlist-quotient"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.quotient"/>
    </define>
    <define name="mathml.attlist-quotient" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.divide">
      <element name="divide">
        <ref name="mathml.attlist-divide"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.divide"/>
    </define>
    <define name="mathml.attlist-divide" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.power">
      <element name="power">
        <ref name="mathml.attlist-power"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.power"/>
    </define>
    <define name="mathml.attlist-power" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.rem">
      <element name="rem">
        <ref name="mathml.attlist-rem"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.rem"/>
    </define>
    <define name="mathml.attlist-rem" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.carithopnary">
      <choice>
        <ref name="mathml.plus"/>
        <ref name="mathml.times"/>
        <ref name="mathml.max"/>
        <ref name="mathml.min"/>
        <ref name="mathml.gcd"/>
        <ref name="mathml.lcm"/>
      </choice>
    </define>
    <define name="mathml.plus">
      <element name="plus">
        <ref name="mathml.attlist-plus"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.plus"/>
    </define>
    <define name="mathml.attlist-plus" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.max">
      <element name="max">
        <ref name="mathml.attlist-max"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.max"/>
    </define>
    <define name="mathml.attlist-max" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.min">
      <element name="min">
        <ref name="mathml.attlist-min"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.min"/>
    </define>
    <define name="mathml.attlist-min" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.times">
      <element name="times">
        <ref name="mathml.attlist-times"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.times"/>
    </define>
    <define name="mathml.attlist-times" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.gcd">
      <element name="gcd">
        <ref name="mathml.attlist-gcd"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.gcd"/>
    </define>
    <define name="mathml.attlist-gcd" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.lcm">
      <element name="lcm">
        <ref name="mathml.attlist-lcm"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.lcm"/>
    </define>
    <define name="mathml.attlist-lcm" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.carithoproot">
      <ref name="mathml.root"/>
    </define>
    <define name="mathml.root">
      <element name="root">
        <ref name="mathml.attlist-root"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.root"/>
    </define>
    <define name="mathml.attlist-root" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.clogicopquant">
      <choice>
        <ref name="mathml.exists"/>
        <ref name="mathml.forall"/>
      </choice>
    </define>
    <define name="mathml.exists">
      <element name="exists">
        <ref name="mathml.attlist-exists"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.exists"/>
    </define>
    <define name="mathml.attlist-exists" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.forall">
      <element name="forall">
        <ref name="mathml.attlist-forall"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.forall"/>
    </define>
    <define name="mathml.attlist-forall" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.clogicopnary">
      <choice>
        <ref name="mathml.and"/>
        <ref name="mathml.or"/>
        <ref name="mathml.xor"/>
      </choice>
    </define>
    <define name="mathml.and">
      <element name="and">
        <ref name="mathml.attlist-and"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.and"/>
    </define>
    <define name="mathml.attlist-and" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.or">
      <element name="or">
        <ref name="mathml.attlist-or"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.or"/>
    </define>
    <define name="mathml.attlist-or" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.xor">
      <element name="xor">
        <ref name="mathml.attlist-xor"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.xor"/>
    </define>
    <define name="mathml.attlist-xor" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.clogicop1ary">
      <ref name="mathml.not"/>
    </define>
    <define name="mathml.not">
      <element name="not">
        <ref name="mathml.attlist-not"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.not"/>
    </define>
    <define name="mathml.attlist-not" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.clogicop2ary">
      <ref name="mathml.implies"/>
    </define>
    <define name="mathml.implies">
      <element name="implies">
        <ref name="mathml.attlist-implies"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.implies"/>
    </define>
    <define name="mathml.attlist-implies" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.ccalcop">
      <choice>
        <ref name="mathml.log"/>
        <ref name="mathml.int"/>
        <ref name="mathml.diff"/>
        <ref name="mathml.partialdiff"/>
        <ref name="mathml.divergence"/>
        <ref name="mathml.grad"/>
        <ref name="mathml.curl"/>
        <ref name="mathml.laplacian"/>
      </choice>
    </define>
    <define name="mathml.divergence">
      <element name="divergence">
        <ref name="mathml.attlist-divergence"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.divergence"/>
    </define>
    <define name="mathml.attlist-divergence" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.grad">
      <element name="grad">
        <ref name="mathml.attlist-grad"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.grad"/>
    </define>
    <define name="mathml.attlist-grad" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.curl">
      <element name="curl">
        <ref name="mathml.attlist-curl"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.curl"/>
    </define>
    <define name="mathml.attlist-curl" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.laplacian">
      <element name="laplacian">
        <ref name="mathml.attlist-laplacian"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.laplacian"/>
    </define>
    <define name="mathml.attlist-laplacian" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.log">
      <element name="log">
        <ref name="mathml.attlist-log"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.log"/>
    </define>
    <define name="mathml.attlist-log" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.int">
      <element name="int">
        <ref name="mathml.attlist-int"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.int"/>
    </define>
    <define name="mathml.attlist-int" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.diff">
      <element name="diff">
        <ref name="mathml.attlist-diff"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.diff"/>
    </define>
    <define name="mathml.attlist-diff" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.partialdiff">
      <element name="partialdiff">
        <ref name="mathml.attlist-partialdiff"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.partialdiff"/>
    </define>
    <define name="mathml.attlist-partialdiff" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.ccalcop1ary">
      <ref name="mathml.ln"/>
    </define>
    <define name="mathml.ln">
      <element name="ln">
        <ref name="mathml.attlist-ln"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.ln"/>
    </define>
    <define name="mathml.attlist-ln" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.csetop1ary">
      <ref name="mathml.card"/>
    </define>
    <define name="mathml.card">
      <element name="card">
        <ref name="mathml.attlist-card"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.card"/>
    </define>
    <define name="mathml.attlist-card" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.csetop2ary">
      <ref name="mathml.setdiff"/>
    </define>
    <define name="mathml.setdiff">
      <element name="setdiff">
        <ref name="mathml.attlist-setdiff"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.setdiff"/>
    </define>
    <define name="mathml.attlist-setdiff" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.csetopnary">
      <choice>
        <ref name="mathml.union"/>
        <ref name="mathml.intersect"/>
        <ref name="mathml.cartesianproduct"/>
      </choice>
    </define>
    <define name="mathml.union">
      <element name="union">
        <ref name="mathml.attlist-union"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.union"/>
    </define>
    <define name="mathml.attlist-union" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.intersect">
      <element name="intersect">
        <ref name="mathml.attlist-intersect"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.intersect"/>
    </define>
    <define name="mathml.attlist-intersect" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cartesianproduct">
      <element name="cartesianproduct">
        <ref name="mathml.attlist-cartesianproduct"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.cartesianproduct"/>
    </define>
    <define name="mathml.attlist-cartesianproduct" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cseqop">
      <choice>
        <ref name="mathml.sum"/>
        <ref name="mathml.product"/>
        <ref name="mathml.limit"/>
      </choice>
    </define>
    <define name="mathml.sum">
      <element name="sum">
        <ref name="mathml.attlist-sum"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.sum"/>
    </define>
    <define name="mathml.attlist-sum" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.product">
      <element name="product">
        <ref name="mathml.attlist-product"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.product"/>
    </define>
    <define name="mathml.attlist-product" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.limit">
      <element name="limit">
        <ref name="mathml.attlist-limit"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.limit"/>
    </define>
    <define name="mathml.attlist-limit" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.ctrigop">
      <choice>
        <ref name="mathml.sin"/>
        <ref name="mathml.cos"/>
        <ref name="mathml.tan"/>
        <ref name="mathml.sec"/>
        <ref name="mathml.csc"/>
        <ref name="mathml.cot"/>
        <ref name="mathml.sinh"/>
        <ref name="mathml.cosh"/>
        <ref name="mathml.tanh"/>
        <ref name="mathml.sech"/>
        <ref name="mathml.csch"/>
        <ref name="mathml.coth"/>
        <ref name="mathml.arcsin"/>
        <ref name="mathml.arccos"/>
        <ref name="mathml.arctan"/>
        <ref name="mathml.arccosh"/>
        <ref name="mathml.arccot"/>
        <ref name="mathml.arccoth"/>
        <ref name="mathml.arccsc"/>
        <ref name="mathml.arccsch"/>
        <ref name="mathml.arcsec"/>
        <ref name="mathml.arcsech"/>
        <ref name="mathml.arcsinh"/>
        <ref name="mathml.arctanh"/>
      </choice>
    </define>
    <define name="mathml.sin">
      <element name="sin">
        <ref name="mathml.attlist-sin"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.sin"/>
    </define>
    <define name="mathml.attlist-sin" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cos">
      <element name="cos">
        <ref name="mathml.attlist-cos"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.cos"/>
    </define>
    <define name="mathml.attlist-cos" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.tan">
      <element name="tan">
        <ref name="mathml.attlist-tan"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.tan"/>
    </define>
    <define name="mathml.attlist-tan" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.sec">
      <element name="sec">
        <ref name="mathml.attlist-sec"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.sec"/>
    </define>
    <define name="mathml.attlist-sec" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.csc">
      <element name="csc">
        <ref name="mathml.attlist-csc"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.csc"/>
    </define>
    <define name="mathml.attlist-csc" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cot">
      <element name="cot">
        <ref name="mathml.attlist-cot"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.cot"/>
    </define>
    <define name="mathml.attlist-cot" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.sinh">
      <element name="sinh">
        <ref name="mathml.attlist-sinh"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.sinh"/>
    </define>
    <define name="mathml.attlist-sinh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cosh">
      <element name="cosh">
        <ref name="mathml.attlist-cosh"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.cosh"/>
    </define>
    <define name="mathml.attlist-cosh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.tanh">
      <element name="tanh">
        <ref name="mathml.attlist-tanh"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.tanh"/>
    </define>
    <define name="mathml.attlist-tanh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.sech">
      <element name="sech">
        <ref name="mathml.attlist-sech"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.sech"/>
    </define>
    <define name="mathml.attlist-sech" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.csch">
      <element name="csch">
        <ref name="mathml.attlist-csch"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.csch"/>
    </define>
    <define name="mathml.attlist-csch" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.coth">
      <element name="coth">
        <ref name="mathml.attlist-coth"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.coth"/>
    </define>
    <define name="mathml.attlist-coth" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arcsin">
      <element name="arcsin">
        <ref name="mathml.attlist-arcsin"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arcsin"/>
    </define>
    <define name="mathml.attlist-arcsin" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arccos">
      <element name="arccos">
        <ref name="mathml.attlist-arccos"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arccos"/>
    </define>
    <define name="mathml.attlist-arccos" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arctan">
      <element name="arctan">
        <ref name="mathml.attlist-arctan"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arctan"/>
    </define>
    <define name="mathml.attlist-arctan" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arccosh">
      <element name="arccosh">
        <ref name="mathml.attlist-arccosh"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arccosh"/>
    </define>
    <define name="mathml.attlist-arccosh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arccot">
      <element name="arccot">
        <ref name="mathml.attlist-arccot"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arccot"/>
    </define>
    <define name="mathml.attlist-arccot" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arccoth">
      <element name="arccoth">
        <ref name="mathml.attlist-arccoth"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arccoth"/>
    </define>
    <define name="mathml.attlist-arccoth" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arccsc">
      <element name="arccsc">
        <ref name="mathml.attlist-arccsc"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arccsc"/>
    </define>
    <define name="mathml.attlist-arccsc" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arccsch">
      <element name="arccsch">
        <ref name="mathml.attlist-arccsch"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arccsch"/>
    </define>
    <define name="mathml.attlist-arccsch" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arcsec">
      <element name="arcsec">
        <ref name="mathml.attlist-arcsec"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arcsec"/>
    </define>
    <define name="mathml.attlist-arcsec" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arcsech">
      <element name="arcsech">
        <ref name="mathml.attlist-arcsech"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arcsech"/>
    </define>
    <define name="mathml.attlist-arcsech" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arcsinh">
      <element name="arcsinh">
        <ref name="mathml.attlist-arcsinh"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arcsinh"/>
    </define>
    <define name="mathml.attlist-arcsinh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.arctanh">
      <element name="arctanh">
        <ref name="mathml.attlist-arctanh"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.arctanh"/>
    </define>
    <define name="mathml.attlist-arctanh" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cstatopnary">
      <choice>
        <ref name="mathml.mean"/>
        <ref name="mathml.sdev"/>
        <ref name="mathml.variance"/>
        <ref name="mathml.median"/>
        <ref name="mathml.mode"/>
      </choice>
    </define>
    <define name="mathml.mean">
      <element name="mean">
        <ref name="mathml.attlist-mean"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mean"/>
    </define>
    <define name="mathml.attlist-mean" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.sdev">
      <element name="sdev">
        <ref name="mathml.attlist-sdev"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.sdev"/>
    </define>
    <define name="mathml.attlist-sdev" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.variance">
      <element name="variance">
        <ref name="mathml.attlist-variance"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.variance"/>
    </define>
    <define name="mathml.attlist-variance" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.median">
      <element name="median">
        <ref name="mathml.attlist-median"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.median"/>
    </define>
    <define name="mathml.attlist-median" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.mode">
      <element name="mode">
        <ref name="mathml.attlist-mode"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mode"/>
    </define>
    <define name="mathml.attlist-mode" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cstatopmoment">
      <ref name="mathml.moment"/>
    </define>
    <define name="mathml.moment">
      <element name="moment">
        <ref name="mathml.attlist-moment"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.moment"/>
    </define>
    <define name="mathml.attlist-moment" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.clalgop1ary">
      <choice>
        <ref name="mathml.determinant"/>
        <ref name="mathml.transpose"/>
      </choice>
    </define>
    <define name="mathml.determinant">
      <element name="determinant">
        <ref name="mathml.attlist-determinant"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.determinant"/>
    </define>
    <define name="mathml.attlist-determinant" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.transpose">
      <element name="transpose">
        <ref name="mathml.attlist-transpose"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.transpose"/>
    </define>
    <define name="mathml.attlist-transpose" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.clalgop2ary">
      <choice>
        <ref name="mathml.vectorproduct"/>
        <ref name="mathml.scalarproduct"/>
        <ref name="mathml.outerproduct"/>
      </choice>
    </define>
    <define name="mathml.vectorproduct">
      <element name="vectorproduct">
        <ref name="mathml.attlist-vectorproduct"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.vectorproduct"/>
    </define>
    <define name="mathml.attlist-vectorproduct" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.scalarproduct">
      <element name="scalarproduct">
        <ref name="mathml.attlist-scalarproduct"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.scalarproduct"/>
    </define>
    <define name="mathml.attlist-scalarproduct" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.outerproduct">
      <element name="outerproduct">
        <ref name="mathml.attlist-outerproduct"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.outerproduct"/>
    </define>
    <define name="mathml.attlist-outerproduct" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.clalgopnary">
      <ref name="mathml.selector"/>
    </define>
    <define name="mathml.selector">
      <element name="selector">
        <ref name="mathml.attlist-selector"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.selector"/>
    </define>
    <define name="mathml.attlist-selector" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cgenrel2ary">
      <choice>
        <ref name="mathml.neq"/>
        <ref name="mathml.factorof"/>
      </choice>
    </define>
    <define name="mathml.neq">
      <element name="neq">
        <ref name="mathml.attlist-neq"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.neq"/>
    </define>
    <define name="mathml.attlist-neq" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.factorof">
      <element name="factorof">
        <ref name="mathml.attlist-factorof"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.factorof"/>
    </define>
    <define name="mathml.attlist-factorof" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cgenrelnary">
      <choice>
        <ref name="mathml.eq"/>
        <ref name="mathml.leq"/>
        <ref name="mathml.lt"/>
        <ref name="mathml.geq"/>
        <ref name="mathml.gt"/>
        <ref name="mathml.equivalent"/>
        <ref name="mathml.approx"/>
      </choice>
    </define>
    <define name="mathml.eq">
      <element name="eq">
        <ref name="mathml.attlist-eq"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.eq"/>
    </define>
    <define name="mathml.attlist-eq" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.equivalent">
      <element name="equivalent">
        <ref name="mathml.attlist-equivalent"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.equivalent"/>
    </define>
    <define name="mathml.attlist-equivalent" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.approx">
      <element name="approx">
        <ref name="mathml.attlist-approx"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.approx"/>
    </define>
    <define name="mathml.attlist-approx" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.gt">
      <element name="gt">
        <ref name="mathml.attlist-gt"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.gt"/>
    </define>
    <define name="mathml.attlist-gt" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.lt">
      <element name="lt">
        <ref name="mathml.attlist-lt"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.lt"/>
    </define>
    <define name="mathml.attlist-lt" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.geq">
      <element name="geq">
        <ref name="mathml.attlist-geq"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.geq"/>
    </define>
    <define name="mathml.attlist-geq" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.leq">
      <element name="leq">
        <ref name="mathml.attlist-leq"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.leq"/>
    </define>
    <define name="mathml.attlist-leq" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.csetrel2ary">
      <choice>
        <ref name="mathml.in"/>
        <ref name="mathml.notin"/>
        <ref name="mathml.notsubset"/>
        <ref name="mathml.notprsubset"/>
      </choice>
    </define>
    <define name="mathml.in">
      <element name="in">
        <ref name="mathml.attlist-in"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.in"/>
    </define>
    <define name="mathml.attlist-in" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.notin">
      <element name="notin">
        <ref name="mathml.attlist-notin"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.notin"/>
    </define>
    <define name="mathml.attlist-notin" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.notsubset">
      <element name="notsubset">
        <ref name="mathml.attlist-notsubset"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.notsubset"/>
    </define>
    <define name="mathml.attlist-notsubset" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.notprsubset">
      <element name="notprsubset">
        <ref name="mathml.attlist-notprsubset"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.notprsubset"/>
    </define>
    <define name="mathml.attlist-notprsubset" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.csetrelnary">
      <choice>
        <ref name="mathml.subset"/>
        <ref name="mathml.prsubset"/>
      </choice>
    </define>
    <define name="mathml.subset">
      <element name="subset">
        <ref name="mathml.attlist-subset"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.subset"/>
    </define>
    <define name="mathml.attlist-subset" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.prsubset">
      <element name="prsubset">
        <ref name="mathml.attlist-prsubset"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.prsubset"/>
    </define>
    <define name="mathml.attlist-prsubset" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
    </define>
    <define name="mathml.cseqrel2ary">
      <ref name="mathml.tendsto"/>
    </define>
    <define name="mathml.tendsto">
      <element name="tendsto">
        <ref name="mathml.attlist-tendsto"/>
        <empty/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.tendsto"/>
    </define>
    <define name="mathml.attlist-tendsto" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-definition"/>
      <ref name="mathml.att-encoding"/>
      <ref name="mathml.att-type"/>
    </define>
    <define name="mathml.cquantifier">
      <choice>
        <ref name="mathml.lowlimit"/>
        <ref name="mathml.uplimit"/>
        <ref name="mathml.bvar"/>
        <ref name="mathml.degree"/>
        <ref name="mathml.logbase"/>
        <ref name="mathml.momentabout"/>
        <ref name="mathml.domainofapplication"/>
      </choice>
    </define>
    <define name="mathml.attlist-lowlimit" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-uplimit" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-bvar" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-degree" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-logbase" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-momentabout" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.attlist-domainofapplication" combine="interleave">
      <ref name="MATHML.Common.attrib"/>
    </define>
    <define name="mathml.cop1ary">
      <choice>
        <ref name="mathml.cfuncop1ary"/>
        <ref name="mathml.carithop1ary"/>
        <ref name="mathml.clogicop1ary"/>
        <ref name="mathml.ccalcop1ary"/>
        <ref name="mathml.ctrigop"/>
        <ref name="mathml.clalgop1ary"/>
        <ref name="mathml.csetop1ary"/>
      </choice>
    </define>
    <define name="mathml.cop2ary">
      <choice>
        <ref name="mathml.carithop2ary"/>
        <ref name="mathml.clogicop2ary"/>
        <ref name="mathml.clalgop2ary"/>
        <ref name="mathml.csetop2ary"/>
      </choice>
    </define>
    <define name="mathml.copnary">
      <choice>
        <ref name="mathml.cfuncopnary"/>
        <ref name="mathml.carithopnary"/>
        <ref name="mathml.clogicopnary"/>
        <ref name="mathml.csetopnary"/>
        <ref name="mathml.cstatopnary"/>
        <ref name="mathml.clalgopnary"/>
      </choice>
    </define>
    <define name="mathml.copmisc">
      <choice>
        <ref name="mathml.carithoproot"/>
        <ref name="mathml.carithop1or2ary"/>
        <ref name="mathml.ccalcop"/>
        <ref name="mathml.cseqop"/>
        <ref name="mathml.cstatopmoment"/>
        <ref name="mathml.clogicopquant"/>
      </choice>
    </define>
    <define name="mathml.crel2ary">
      <choice>
        <ref name="mathml.cgenrel2ary"/>
        <ref name="mathml.csetrel2ary"/>
        <ref name="mathml.cseqrel2ary"/>
      </choice>
    </define>
    <define name="mathml.crelnary">
      <choice>
        <ref name="mathml.cgenrelnary"/>
        <ref name="mathml.csetrelnary"/>
      </choice>
    </define>
    <define name="mathml.Content">
      <choice>
        <ref name="mathml.ctoken"/>
        <ref name="mathml.cspecial"/>
        <ref name="mathml.cother"/>
        <ref name="mathml.csemantics"/>
        <ref name="mathml.c0ary"/>
        <ref name="mathml.cconstructor"/>
        <ref name="mathml.cquantifier"/>
        <ref name="mathml.cop1ary"/>
        <ref name="mathml.cop2ary"/>
        <ref name="mathml.copnary"/>
        <ref name="mathml.copmisc"/>
        <ref name="mathml.crel2ary"/>
        <ref name="mathml.crelnary"/>
      </choice>
    </define>
    <define name="mathml.ContInPres">
      <choice>
        <ref name="mathml.ci"/>
        <ref name="mathml.csymbol"/>
        <ref name="mathml.cn"/>
        <ref name="mathml.c0ary"/>
        <ref name="mathml.apply"/>
        <ref name="mathml.fn"/>
        <ref name="mathml.lambda"/>
        <ref name="mathml.reln"/>
        <ref name="mathml.cconstructor"/>
        <ref name="mathml.semantics"/>
        <ref name="mathml.declare"/>
      </choice>
    </define>
    <define name="mathml.ContentExpression">
      <zeroOrMore>
        <choice>
          <ref name="mathml.Content"/>
          <ref name="mathml.PresInCont"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="mathml.PresExpression">
      <zeroOrMore>
        <choice>
          <ref name="mathml.Presentation"/>
          <ref name="mathml.ContInPres"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="mathml.MathExpression">
      <zeroOrMore>
        <choice>
          <ref name="mathml.PresInCont"/>
          <ref name="mathml.ContInPres"/>
        </choice>
      </zeroOrMore>
    </define>
    <define name="mathml.MathMLCharacters">
      <choice>
        <text/>
        <ref name="mathml.mglyph"/>
      </choice>
    </define>
    <define name="mathml.ci">
      <element name="ci">
        <ref name="mathml.attlist-ci"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.PresInCont"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.ci"/>
    </define>
    <define name="mathml.csymbol">
      <element name="csymbol">
        <ref name="mathml.attlist-csymbol"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.PresInCont"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.csymbol"/>
    </define>
    <define name="mathml.cn">
      <element name="cn">
        <ref name="mathml.attlist-cn"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.sep"/>
            <ref name="mathml.PresInCont"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.cn"/>
    </define>
    <define name="mathml.apply">
      <element name="apply">
        <ref name="mathml.attlist-apply"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.apply"/>
    </define>
    <define name="mathml.reln">
      <element name="reln">
        <ref name="mathml.attlist-reln"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.reln"/>
    </define>
    <define name="mathml.lambda">
      <element name="lambda">
        <ref name="mathml.attlist-lambda"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.lambda"/>
    </define>
    <define name="mathml.condition">
      <element name="condition">
        <ref name="mathml.attlist-condition"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.condition"/>
    </define>
    <define name="mathml.declare">
      <element name="declare">
        <ref name="mathml.attlist-declare"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.declare"/>
    </define>
    <define name="mathml.semantics">
      <element name="semantics">
        <ref name="mathml.attlist-semantics"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.semantics"/>
    </define>
    <define name="mathml.Annotation.content">
      <text/>
    </define>
    <define name="mathml.annotation">
      <element name="annotation">
        <ref name="mathml.attlist-annotation"/>
        <ref name="mathml.Annotation.content"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.annotation"/>
    </define>
    <define name="mathml.annotation-xml">
      <element name="annotation-xml">
        <ref name="mathml.attlist-annotation-xml"/>
        <ref name="mathml.any"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.annotation-xml"/>
    </define>
    <define name="mathml.interval">
      <element name="interval">
        <ref name="mathml.attlist-interval"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.interval"/>
    </define>
    <define name="mathml.set">
      <element name="set">
        <ref name="mathml.attlist-set"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.set"/>
    </define>
    <define name="mathml.list">
      <element name="list">
        <ref name="mathml.attlist-list"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.list"/>
    </define>
    <define name="mathml.vector">
      <element name="vector">
        <ref name="mathml.attlist-vector"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.vector"/>
    </define>
    <define name="mathml.matrix">
      <element name="matrix">
        <ref name="mathml.attlist-matrix"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.matrix"/>
    </define>
    <define name="mathml.matrixrow">
      <element name="matrixrow">
        <ref name="mathml.attlist-matrixrow"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.matrixrow"/>
    </define>
    <define name="mathml.piecewise">
      <element name="piecewise">
        <ref name="mathml.attlist-piecewise"/>
        <zeroOrMore>
          <ref name="mathml.piece"/>
        </zeroOrMore>
        <optional>
          <ref name="mathml.otherwise"/>
        </optional>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.piecewise"/>
    </define>
    <define name="mathml.piece">
      <element name="piece">
        <ref name="mathml.attlist-piece"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.piece"/>
    </define>
    <define name="mathml.otherwise">
      <element name="otherwise">
        <ref name="mathml.attlist-otherwise"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.otherwise"/>
    </define>
    <define name="mathml.fn">
      <element name="fn">
        <ref name="mathml.attlist-fn"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.fn"/>
    </define>
    <define name="mathml.lowlimit">
      <element name="lowlimit">
        <ref name="mathml.attlist-lowlimit"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.lowlimit"/>
    </define>
    <define name="mathml.uplimit">
      <element name="uplimit">
        <ref name="mathml.attlist-uplimit"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.uplimit"/>
    </define>
    <define name="mathml.bvar">
      <element name="bvar">
        <ref name="mathml.attlist-bvar"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.bvar"/>
    </define>
    <define name="mathml.degree">
      <element name="degree">
        <ref name="mathml.attlist-degree"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.degree"/>
    </define>
    <define name="mathml.logbase">
      <element name="logbase">
        <ref name="mathml.attlist-logbase"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.logbase"/>
    </define>
    <define name="mathml.momentabout">
      <element name="momentabout">
        <ref name="mathml.attlist-momentabout"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.momentabout"/>
    </define>
    <define name="mathml.domainofapplication">
      <element name="domainofapplication">
        <ref name="mathml.attlist-domainofapplication"/>
        <ref name="mathml.ContentExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.domainofapplication"/>
    </define>
    <define name="mathml.mstyle">
      <element name="mstyle">
        <ref name="mathml.attlist-mstyle"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mstyle"/>
    </define>
    <define name="mathml.merror">
      <element name="merror">
        <ref name="mathml.attlist-merror"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.merror"/>
    </define>
    <define name="mathml.mphantom">
      <element name="mphantom">
        <ref name="mathml.attlist-mphantom"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mphantom"/>
    </define>
    <define name="mathml.mrow">
      <element name="mrow">
        <ref name="mathml.attlist-mrow"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mrow"/>
    </define>
    <define name="mathml.mfrac">
      <element name="mfrac">
        <ref name="mathml.attlist-mfrac"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mfrac"/>
    </define>
    <define name="mathml.msqrt">
      <element name="msqrt">
        <ref name="mathml.attlist-msqrt"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.msqrt"/>
    </define>
    <define name="mathml.menclose">
      <element name="menclose">
        <ref name="mathml.attlist-menclose"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.menclose"/>
    </define>
    <define name="mathml.mroot">
      <element name="mroot">
        <ref name="mathml.attlist-mroot"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mroot"/>
    </define>
    <define name="mathml.msub">
      <element name="msub">
        <ref name="mathml.attlist-msub"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.msub"/>
    </define>
    <define name="mathml.msup">
      <element name="msup">
        <ref name="mathml.attlist-msup"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.msup"/>
    </define>
    <define name="mathml.msubsup">
      <element name="msubsup">
        <ref name="mathml.attlist-msubsup"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.msubsup"/>
    </define>
    <define name="mathml.mmultiscripts">
      <element name="mmultiscripts">
        <ref name="mathml.attlist-mmultiscripts"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mmultiscripts"/>
    </define>
    <define name="mathml.munder">
      <element name="munder">
        <ref name="mathml.attlist-munder"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.munder"/>
    </define>
    <define name="mathml.mover">
      <element name="mover">
        <ref name="mathml.attlist-mover"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mover"/>
    </define>
    <define name="mathml.munderover">
      <element name="munderover">
        <ref name="mathml.attlist-munderover"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.munderover"/>
    </define>
    <define name="mathml.mtable">
      <element name="mtable">
        <ref name="mathml.attlist-mtable"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mtable"/>
    </define>
    <define name="mathml.mtr">
      <element name="mtr">
        <ref name="mathml.attlist-mtr"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mtr"/>
    </define>
    <define name="mathml.mlabeledtr">
      <element name="mlabeledtr">
        <ref name="mathml.attlist-mlabeledtr"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mlabeledtr"/>
    </define>
    <define name="mathml.mtd">
      <element name="mtd">
        <ref name="mathml.attlist-mtd"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mtd"/>
    </define>
    <define name="mathml.maction">
      <element name="maction">
        <ref name="mathml.attlist-maction"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.maction"/>
    </define>
    <define name="mathml.mfenced">
      <element name="mfenced">
        <ref name="mathml.attlist-mfenced"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mfenced"/>
    </define>
    <define name="mathml.mpadded">
      <element name="mpadded">
        <ref name="mathml.attlist-mpadded"/>
        <ref name="mathml.PresExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mpadded"/>
    </define>
    <define name="mathml.mi">
      <element name="mi">
        <ref name="mathml.attlist-mi"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.malignmark"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mi"/>
    </define>
    <define name="mathml.mn">
      <element name="mn">
        <ref name="mathml.attlist-mn"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.malignmark"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mn"/>
    </define>
    <define name="mathml.mo">
      <element name="mo">
        <ref name="mathml.attlist-mo"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.malignmark"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mo"/>
    </define>
    <define name="mathml.mtext">
      <element name="mtext">
        <ref name="mathml.attlist-mtext"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.malignmark"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.mtext"/>
    </define>
    <define name="mathml.ms">
      <element name="ms">
        <ref name="mathml.attlist-ms"/>
        <zeroOrMore>
          <choice>
            <ref name="mathml.MathMLCharacters"/>
            <ref name="mathml.malignmark"/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.ms"/>
    </define>
    <define name="mathml.att-macros">
      <optional>
        <attribute name="macros"/>
      </optional>
    </define>
    <define name="mathml.att-mode">
      <optional>
        <attribute name="mode"/>
      </optional>
    </define>
    <define name="mathml.att-display">
      <optional>
        <attribute name="display"/>
      </optional>
    </define>
    <define name="mathml.att-topinfo">
      <ref name="MATHML.Common.attrib"/>
      <ref name="mathml.att-macros"/>
      <ref name="mathml.att-mode"/>
      <ref name="mathml.att-display"/>
    </define>
    <define name="mathml.att-baseline">
      <optional>
        <attribute name="baseline"/>
      </optional>
    </define>
    <define name="mathml.att-overflow">
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="overflow" a:defaultValue="scroll">
          <choice>
            <value>scroll</value>
            <value>elide</value>
            <value>truncate</value>
            <value>scale</value>
          </choice>
        </attribute>
      </optional>
    </define>
    <define name="mathml.att-altimg">
      <optional>
        <attribute name="altimg"/>
      </optional>
    </define>
    <define name="mathml.att-alttext">
      <optional>
        <attribute name="alttext"/>
      </optional>
    </define>
    <define name="mathml.att-browif">
      <ref name="mathml.att-type"/>
      <ref name="mathml.att-name"/>
      <ref name="mathml.att-height"/>
      <ref name="mathml.att-width"/>
      <ref name="mathml.att-baseline"/>
      <ref name="mathml.att-overflow"/>
      <ref name="mathml.att-altimg"/>
      <ref name="mathml.att-alttext"/>
    </define>
    <define name="mathml.math">
      <element name="math">
        <ref name="mathml.attlist-math"/>
        <ref name="mathml.MathExpression"/>
      </element>
    </define>
    <define name="mathml.any" combine="choice">
      <ref name="mathml.math"/>
    </define>
    <define name="mathml.attlist-math" combine="interleave">
      <ref name="mathml.att-topinfo"/>
      <ref name="mathml.att-browif"/>
    </define>
    <define name="mathml.any" combine="choice">
      <text/>
    </define>
  </div>
  <div ns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
    <define name="extrapattern">
      <optional>
        <ref name="anyDoc"/>
      </optional>
      <ref name="pattern"/>
      <optional>
        <ref name="anyDoc"/>
      </optional>
    </define>
    <define name="pattern">
      <choice>
        <element name="element">
          <attribute name="name">
            <data type="QName"/>
          </attribute>
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
          <optional>
            <attribute name="ns">
              <data type="anyURI"/>
            </attribute>
          </optional>
        </element>
        <element name="element">
          <element name="choice">
            <optional>
              <attribute name="xml:base">
                <data type="anyURI"/>
              </attribute>
            </optional>
            <oneOrMore>
              <ref name="nameClass"/>
            </oneOrMore>
          </element>
          <optional>
            <attribute name="ns">
              <data type="anyURI"/>
            </attribute>
          </optional>
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
        </element>
        <element name="element">
          <ref name="nameClass"/>
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
        </element>
        <element name="attribute">
          <attribute name="name">
            <data type="QName"/>
          </attribute>
          <optional>
            <attribute name="ns">
              <data type="anyURI"/>
            </attribute>
          </optional>
          <optional>
            <ref name="anyAttDoc"/>
          </optional>
          <optional>
            <ref name="extrapattern"/>
          </optional>
        </element>
        <element name="attribute">
          <ref name="nameClass"/>
          <optional>
            <ref name="extrapattern"/>
          </optional>
        </element>
        <element name="group">
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
        </element>
        <element name="interleave">
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
        </element>
        <element name="choice">
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
        </element>
        <element name="optional">
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
        </element>
        <element name="zeroOrMore">
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
        </element>
        <element name="oneOrMore">
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
        </element>
        <element name="list">
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
        </element>
        <element name="mixed">
          <oneOrMore>
            <ref name="extrapattern"/>
          </oneOrMore>
        </element>
        <element name="ref">
          <attribute name="name">
            <data type="NCName"/>
          </attribute>
        </element>
        <element name="parentRef">
          <attribute name="name">
            <data type="NCName"/>
          </attribute>
        </element>
        <element name="empty">
          <rng:empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
        </element>
        <element name="text">
          <rng:empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
        </element>
        <element name="value">
          <optional>
            <attribute name="type">
              <data type="NCName"/>
            </attribute>
          </optional>
          <data type="string"/>
        </element>
        <element name="data">
          <attribute name="type">
            <data type="NCName"/>
          </attribute>
          <zeroOrMore>
            <ref name="param"/>
          </zeroOrMore>
          <optional>
            <ref name="exceptExtrapattern"/>
          </optional>
        </element>
        <element name="notAllowed">
          <rng:empty xmlns:rng="http://relaxng.org/ns/structure/1.0"/>
        </element>
        <element name="externalRef">
          <attribute name="href">
            <data type="anyURI"/>
          </attribute>
          <empty/>
        </element>
        <element name="grammar">
          <optional>
            <attribute name="datatypeLibrary">
              <data type="anyURI"/>
            </attribute>
          </optional>
          <attribute name="ns">
            <data type="anyURI"/>
          </attribute>
          <zeroOrMore>
            <ref name="grammarContent"/>
          </zeroOrMore>
        </element>
      </choice>
    </define>
    <define name="anyDoc">
      <element>
        <nsName ns="http://relaxng.org/ns/compatibility/annotations/1.0"/>
        <optional>
          <attribute name="ns">
            <data type="anyURI"/>
          </attribute>
        </optional>
        <zeroOrMore>
          <choice>
            <ref name="anyDoc"/>
            <text/>
          </choice>
        </zeroOrMore>
      </element>
    </define>
    <define name="anyAttDoc">
      <attribute name="defaultValue" ns="http://relaxng.org/ns/compatibility/annotations/1.0">
        <text/>
      </attribute>
    </define>
    <define name="param">
      <element name="param">
        <attribute name="name">
          <data type="NCName"/>
        </attribute>
        <data type="string"/>
      </element>
    </define>
    <define name="exceptExtrapattern">
      <element name="except">
        <oneOrMore>
          <ref name="extrapattern"/>
        </oneOrMore>
      </element>
    </define>
    <define name="grammarContent">
      <choice>
        <ref name="start"/>
        <ref name="define"/>
        <element name="div">
          <zeroOrMore>
            <ref name="grammarContent"/>
          </zeroOrMore>
        </element>
        <element name="include">
          <attribute name="href">
            <data type="anyURI"/>
          </attribute>
          <zeroOrMore>
            <ref name="includeContent"/>
          </zeroOrMore>
        </element>
      </choice>
    </define>
    <define name="includeContent">
      <choice>
        <ref name="start"/>
        <ref name="define"/>
        <element name="div">
          <zeroOrMore>
            <ref name="includeContent"/>
          </zeroOrMore>
        </element>
      </choice>
    </define>
    <define name="start">
      <element name="start">
        <optional>
          <attribute name="combine">
            <ref name="method"/>
          </attribute>
        </optional>
        <ref name="extrapattern"/>
      </element>
    </define>
    <define name="define">
      <element name="define">
        <attribute name="name">
          <data type="NCName"/>
        </attribute>
        <optional>
          <attribute name="combine">
            <ref name="method"/>
          </attribute>
        </optional>
        <oneOrMore>
          <ref name="extrapattern"/>
        </oneOrMore>
      </element>
    </define>
    <define name="method">
      <choice>
        <value>choice</value>
        <value>interleave</value>
      </choice>
    </define>
    <define name="nameClass">
      <choice>
        <element name="name">
          <data type="QName"/>
          <optional>
            <attribute name="ns">
              <data type="anyURI"/>
            </attribute>
          </optional>
        </element>
        <element name="anyName">
          <optional>
            <ref name="exceptNameClass"/>
          </optional>
        </element>
        <element name="nsName">
          <optional>
            <attribute name="ns">
              <data type="anyURI"/>
            </attribute>
          </optional>
          <optional>
            <ref name="exceptNameClass"/>
          </optional>
        </element>
        <element name="choice">
          <oneOrMore>
            <ref name="nameClass"/>
          </oneOrMore>
        </element>
      </choice>
    </define>
    <define name="exceptNameClass">
      <element name="except">
        <oneOrMore>
          <ref name="nameClass"/>
        </oneOrMore>
      </element>
    </define>
  </div>
  <define name="TEI_macro.paraContent">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="TEI_model.gLike"/>
        <ref name="TEI_model.phrase"/>
        <ref name="TEI_model.inter"/>
        <ref name="TEI_model.global"/>
        <ref name="TEI_lg"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="TEI_macro.limitedContent">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="TEI_model.limitedPhrase"/>
        <ref name="TEI_model.inter"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="TEI_macro.phraseSeq">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="TEI_model.gLike"/>
        <ref name="TEI_model.phrase"/>
        <ref name="TEI_model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="TEI_macro.phraseSeq.limited">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="TEI_model.limitedPhrase"/>
        <ref name="TEI_model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="TEI_macro.specialPara">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="TEI_model.gLike"/>
        <ref name="TEI_model.phrase"/>
        <ref name="TEI_model.inter"/>
        <ref name="TEI_model.divPart"/>
        <ref name="TEI_model.global"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="TEI_macro.xtext">
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="TEI_model.gLike"/>
      </choice>
    </zeroOrMore>
  </define>
  <define name="TEI_data.certainty">
    <choice>
      <value>high</value>
      <value>medium</value>
      <value>low</value>
      <value>unknown</value>
    </choice>
  </define>
  <define name="TEI_data.probability">
    <data type="double">
      <param name="minInclusive">0</param>
      <param name="maxInclusive">1</param>
    </data>
  </define>
  <define name="TEI_data.numeric">
    <choice>
      <data type="double"/>
      <data type="token">
        <param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
      </data>
      <data type="decimal"/>
    </choice>
  </define>
  <define name="TEI_data.count">
    <data type="nonNegativeInteger"/>
  </define>
  <define name="TEI_data.temporal.w3c">
    <choice>
      <data type="date"/>
      <data type="gYear"/>
      <data type="gMonth"/>
      <data type="gDay"/>
      <data type="gYearMonth"/>
      <data type="gMonthDay"/>
      <data type="time"/>
      <data type="dateTime"/>
    </choice>
  </define>
  <define name="TEI_data.duration.w3c">
    <data type="duration"/>
  </define>
  <define name="TEI_data.truthValue">
    <data type="boolean"/>
  </define>
  <define name="TEI_data.xTruthValue">
    <choice>
      <data type="boolean"/>
      <value>unknown</value>
      <value>inapplicable</value>
    </choice>
  </define>
  <define name="TEI_data.language">
    <data type="language"/>
  </define>
  <define name="TEI_data.sex">
    <choice>
      <value>0</value>
      <value>1</value>
      <value>2</value>
      <value>9</value>
    </choice>
  </define>
  <define name="TEI_data.namespace">
    <data type="anyURI"/>
  </define>
  <define name="TEI_data.outputMeasurement">
    <data type="token">
      <param name="pattern">[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|gd|rem|vw|vh|vm)</param>
    </data>
  </define>
  <define name="TEI_data.pattern">
    <data type="token"/>
  </define>
  <define name="TEI_data.point">
    <data type="token">
      <param name="pattern">(\-?[0-9]+\.?[0-9]*,\-?[0-9]+\.?[0-9]*)</param>
    </data>
  </define>
  <define name="TEI_data.pointer">
    <data type="anyURI"/>
  </define>
  <define name="TEI_data.version">
    <data type="token">
      <param name="pattern">[\d]+(\.[\d]+){0,2}</param>
    </data>
  </define>
  <define name="TEI_data.word">
    <data type="token">
      <param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
    </data>
  </define>
  <define name="TEI_data.text">
    <data type="string"/>
  </define>
  <define name="TEI_data.code">
    <ref name="TEI_data.word"/>
  </define>
  <define name="TEI_data.name">
    <data type="Name"/>
  </define>
  <define name="TEI_data.enumerated">
    <ref name="TEI_data.name"/>
  </define>
  <define name="TEI_data.temporal.iso">
    <choice>
      <data type="date"/>
      <data type="gYear"/>
      <data type="gMonth"/>
      <data type="gDay"/>
      <data type="gYearMonth"/>
      <data type="gMonthDay"/>
      <data type="time"/>
      <data type="dateTime"/>
      <data type="token">
        <param name="pattern">[0-9.,DHMPRSTWYZ/:+\-]+</param>
      </data>
    </choice>
  </define>
  <define name="TEI_data.duration.iso">
    <data type="token">
      <param name="pattern">[0-9.,DHMPRSTWYZ/:+\-]+</param>
    </data>
  </define>
  <define name="TEI_macro.schemaPattern">
    <choice>
      <choice>
        <text/>
        <oneOrMore>
          <choice>
            <ref name="pattern"/>
            <ref name="define"/>
          </choice>
        </oneOrMore>
      </choice>
    </choice>
  </define>
  <define name="TEI_anySchematron">
    <element>
      <nsName ns="http://www.ascc.net/xml/schematron"/>
      <zeroOrMore>
        <choice>
          <attribute>
            <anyName/>
          </attribute>
          <ref name="TEI_anySchematron"/>
          <text/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <define name="TEI_anyISOSchematron">
    <element>
      <nsName ns="http://purl.oclc.org/dsdl/schematron"/>
      <zeroOrMore>
        <choice>
          <attribute>
            <anyName/>
          </attribute>
          <ref name="TEI_anyISOSchematron"/>
          <text/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <define name="TEI_macro.anyThingDefined">
    <choice>
      <ref name="TEI_TEI"/>
      <ref name="TEI_ab"/>
      <ref name="TEI_abbr"/>
      <ref name="TEI_accMat"/>
      <ref name="TEI_acquisition"/>
      <ref name="TEI_activity"/>
      <ref name="TEI_actor"/>
      <ref name="TEI_add"/>
      <ref name="TEI_addName"/>
      <ref name="TEI_addSpan"/>
      <ref name="TEI_additional"/>
      <ref name="TEI_additions"/>
      <ref name="TEI_addrLine"/>
      <ref name="TEI_address"/>
      <ref name="TEI_adminInfo"/>
      <ref name="TEI_affiliation"/>
      <ref name="TEI_age"/>
      <ref name="TEI_alt"/>
      <ref name="TEI_altGrp"/>
      <ref name="TEI_altIdent"/>
      <ref name="TEI_altIdentifier"/>
      <ref name="TEI_am"/>
      <ref name="TEI_analytic"/>
      <ref name="TEI_anchor"/>
      <ref name="TEI_app"/>
      <ref name="TEI_appInfo"/>
      <ref name="TEI_application"/>
      <ref name="TEI_arc"/>
      <ref name="TEI_argument"/>
      <ref name="TEI_att"/>
      <ref name="TEI_attDef"/>
      <ref name="TEI_attList"/>
      <ref name="TEI_attRef"/>
      <ref name="TEI_author"/>
      <ref name="TEI_authority"/>
      <ref name="TEI_availability"/>
      <ref name="TEI_back"/>
      <ref name="TEI_bibl"/>
      <ref name="TEI_biblFull"/>
      <ref name="TEI_biblScope"/>
      <ref name="TEI_biblStruct"/>
      <ref name="TEI_bicond"/>
      <ref name="TEI_binary"/>
      <ref name="TEI_binaryObject"/>
      <ref name="TEI_binding"/>
      <ref name="TEI_bindingDesc"/>
      <ref name="TEI_birth"/>
      <ref name="TEI_bloc"/>
      <ref name="TEI_body"/>
      <ref name="TEI_broadcast"/>
      <ref name="TEI_byline"/>
      <ref name="TEI_c"/>
      <ref name="TEI_cRefPattern"/>
      <ref name="TEI_caesura"/>
      <ref name="TEI_calendar"/>
      <ref name="TEI_calendarDesc"/>
      <ref name="TEI_camera"/>
      <ref name="TEI_caption"/>
      <ref name="TEI_case"/>
      <ref name="TEI_castGroup"/>
      <ref name="TEI_castItem"/>
      <ref name="TEI_castList"/>
      <ref name="TEI_catDesc"/>
      <ref name="TEI_catRef"/>
      <ref name="TEI_catchwords"/>
      <ref name="TEI_category"/>
      <ref name="TEI_cb"/>
      <ref name="TEI_cell"/>
      <ref name="TEI_certainty"/>
      <ref name="TEI_change"/>
      <ref name="TEI_channel"/>
      <ref name="TEI_char"/>
      <ref name="TEI_charDecl"/>
      <ref name="TEI_charName"/>
      <ref name="TEI_charProp"/>
      <ref name="TEI_choice"/>
      <ref name="TEI_cit"/>
      <ref name="TEI_citedRange"/>
      <ref name="TEI_cl"/>
      <ref name="TEI_classCode"/>
      <ref name="TEI_classDecl"/>
      <ref name="TEI_classRef"/>
      <ref name="TEI_classSpec"/>
      <ref name="TEI_classes"/>
      <ref name="TEI_climate"/>
      <ref name="TEI_closer"/>
      <ref name="TEI_code"/>
      <ref name="TEI_collation"/>
      <ref name="TEI_collection"/>
      <ref name="TEI_colloc"/>
      <ref name="TEI_colophon"/>
      <ref name="TEI_cond"/>
      <ref name="TEI_condition"/>
      <ref name="TEI_constitution"/>
      <ref name="TEI_constraint"/>
      <ref name="TEI_constraintSpec"/>
      <ref name="TEI_content"/>
      <ref name="TEI_corr"/>
      <ref name="TEI_correction"/>
      <ref name="TEI_country"/>
      <ref name="TEI_creation"/>
      <ref name="TEI_custEvent"/>
      <ref name="TEI_custodialHist"/>
      <ref name="TEI_damage"/>
      <ref name="TEI_damageSpan"/>
      <ref name="TEI_datatype"/>
      <ref name="TEI_date"/>
      <ref name="TEI_dateline"/>
      <ref name="TEI_death"/>
      <ref name="TEI_decoDesc"/>
      <ref name="TEI_decoNote"/>
      <ref name="TEI_def"/>
      <ref name="TEI_default"/>
      <ref name="TEI_defaultVal"/>
      <ref name="TEI_del"/>
      <ref name="TEI_delSpan"/>
      <ref name="TEI_depth"/>
      <ref name="TEI_derivation"/>
      <ref name="TEI_desc"/>
      <ref name="TEI_dictScrap"/>
      <ref name="TEI_dim"/>
      <ref name="TEI_dimensions"/>
      <ref name="TEI_distinct"/>
      <ref name="TEI_distributor"/>
      <ref name="TEI_district"/>
      <ref name="TEI_div"/>
      <ref name="TEI_div1"/>
      <ref name="TEI_div2"/>
      <ref name="TEI_div3"/>
      <ref name="TEI_div4"/>
      <ref name="TEI_div5"/>
      <ref name="TEI_div6"/>
      <ref name="TEI_div7"/>
      <ref name="TEI_divGen"/>
      <ref name="TEI_docAuthor"/>
      <ref name="TEI_docDate"/>
      <ref name="TEI_docEdition"/>
      <ref name="TEI_docImprint"/>
      <ref name="TEI_docTitle"/>
      <ref name="TEI_domain"/>
      <ref name="TEI_eLeaf"/>
      <ref name="TEI_eTree"/>
      <ref name="TEI_edition"/>
      <ref name="TEI_editionStmt"/>
      <ref name="TEI_editor"/>
      <ref name="TEI_editorialDecl"/>
      <ref name="TEI_education"/>
      <ref name="TEI_eg"/>
      <ref name="TEI_egXML"/>
      <ref name="TEI_elementRef"/>
      <ref name="TEI_elementSpec"/>
      <ref name="TEI_email"/>
      <ref name="TEI_emph"/>
      <ref name="TEI_encodingDesc"/>
      <ref name="TEI_entry"/>
      <ref name="TEI_entryFree"/>
      <ref name="TEI_epigraph"/>
      <ref name="TEI_epilogue"/>
      <ref name="TEI_equipment"/>
      <ref name="TEI_equiv"/>
      <ref name="TEI_etym"/>
      <ref name="TEI_event"/>
      <ref name="TEI_ex"/>
      <ref name="TEI_exemplum"/>
      <ref name="TEI_expan"/>
      <ref name="TEI_explicit"/>
      <ref name="TEI_extent"/>
      <ref name="TEI_f"/>
      <ref name="TEI_fDecl"/>
      <ref name="TEI_fDescr"/>
      <ref name="TEI_fLib"/>
      <ref name="TEI_facsimile"/>
      <ref name="TEI_factuality"/>
      <ref name="TEI_faith"/>
      <ref name="TEI_fallback"/>
      <ref name="TEI_figDesc"/>
      <ref name="TEI_figure"/>
      <ref name="TEI_fileDesc"/>
      <ref name="TEI_filiation"/>
      <ref name="TEI_finalRubric"/>
      <ref name="TEI_floatingText"/>
      <ref name="TEI_floruit"/>
      <ref name="TEI_foliation"/>
      <ref name="TEI_foreign"/>
      <ref name="TEI_forename"/>
      <ref name="TEI_forest"/>
      <ref name="TEI_form"/>
      <ref name="TEI_formula"/>
      <ref name="TEI_front"/>
      <ref name="TEI_fs"/>
      <ref name="TEI_fsConstraints"/>
      <ref name="TEI_fsDecl"/>
      <ref name="TEI_fsDescr"/>
      <ref name="TEI_fsdDecl"/>
      <ref name="TEI_fsdLink"/>
      <ref name="TEI_funder"/>
      <ref name="TEI_fvLib"/>
      <ref name="TEI_fw"/>
      <ref name="TEI_g"/>
      <ref name="TEI_gap"/>
      <ref name="TEI_gb"/>
      <ref name="TEI_gen"/>
      <ref name="TEI_genName"/>
      <ref name="TEI_geo"/>
      <ref name="TEI_geoDecl"/>
      <ref name="TEI_geogFeat"/>
      <ref name="TEI_geogName"/>
      <ref name="TEI_gi"/>
      <ref name="TEI_gloss"/>
      <ref name="TEI_glyph"/>
      <ref name="TEI_glyphName"/>
      <ref name="TEI_gram"/>
      <ref name="TEI_gramGrp"/>
      <ref name="TEI_graph"/>
      <ref name="TEI_graphic"/>
      <ref name="TEI_group"/>
      <ref name="TEI_handDesc"/>
      <ref name="TEI_handNote"/>
      <ref name="TEI_handNotes"/>
      <ref name="TEI_handShift"/>
      <ref name="TEI_head"/>
      <ref name="TEI_headItem"/>
      <ref name="TEI_headLabel"/>
      <ref name="TEI_height"/>
      <ref name="TEI_heraldry"/>
      <ref name="TEI_hi"/>
      <ref name="TEI_history"/>
      <ref name="TEI_hom"/>
      <ref name="TEI_hyph"/>
      <ref name="TEI_hyphenation"/>
      <ref name="TEI_iNode"/>
      <ref name="TEI_iType"/>
      <ref name="TEI_ident"/>
      <ref name="TEI_idno"/>
      <ref name="TEI_if"/>
      <ref name="TEI_iff"/>
      <ref name="TEI_imprimatur"/>
      <ref name="TEI_imprint"/>
      <ref name="TEI_incident"/>
      <ref name="TEI_incipit"/>
      <ref name="TEI_index"/>
      <ref name="TEI_institution"/>
      <ref name="TEI_interaction"/>
      <ref name="TEI_interp"/>
      <ref name="TEI_interpGrp"/>
      <ref name="TEI_interpretation"/>
      <ref name="TEI_item"/>
      <ref name="TEI_join"/>
      <ref name="TEI_joinGrp"/>
      <ref name="TEI_keywords"/>
      <ref name="TEI_kinesic"/>
      <ref name="TEI_l"/>
      <ref name="TEI_label"/>
      <ref name="TEI_lacunaEnd"/>
      <ref name="TEI_lacunaStart"/>
      <ref name="TEI_lang"/>
      <ref name="TEI_langKnowledge"/>
      <ref name="TEI_langKnown"/>
      <ref name="TEI_langUsage"/>
      <ref name="TEI_language"/>
      <ref name="TEI_layout"/>
      <ref name="TEI_layoutDesc"/>
      <ref name="TEI_lb"/>
      <ref name="TEI_lbl"/>
      <ref name="TEI_leaf"/>
      <ref name="TEI_lem"/>
      <ref name="TEI_lg"/>
      <ref name="TEI_licence"/>
      <ref name="TEI_line"/>
      <ref name="TEI_link"/>
      <ref name="TEI_linkGrp"/>
      <ref name="TEI_list"/>
      <ref name="TEI_listApp"/>
      <ref name="TEI_listBibl"/>
      <ref name="TEI_listChange"/>
      <ref name="TEI_listEvent"/>
      <ref name="TEI_listForest"/>
      <ref name="TEI_listNym"/>
      <ref name="TEI_listOrg"/>
      <ref name="TEI_listPerson"/>
      <ref name="TEI_listPlace"/>
      <ref name="TEI_listPrefixDef"/>
      <ref name="TEI_listRef"/>
      <ref name="TEI_listRelation"/>
      <ref name="TEI_listTranspose"/>
      <ref name="TEI_listWit"/>
      <ref name="TEI_localName"/>
      <ref name="TEI_locale"/>
      <ref name="TEI_location"/>
      <ref name="TEI_locus"/>
      <ref name="TEI_locusGrp"/>
      <ref name="TEI_m"/>
      <ref name="TEI_macroRef"/>
      <ref name="TEI_macroSpec"/>
      <ref name="TEI_mapping"/>
      <ref name="TEI_material"/>
      <ref name="TEI_measure"/>
      <ref name="TEI_measureGrp"/>
      <ref name="TEI_media"/>
      <ref name="TEI_meeting"/>
      <ref name="TEI_memberOf"/>
      <ref name="TEI_mentioned"/>
      <ref name="TEI_metDecl"/>
      <ref name="TEI_metSym"/>
      <ref name="TEI_metamark"/>
      <ref name="TEI_milestone"/>
      <ref name="TEI_mod"/>
      <ref name="TEI_moduleRef"/>
      <ref name="TEI_moduleSpec"/>
      <ref name="TEI_monogr"/>
      <ref name="TEI_mood"/>
      <ref name="TEI_move"/>
      <ref name="TEI_msContents"/>
      <ref name="TEI_msDesc"/>
      <ref name="TEI_msIdentifier"/>
      <ref name="TEI_msItem"/>
      <ref name="TEI_msItemStruct"/>
      <ref name="TEI_msName"/>
      <ref name="TEI_msPart"/>
      <ref name="TEI_musicNotation"/>
      <ref name="TEI_name"/>
      <ref name="TEI_nameLink"/>
      <ref name="TEI_namespace"/>
      <ref name="TEI_nationality"/>
      <ref name="TEI_node"/>
      <ref name="TEI_normalization"/>
      <ref name="TEI_notatedMusic"/>
      <ref name="TEI_note"/>
      <ref name="TEI_notesStmt"/>
      <ref name="TEI_num"/>
      <ref name="TEI_number"/>
      <ref name="TEI_numeric"/>
      <ref name="TEI_nym"/>
      <ref name="TEI_oRef"/>
      <ref name="TEI_oVar"/>
      <ref name="TEI_objectDesc"/>
      <ref name="TEI_objectType"/>
      <ref name="TEI_occupation"/>
      <ref name="TEI_offset"/>
      <ref name="TEI_opener"/>
      <ref name="TEI_org"/>
      <ref name="TEI_orgName"/>
      <ref name="TEI_orig"/>
      <ref name="TEI_origDate"/>
      <ref name="TEI_origPlace"/>
      <ref name="TEI_origin"/>
      <ref name="TEI_orth"/>
      <ref name="TEI_p"/>
      <ref name="TEI_pRef"/>
      <ref name="TEI_pVar"/>
      <ref name="TEI_particDesc"/>
      <ref name="TEI_pause"/>
      <ref name="TEI_pb"/>
      <ref name="TEI_pc"/>
      <ref name="TEI_per"/>
      <ref name="TEI_performance"/>
      <ref name="TEI_persName"/>
      <ref name="TEI_person"/>
      <ref name="TEI_personGrp"/>
      <ref name="TEI_phr"/>
      <ref name="TEI_physDesc"/>
      <ref name="TEI_place"/>
      <ref name="TEI_placeName"/>
      <ref name="TEI_population"/>
      <ref name="TEI_pos"/>
      <ref name="TEI_postBox"/>
      <ref name="TEI_postCode"/>
      <ref name="TEI_postscript"/>
      <ref name="TEI_precision"/>
      <ref name="TEI_prefixDef"/>
      <ref name="TEI_preparedness"/>
      <ref name="TEI_principal"/>
      <ref name="TEI_profileDesc"/>
      <ref name="TEI_projectDesc"/>
      <ref name="TEI_prologue"/>
      <ref name="TEI_pron"/>
      <ref name="TEI_provenance"/>
      <ref name="TEI_ptr"/>
      <ref name="TEI_pubPlace"/>
      <ref name="TEI_publicationStmt"/>
      <ref name="TEI_publisher"/>
      <ref name="TEI_purpose"/>
      <ref name="TEI_q"/>
      <ref name="TEI_quotation"/>
      <ref name="TEI_quote"/>
      <ref name="TEI_rdg"/>
      <ref name="TEI_rdgGrp"/>
      <ref name="TEI_re"/>
      <ref name="TEI_recordHist"/>
      <ref name="TEI_recording"/>
      <ref name="TEI_recordingStmt"/>
      <ref name="TEI_redo"/>
      <ref name="TEI_ref"/>
      <ref name="TEI_refState"/>
      <ref name="TEI_refsDecl"/>
      <ref name="TEI_reg"/>
      <ref name="TEI_region"/>
      <ref name="TEI_relatedItem"/>
      <ref name="TEI_relation"/>
      <ref name="TEI_relationGrp"/>
      <ref name="TEI_remarks"/>
      <ref name="TEI_rendition"/>
      <ref name="TEI_repository"/>
      <ref name="TEI_residence"/>
      <ref name="TEI_resp"/>
      <ref name="TEI_respStmt"/>
      <ref name="TEI_respons"/>
      <ref name="TEI_restore"/>
      <ref name="TEI_retrace"/>
      <ref name="TEI_revisionDesc"/>
      <ref name="TEI_rhyme"/>
      <ref name="TEI_role"/>
      <ref name="TEI_roleDesc"/>
      <ref name="TEI_roleName"/>
      <ref name="TEI_root"/>
      <ref name="TEI_row"/>
      <ref name="TEI_rs"/>
      <ref name="TEI_rubric"/>
      <ref name="TEI_s"/>
      <ref name="TEI_said"/>
      <ref name="TEI_salute"/>
      <ref name="TEI_samplingDecl"/>
      <ref name="TEI_schemaSpec"/>
      <ref name="TEI_scriptDesc"/>
      <ref name="TEI_scriptNote"/>
      <ref name="TEI_scriptStmt"/>
      <ref name="TEI_seal"/>
      <ref name="TEI_sealDesc"/>
      <ref name="TEI_secFol"/>
      <ref name="TEI_seg"/>
      <ref name="TEI_segmentation"/>
      <ref name="TEI_sense"/>
      <ref name="TEI_series"/>
      <ref name="TEI_seriesStmt"/>
      <ref name="TEI_set"/>
      <ref name="TEI_setting"/>
      <ref name="TEI_settingDesc"/>
      <ref name="TEI_settlement"/>
      <ref name="TEI_sex"/>
      <ref name="TEI_shift"/>
      <ref name="TEI_sic"/>
      <ref name="TEI_signatures"/>
      <ref name="TEI_signed"/>
      <ref name="TEI_soCalled"/>
      <ref name="TEI_socecStatus"/>
      <ref name="TEI_sound"/>
      <ref name="TEI_source"/>
      <ref name="TEI_sourceDesc"/>
      <ref name="TEI_sourceDoc"/>
      <ref name="TEI_sp"/>
      <ref name="TEI_spGrp"/>
      <ref name="TEI_space"/>
      <ref name="TEI_span"/>
      <ref name="TEI_spanGrp"/>
      <ref name="TEI_speaker"/>
      <ref name="TEI_specDesc"/>
      <ref name="TEI_specGrp"/>
      <ref name="TEI_specGrpRef"/>
      <ref name="TEI_specList"/>
      <ref name="TEI_sponsor"/>
      <ref name="TEI_stage"/>
      <ref name="TEI_stamp"/>
      <ref name="TEI_state"/>
      <ref name="TEI_stdVals"/>
      <ref name="TEI_street"/>
      <ref name="TEI_stress"/>
      <ref name="TEI_string"/>
      <ref name="TEI_styleDefDecl"/>
      <ref name="TEI_subc"/>
      <ref name="TEI_subst"/>
      <ref name="TEI_substJoin"/>
      <ref name="TEI_summary"/>
      <ref name="TEI_superEntry"/>
      <ref name="TEI_supplied"/>
      <ref name="TEI_support"/>
      <ref name="TEI_supportDesc"/>
      <ref name="TEI_surface"/>
      <ref name="TEI_surfaceGrp"/>
      <ref name="TEI_surname"/>
      <ref name="TEI_surplus"/>
      <ref name="TEI_surrogates"/>
      <ref name="TEI_syll"/>
      <ref name="TEI_symbol"/>
      <ref name="TEI_table"/>
      <ref name="TEI_tag"/>
      <ref name="TEI_tagUsage"/>
      <ref name="TEI_tagsDecl"/>
      <ref name="TEI_taxonomy"/>
      <ref name="TEI_tech"/>
      <ref name="TEI_teiCorpus"/>
      <ref name="TEI_teiHeader"/>
      <ref name="TEI_term"/>
      <ref name="TEI_terrain"/>
      <ref name="TEI_text"/>
      <ref name="TEI_textClass"/>
      <ref name="TEI_textDesc"/>
      <ref name="TEI_textLang"/>
      <ref name="TEI_then"/>
      <ref name="TEI_time"/>
      <ref name="TEI_timeline"/>
      <ref name="TEI_title"/>
      <ref name="TEI_titlePage"/>
      <ref name="TEI_titlePart"/>
      <ref name="TEI_titleStmt"/>
      <ref name="TEI_tns"/>
      <ref name="TEI_trailer"/>
      <ref name="TEI_trait"/>
      <ref name="TEI_transpose"/>
      <ref name="TEI_tree"/>
      <ref name="TEI_triangle"/>
      <ref name="TEI_typeDesc"/>
      <ref name="TEI_typeNote"/>
      <ref name="TEI_u"/>
      <ref name="TEI_unclear"/>
      <ref name="TEI_undo"/>
      <ref name="TEI_unicodeName"/>
      <ref name="TEI_usg"/>
      <ref name="TEI_vAlt"/>
      <ref name="TEI_vColl"/>
      <ref name="TEI_vDefault"/>
      <ref name="TEI_vLabel"/>
      <ref name="TEI_vMerge"/>
      <ref name="TEI_vNot"/>
      <ref name="TEI_vRange"/>
      <ref name="TEI_val"/>
      <ref name="TEI_valDesc"/>
      <ref name="TEI_valItem"/>
      <ref name="TEI_valList"/>
      <ref name="TEI_value"/>
      <ref name="TEI_variantEncoding"/>
      <ref name="TEI_view"/>
      <ref name="TEI_vocal"/>
      <ref name="TEI_w"/>
      <ref name="TEI_watermark"/>
      <ref name="TEI_when"/>
      <ref name="TEI_width"/>
      <ref name="TEI_wit"/>
      <ref name="TEI_witDetail"/>
      <ref name="TEI_witEnd"/>
      <ref name="TEI_witStart"/>
      <ref name="TEI_witness"/>
      <ref name="TEI_writing"/>
      <ref name="TEI_xr"/>
      <ref name="TEI_zone"/>
      <ref name="a"/>
      <ref name="altGlyph"/>
      <ref name="altGlyphDef"/>
      <ref name="altGlyphItem"/>
      <ref name="animate"/>
      <ref name="animateColor"/>
      <ref name="animateMotion"/>
      <ref name="animateTransform"/>
      <ref name="circle"/>
      <ref name="clipPath"/>
      <ref name="color-profile"/>
      <ref name="cursor"/>
      <ref name="define"/>
      <ref name="definition-src"/>
      <ref name="defs"/>
      <ref name="desc"/>
      <ref name="ellipse"/>
      <ref name="exceptExtrapattern"/>
      <ref name="exceptNameClass"/>
      <ref name="feBlend"/>
      <ref name="feColorMatrix"/>
      <ref name="feComponentTransfer"/>
      <ref name="feComposite"/>
      <ref name="feConvolveMatrix"/>
      <ref name="feDiffuseLighting"/>
      <ref name="feDisplacementMap"/>
      <ref name="feDistantLight"/>
      <ref name="feFlood"/>
      <ref name="feFuncA"/>
      <ref name="feFuncB"/>
      <ref name="feFuncG"/>
      <ref name="feFuncR"/>
      <ref name="feGaussianBlur"/>
      <ref name="feImage"/>
      <ref name="feMerge"/>
      <ref name="feMergeNode"/>
      <ref name="feMorphology"/>
      <ref name="feOffset"/>
      <ref name="fePointLight"/>
      <ref name="feSpecularLighting"/>
      <ref name="feSpotLight"/>
      <ref name="feTile"/>
      <ref name="feTurbulence"/>
      <ref name="filter"/>
      <ref name="font"/>
      <ref name="font-face"/>
      <ref name="font-face-format"/>
      <ref name="font-face-name"/>
      <ref name="font-face-src"/>
      <ref name="font-face-uri"/>
      <ref name="foreignObject"/>
      <ref name="g"/>
      <ref name="glyph"/>
      <ref name="glyphRef"/>
      <ref name="hkern"/>
      <ref name="image"/>
      <ref name="line"/>
      <ref name="linearGradient"/>
      <ref name="marker"/>
      <ref name="mask"/>
      <ref name="mathml.abs"/>
      <ref name="mathml.and"/>
      <ref name="mathml.annotation"/>
      <ref name="mathml.annotation-xml"/>
      <ref name="mathml.apply"/>
      <ref name="mathml.approx"/>
      <ref name="mathml.arccos"/>
      <ref name="mathml.arccosh"/>
      <ref name="mathml.arccot"/>
      <ref name="mathml.arccoth"/>
      <ref name="mathml.arccsc"/>
      <ref name="mathml.arccsch"/>
      <ref name="mathml.arcsec"/>
      <ref name="mathml.arcsech"/>
      <ref name="mathml.arcsin"/>
      <ref name="mathml.arcsinh"/>
      <ref name="mathml.arctan"/>
      <ref name="mathml.arctanh"/>
      <ref name="mathml.arg"/>
      <ref name="mathml.bvar"/>
      <ref name="mathml.card"/>
      <ref name="mathml.cartesianproduct"/>
      <ref name="mathml.ceiling"/>
      <ref name="mathml.ci"/>
      <ref name="mathml.cn"/>
      <ref name="mathml.codomain"/>
      <ref name="mathml.complexes"/>
      <ref name="mathml.compose"/>
      <ref name="mathml.condition"/>
      <ref name="mathml.conjugate"/>
      <ref name="mathml.cos"/>
      <ref name="mathml.cosh"/>
      <ref name="mathml.cot"/>
      <ref name="mathml.coth"/>
      <ref name="mathml.csc"/>
      <ref name="mathml.csch"/>
      <ref name="mathml.csymbol"/>
      <ref name="mathml.curl"/>
      <ref name="mathml.declare"/>
      <ref name="mathml.degree"/>
      <ref name="mathml.determinant"/>
      <ref name="mathml.diff"/>
      <ref name="mathml.divergence"/>
      <ref name="mathml.divide"/>
      <ref name="mathml.domain"/>
      <ref name="mathml.domainofapplication"/>
      <ref name="mathml.emptyset"/>
      <ref name="mathml.eq"/>
      <ref name="mathml.equivalent"/>
      <ref name="mathml.eulergamma"/>
      <ref name="mathml.exists"/>
      <ref name="mathml.exp"/>
      <ref name="mathml.exponentiale"/>
      <ref name="mathml.factorial"/>
      <ref name="mathml.factorof"/>
      <ref name="mathml.false"/>
      <ref name="mathml.floor"/>
      <ref name="mathml.fn"/>
      <ref name="mathml.forall"/>
      <ref name="mathml.gcd"/>
      <ref name="mathml.geq"/>
      <ref name="mathml.grad"/>
      <ref name="mathml.gt"/>
      <ref name="mathml.ident"/>
      <ref name="mathml.image"/>
      <ref name="mathml.imaginary"/>
      <ref name="mathml.imaginaryi"/>
      <ref name="mathml.implies"/>
      <ref name="mathml.in"/>
      <ref name="mathml.infinity"/>
      <ref name="mathml.int"/>
      <ref name="mathml.integers"/>
      <ref name="mathml.intersect"/>
      <ref name="mathml.interval"/>
      <ref name="mathml.inverse"/>
      <ref name="mathml.lambda"/>
      <ref name="mathml.laplacian"/>
      <ref name="mathml.lcm"/>
      <ref name="mathml.leq"/>
      <ref name="mathml.limit"/>
      <ref name="mathml.list"/>
      <ref name="mathml.ln"/>
      <ref name="mathml.log"/>
      <ref name="mathml.logbase"/>
      <ref name="mathml.lowlimit"/>
      <ref name="mathml.lt"/>
      <ref name="mathml.maction"/>
      <ref name="mathml.maligngroup"/>
      <ref name="mathml.malignmark"/>
      <ref name="mathml.math"/>
      <ref name="mathml.matrix"/>
      <ref name="mathml.matrixrow"/>
      <ref name="mathml.max"/>
      <ref name="mathml.mean"/>
      <ref name="mathml.median"/>
      <ref name="mathml.menclose"/>
      <ref name="mathml.merror"/>
      <ref name="mathml.mfenced"/>
      <ref name="mathml.mfrac"/>
      <ref name="mathml.mglyph"/>
      <ref name="mathml.mi"/>
      <ref name="mathml.min"/>
      <ref name="mathml.minus"/>
      <ref name="mathml.mlabeledtr"/>
      <ref name="mathml.mmultiscripts"/>
      <ref name="mathml.mn"/>
      <ref name="mathml.mo"/>
      <ref name="mathml.mode"/>
      <ref name="mathml.moment"/>
      <ref name="mathml.momentabout"/>
      <ref name="mathml.mover"/>
      <ref name="mathml.mpadded"/>
      <ref name="mathml.mphantom"/>
      <ref name="mathml.mprescripts"/>
      <ref name="mathml.mroot"/>
      <ref name="mathml.mrow"/>
      <ref name="mathml.ms"/>
      <ref name="mathml.mspace"/>
      <ref name="mathml.msqrt"/>
      <ref name="mathml.mstyle"/>
      <ref name="mathml.msub"/>
      <ref name="mathml.msubsup"/>
      <ref name="mathml.msup"/>
      <ref name="mathml.mtable"/>
      <ref name="mathml.mtd"/>
      <ref name="mathml.mtext"/>
      <ref name="mathml.mtr"/>
      <ref name="mathml.munder"/>
      <ref name="mathml.munderover"/>
      <ref name="mathml.naturalnumbers"/>
      <ref name="mathml.neq"/>
      <ref name="mathml.none"/>
      <ref name="mathml.not"/>
      <ref name="mathml.notanumber"/>
      <ref name="mathml.notin"/>
      <ref name="mathml.notprsubset"/>
      <ref name="mathml.notsubset"/>
      <ref name="mathml.or"/>
      <ref name="mathml.otherwise"/>
      <ref name="mathml.outerproduct"/>
      <ref name="mathml.partialdiff"/>
      <ref name="mathml.pi"/>
      <ref name="mathml.piece"/>
      <ref name="mathml.piecewise"/>
      <ref name="mathml.plus"/>
      <ref name="mathml.power"/>
      <ref name="mathml.primes"/>
      <ref name="mathml.product"/>
      <ref name="mathml.prsubset"/>
      <ref name="mathml.quotient"/>
      <ref name="mathml.rationals"/>
      <ref name="mathml.real"/>
      <ref name="mathml.reals"/>
      <ref name="mathml.reln"/>
      <ref name="mathml.rem"/>
      <ref name="mathml.root"/>
      <ref name="mathml.scalarproduct"/>
      <ref name="mathml.sdev"/>
      <ref name="mathml.sec"/>
      <ref name="mathml.sech"/>
      <ref name="mathml.selector"/>
      <ref name="mathml.semantics"/>
      <ref name="mathml.sep"/>
      <ref name="mathml.set"/>
      <ref name="mathml.setdiff"/>
      <ref name="mathml.sin"/>
      <ref name="mathml.sinh"/>
      <ref name="mathml.subset"/>
      <ref name="mathml.sum"/>
      <ref name="mathml.tan"/>
      <ref name="mathml.tanh"/>
      <ref name="mathml.tendsto"/>
      <ref name="mathml.times"/>
      <ref name="mathml.transpose"/>
      <ref name="mathml.true"/>
      <ref name="mathml.union"/>
      <ref name="mathml.uplimit"/>
      <ref name="mathml.variance"/>
      <ref name="mathml.vector"/>
      <ref name="mathml.vectorproduct"/>
      <ref name="mathml.xor"/>
      <ref name="metadata"/>
      <ref name="missing-glyph"/>
      <ref name="mpath"/>
      <ref name="param"/>
      <ref name="path"/>
      <ref name="polygon"/>
      <ref name="polyline"/>
      <ref name="radialGradient"/>
      <ref name="rect"/>
      <ref name="script"/>
      <ref name="set"/>
      <ref name="start"/>
      <ref name="stop"/>
      <ref name="style"/>
      <ref name="svg"/>
      <ref name="svgpattern"/>
      <ref name="switch"/>
      <ref name="symbol"/>
      <ref name="text"/>
      <ref name="textPath"/>
      <ref name="title"/>
      <ref name="tref"/>
      <ref name="tspan"/>
      <ref name="use"/>
      <ref name="view"/>
      <ref name="vkern"/>
    </choice>
  </define>
  <define name="TEI_att.ascribed.attributes">
    <ref name="TEI_att.ascribed.attribute.who"/>
  </define>
  <define name="TEI_att.ascribed.attribute.who">
    <optional>
      <attribute name="who">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the person, or group of people, to whom the element content is ascribed.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.canonical.attributes">
    <ref name="TEI_att.canonical.attribute.key"/>
    <ref name="TEI_att.canonical.attribute.ref"/>
  </define>
  <define name="TEI_att.canonical.attribute.key">
    <optional>
      <attribute name="key">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an externally-defined means of identifying the entity (or entities) being
        named, using a coded value of some kind.</a:documentation>
        <ref name="TEI_data.text"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.canonical.attribute.ref">
    <optional>
      <attribute name="ref">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference) provides an explicit means of locating a full definition for the entity being named by
        means of one or more URIs.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.ranging.attributes">
    <ref name="TEI_att.ranging.attribute.atLeast"/>
    <ref name="TEI_att.ranging.attribute.atMost"/>
    <ref name="TEI_att.ranging.attribute.min"/>
    <ref name="TEI_att.ranging.attribute.max"/>
    <ref name="TEI_att.ranging.attribute.confidence"/>
  </define>
  <define name="TEI_att.ranging.attribute.atLeast">
    <optional>
      <attribute name="atLeast">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a minimum estimated value for the approximate measurement.</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.ranging.attribute.atMost">
    <optional>
      <attribute name="atMost">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a maximum estimated value for the approximate measurement.</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.ranging.attribute.min">
    <optional>
      <attribute name="min">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">where the measurement summarizes more than one observation
      or a range, supplies the minimum value
        observed.</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.ranging.attribute.max">
    <optional>
      <attribute name="max">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">where the measurement summarizes more than one observation
        or a range, supplies the maximum value
        observed.</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.ranging.attribute.confidence">
    <optional>
      <attribute name="confidence">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the degree of statistical confidence (between zero and one) that a value falls within the range
        specified by min and max, or the proportion of observed values that fall within that range.</a:documentation>
        <ref name="TEI_data.probability"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.dimensions.attributes">
    <ref name="TEI_att.ranging.attributes"/>
    <ref name="TEI_att.dimensions.attribute.unit"/>
    <ref name="TEI_att.dimensions.attribute.quantity"/>
    <ref name="TEI_att.dimensions.attribute.extent"/>
    <ref name="TEI_att.dimensions.attribute.precision"/>
    <ref name="TEI_att.dimensions.attribute.scope"/>
  </define>
  <define name="TEI_att.dimensions.attribute.unit">
    <optional>
      <attribute name="unit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">names the unit used for the measurement
Suggested values include: 1] cm(centimetres) ; 2] mm(millimetres) ; 3] in(inches) ; 4] lines; 5] chars(characters) </a:documentation>
        <choice>
          <value>cm</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(centimetres) </a:documentation>
          <value>mm</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(millimetres) </a:documentation>
          <value>in</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(inches) </a:documentation>
          <value>lines</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">lines of text</a:documentation>
          <value>chars</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(characters) characters of text</a:documentation>
          <data type="Name"/>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.dimensions.attribute.quantity">
    <optional>
      <attribute name="quantity">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the length in the units specified</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.dimensions.attribute.extent">
    <optional>
      <attribute name="extent">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the size of the object concerned using a project-specific vocabulary combining
        quantity and units in a single string of words. </a:documentation>
        <ref name="TEI_data.text"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.dimensions.attribute.precision">
    <optional>
      <attribute name="precision">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the precision of the values specified by the other attributes.</a:documentation>
        <ref name="TEI_data.certainty"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.dimensions.attribute.scope">
    <optional>
      <attribute name="scope">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">where the measurement summarizes more than one observation, specifies the applicability
        of this measurement.
Sample values include: 1] all; 2] most; 3] range</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.damaged.attributes">
    <ref name="TEI_att.dimensions.attributes"/>
    <ref name="TEI_att.damaged.attribute.hand"/>
    <ref name="TEI_att.damaged.attribute.agent"/>
    <ref name="TEI_att.damaged.attribute.degree"/>
    <ref name="TEI_att.damaged.attribute.group"/>
  </define>
  <define name="TEI_att.damaged.attribute.hand">
    <optional>
      <attribute name="hand">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the case of damage (deliberate defacement, inking out, etc.) assignable to a distinct
        hand, signifies the hand responsible for the damage.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.damaged.attribute.agent">
    <optional>
      <attribute name="agent">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the cause of the damage, if it can be identified.
Sample values include: 1] rubbing; 2] mildew; 3] smoke</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.damaged.attribute.degree">
    <optional>
      <attribute name="degree">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the degree of damage according to a convenient scale. The damage tag
        with the degree attribute should only be used where the text may be read with
        some confidence; text supplied from other sources should be tagged as supplied.</a:documentation>
        <choice>
          <ref name="TEI_data.probability"/>
          <ref name="TEI_data.certainty"/>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.damaged.attribute.group">
    <optional>
      <attribute name="group">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">assigns an arbitrary number to each stretch of damage regarded as forming part of the
        same physical phenomenon.</a:documentation>
        <ref name="TEI_data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.breaking.attributes">
    <ref name="TEI_att.breaking.attribute.break"/>
  </define>
  <define name="TEI_att.breaking.attribute.break">
    <optional>
      <attribute name="break">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether or not the  element
	bearing this attribute should be considered to mark the end of
	an orthographic token in the same way as whitespace.</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.cReferencing.attributes">
    <ref name="TEI_att.cReferencing.attribute.cRef"/>
  </define>
  <define name="TEI_att.cReferencing.attribute.cRef">
    <optional>
      <attribute name="cRef">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(canonical reference) specifies the destination of the pointer by supplying a canonical reference from a
        scheme defined in a refsDecl element in the TEI header</a:documentation>
        <ref name="TEI_data.text"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.w3c.attributes">
    <ref name="TEI_att.datable.w3c.attribute.when"/>
    <ref name="TEI_att.datable.w3c.attribute.notBefore"/>
    <ref name="TEI_att.datable.w3c.attribute.notAfter"/>
    <ref name="TEI_att.datable.w3c.attribute.from"/>
    <ref name="TEI_att.datable.w3c.attribute.to"/>
  </define>
  <define name="TEI_att.datable.w3c.attribute.when">
    <optional>
      <attribute name="when">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the value of the date or time in a standard form,
      e.g. yyyy-mm-dd.</a:documentation>
        <ref name="TEI_data.temporal.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.w3c.attribute.notBefore">
    <optional>
      <attribute name="notBefore">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the earliest possible date for the event in
	  standard form, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="TEI_data.temporal.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.w3c.attribute.notAfter">
    <optional>
      <attribute name="notAfter">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the latest possible date for the event in
	  standard form, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="TEI_data.temporal.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.w3c.attribute.from">
    <optional>
      <attribute name="from">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the starting point of the period in standard form, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="TEI_data.temporal.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.w3c.attribute.to">
    <optional>
      <attribute name="to">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the ending point of the period in standard
	  form, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="TEI_data.temporal.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.attributes">
    <ref name="TEI_att.datable.w3c.attributes"/>
    <ref name="TEI_att.datable.iso.attributes"/>
    <ref name="TEI_att.datable.custom.attributes"/>
    <ref name="TEI_att.datable.attribute.calendar"/>
    <ref name="TEI_att.datable.attribute.period"/>
  </define>
  <define name="TEI_att.datable.attribute.calendar">
    <optional>
      <attribute name="calendar">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the system or calendar to which the date represented by the content of this
        element belongs.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="calendar-constraint-calendar">
    <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" context="tei:*[@calendar]">
      <sch:assert test="string-length(.) gt 0">
@calendar indicates the system or calendar to which the date represented by the content of this element
belongs, but this <sch:name/> element has no textual content.</sch:assert>
    </sch:rule>
  </pattern>
  <define name="TEI_att.datable.attribute.period">
    <optional>
      <attribute name="period">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a pointer to some location defining a named
        period of time within which the datable item is understood to
        have occurred.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datcat.attributes">
    <ref name="TEI_att.datcat.attribute.datcat"/>
    <ref name="TEI_att.datcat.attribute.valueDatcat"/>
  </define>
  <define name="TEI_att.datcat.attribute.datcat">
    <optional>
      <attribute name="datcat" ns="http://www.isocat.org/ns/dcr">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a PID (persistent identifier) that aligns the given element with the appropriate 
        Data Category (or categories) in ISOcat.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datcat.attribute.valueDatcat">
    <optional>
      <attribute name="valueDatcat" ns="http://www.isocat.org/ns/dcr">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a PID (persistent identifier) that aligns the content of the given
        element or the value of the given attribute with the appropriate simple Data
        Category (or categories) in ISOcat.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.declarable.attributes">
    <ref name="TEI_att.declarable.attribute.default"/>
  </define>
  <define name="TEI_att.declarable.attribute.default">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="default" a:defaultValue="false">
        <a:documentation>indicates whether or not this element is selected by default when
its parent is selected.</a:documentation>
        <choice>
          <value>true</value>
          <a:documentation>This element is selected if its parent is selected</a:documentation>
          <value>false</value>
          <a:documentation>This element can only be selected explicitly, unless it is the
only one of its kind, in which case it is selected if its parent is selected.</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.declaring.attributes">
    <ref name="TEI_att.declaring.attribute.decls"/>
  </define>
  <define name="TEI_att.declaring.attribute.decls">
    <optional>
      <attribute name="decls">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies one or more declarable elements within the
header, which are understood to apply to the element bearing this
attribute and its content.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.fragmentable.attributes">
    <ref name="TEI_att.fragmentable.attribute.part"/>
  </define>
  <define name="TEI_att.fragmentable.attribute.part">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="part" a:defaultValue="N">
        <a:documentation>specifies whether or not its parent element is fragmented
      in some way, typically by some other overlapping structure : for
      example a speech which is divided between two or more verse
      stanzas, a paragraph which is split across a page division, a
      verse line which is divided between two speakers.</a:documentation>
        <choice>
          <value>Y</value>
          <a:documentation> (yes) the element is fragmented in some (unspecified) respect</a:documentation>
          <value>N</value>
          <a:documentation> (no) either the element is not fragmented, or no claim is made as to its completeness.</a:documentation>
          <value>I</value>
          <a:documentation> (initial) this is the initial part of a fragmented element</a:documentation>
          <value>M</value>
          <a:documentation> (medial) this is a medial part of a fragmented element</a:documentation>
          <value>F</value>
          <a:documentation> (final) this is the final part of a fragmented element</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.divLike.attributes">
    <ref name="TEI_att.metrical.attributes"/>
    <ref name="TEI_att.fragmentable.attributes"/>
    <ref name="TEI_att.divLike.attribute.org"/>
    <ref name="TEI_att.divLike.attribute.sample"/>
  </define>
  <define name="TEI_att.divLike.attribute.org">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="org" a:defaultValue="uniform">
        <a:documentation>(organization) specifies how the content of the division is organized.</a:documentation>
        <choice>
          <value>composite</value>
          <a:documentation>composite content: i.e. no claim is made about the
		  sequence in which the immediate contents of this division
		  are to be processed, or their inter-relationships.</a:documentation>
          <value>uniform</value>
          <a:documentation>uniform content: i.e. the immediate contents of this
		  element are regarded as forming a logical unit, to be
		  processed in sequence.</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.divLike.attribute.sample">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="sample" a:defaultValue="complete">
        <a:documentation>indicates whether this division is a sample of the
		original source and if so, from which part.</a:documentation>
        <choice>
          <value>initial</value>
          <a:documentation>division lacks material present at end in source.</a:documentation>
          <value>medial</value>
          <a:documentation>division lacks material at start and end.</a:documentation>
          <value>final</value>
          <a:documentation>division lacks material at start.</a:documentation>
          <value>unknown</value>
          <a:documentation>position of sampled material within original unknown.</a:documentation>
          <value>complete</value>
          <a:documentation>division is not a sample.</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.docStatus.attributes">
    <ref name="TEI_att.docStatus.attribute.status"/>
  </define>
  <define name="TEI_att.docStatus.attribute.status">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="status" a:defaultValue="draft">
        <a:documentation>describes the status of a document either currently or, when
associated with a dated element, at the time indicated.
Sample values include: 1] approved; 2] candidate; 3] cleared; 4] deprecated; 5] draft; 6] embargoed; 7] expired; 8] frozen; 9] galley; 10] proposed; 11] published; 12] recommendation; 13] submitted; 14] unfinished; 15] withdrawn</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.duration.w3c.attributes">
    <ref name="TEI_att.duration.w3c.attribute.dur"/>
  </define>
  <define name="TEI_att.duration.w3c.attribute.dur">
    <optional>
      <attribute name="dur">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(duration) indicates the length of this element in time.</a:documentation>
        <ref name="TEI_data.duration.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.duration.iso.attributes">
    <ref name="TEI_att.duration.iso.attribute.dur-iso"/>
  </define>
  <define name="TEI_att.duration.iso.attribute.dur-iso">
    <optional>
      <attribute name="dur-iso">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(duration) indicates the length of this element in time.</a:documentation>
        <ref name="TEI_data.duration.iso"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.responsibility.attributes">
    <ref name="TEI_att.responsibility.attribute.cert"/>
    <ref name="TEI_att.responsibility.attribute.resp"/>
  </define>
  <define name="TEI_att.responsibility.attribute.cert">
    <optional>
      <attribute name="cert">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(certainty) signifies the degree of certainty associated with the intervention or interpretation.</a:documentation>
        <ref name="TEI_data.certainty"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.responsibility.attribute.resp">
    <optional>
      <attribute name="resp">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsible party) indicates the agency responsible for the intervention or interpretation, for example an
        editor or transcriber.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.editLike.attributes">
    <ref name="TEI_att.dimensions.attributes"/>
    <ref name="TEI_att.responsibility.attributes"/>
    <ref name="TEI_att.editLike.attribute.evidence"/>
    <ref name="TEI_att.editLike.attribute.source"/>
    <ref name="TEI_att.editLike.attribute.instant"/>
  </define>
  <define name="TEI_att.editLike.attribute.evidence">
    <optional>
      <attribute name="evidence">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the nature of the evidence supporting the reliability or accuracy of the
        intervention or interpretation.
Suggested values include: 1] internal; 2] external; 3] conjecture</a:documentation>
        <list>
          <oneOrMore>
            <choice>
              <value>internal</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">there is internal evidence to support the intervention.</a:documentation>
              <value>external</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">there is external evidence to support the intervention.</a:documentation>
              <value>conjecture</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the intervention or interpretation has been made by the editor, cataloguer, or
            scholar on the basis of their expertise.</a:documentation>
              <data type="Name"/>
            </choice>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.editLike.attribute.source">
    <optional>
      <attribute name="source">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a list of one or more pointers indicating sources
      supporting the given  intervention or interpretation.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.editLike.attribute.instant">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="instant" a:defaultValue="false">
        <a:documentation>indicates whether this is an instant revision or not.</a:documentation>
        <ref name="TEI_data.xTruthValue"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.attributes">
    <ref name="TEI_att.global.linking.attributes"/>
    <ref name="TEI_att.global.analytic.attributes"/>
    <ref name="TEI_att.global.facs.attributes"/>
    <ref name="TEI_att.global.change.attributes"/>
    <ref name="TEI_att.global.attribute.topic"/>
    <ref name="TEI_att.global.attribute.xmlid"/>
    <ref name="TEI_att.global.attribute.n"/>
    <ref name="TEI_att.global.attribute.xmllang"/>
    <ref name="TEI_att.global.attribute.rend"/>
    <ref name="TEI_att.global.attribute.style"/>
    <ref name="TEI_att.global.attribute.rendition"/>
    <ref name="TEI_att.global.attribute.xmlbase"/>
    <ref name="TEI_att.global.attribute.xmlspace"/>
  </define>
  <define name="TEI_att.global.attribute.topic">
    <optional>
      <attribute name="topic" ns="http://www.example.org/ns/nonTEI">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
        <data type="string"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.attribute.xmlid">
    <optional>
      <attribute name="xml:id">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) provides a unique identifier for the element bearing the attribute.</a:documentation>
        <data type="ID"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.attribute.n">
    <optional>
      <attribute name="n">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) gives a number (or other label) for an element, which is not necessarily unique within
        the document.</a:documentation>
        <ref name="TEI_data.text"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.attribute.xmllang">
    <optional>
      <attribute name="xml:lang">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language) indicates the language of the element content using a tag generated
        according to BCP 47. 
         </a:documentation>
        <ref name="TEI_data.language"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.attribute.rend">
    <optional>
      <attribute name="rend">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rendition) indicates how the element in question was rendered or presented in the source text.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.attribute.style">
    <optional>
      <attribute name="style">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an expression in some formal style definition language
which defines the rendering or presentation
used for this element in the source text </a:documentation>
        <ref name="TEI_data.text"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.attribute.rendition">
    <optional>
      <attribute name="rendition">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to a description of the rendering or presentation used for this element in the
        source text.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.attribute.xmlbase">
    <optional>
      <attribute name="xml:base">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a base URI reference with which applications can resolve relative URI
        references into absolute URI references.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.attribute.xmlspace">
    <optional>
      <attribute name="xml:space">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signals an intention about how white space should be 
      managed by  applications. </a:documentation>
        <choice>
          <value>default</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signals that the application's default white-space processing modes are acceptable</a:documentation>
          <value>preserve</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the intent that applications preserve all white space</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.handFeatures.attributes">
    <ref name="TEI_att.handFeatures.attribute.scribe"/>
    <ref name="TEI_att.handFeatures.attribute.scribeRef"/>
    <ref name="TEI_att.handFeatures.attribute.script"/>
    <ref name="TEI_att.handFeatures.attribute.scriptRef"/>
    <ref name="TEI_att.handFeatures.attribute.medium"/>
    <ref name="TEI_att.handFeatures.attribute.scope"/>
  </define>
  <define name="TEI_att.handFeatures.attribute.scribe">
    <optional>
      <attribute name="scribe">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a name or other identifier for the scribe
believed to be responsible for this hand.</a:documentation>
        <ref name="TEI_data.name"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.handFeatures.attribute.scribeRef">
    <optional>
      <attribute name="scribeRef">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to a full description of the scribe concerned, typically supplied by a person element
      elsewhere in the description.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.handFeatures.attribute.script">
    <optional>
      <attribute name="script">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the particular script or writing style used by
this hand, for example secretary, copperplate, Chancery, Italian, etc.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.name"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.handFeatures.attribute.scriptRef">
    <optional>
      <attribute name="scriptRef">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to a full description of the script or writing style used by
this hand, typically supplied by a scriptNote element
      elsewhere in the description.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.handFeatures.attribute.medium">
    <optional>
      <attribute name="medium">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the tint or type of ink, e.g. brown, or other
writing medium, e.g. pencil</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.handFeatures.attribute.scope">
    <optional>
      <attribute name="scope">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies how widely this  hand is used in the manuscript.</a:documentation>
        <choice>
          <value>sole</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">only this hand is used throughout the manuscript</a:documentation>
          <value>major</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">this hand is used through most of the manuscript</a:documentation>
          <value>minor</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">this hand is used occasionally in the manuscript</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.internetMedia.attributes">
    <ref name="TEI_att.internetMedia.attribute.mimeType"/>
  </define>
  <define name="TEI_att.internetMedia.attribute.mimeType">
    <optional>
      <attribute name="mimeType">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(MIME media type) specifies the applicable multimedia internet mail extension (MIME) media type</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.media.attributes">
    <ref name="TEI_att.internetMedia.attributes"/>
    <ref name="TEI_att.media.attribute.width"/>
    <ref name="TEI_att.media.attribute.height"/>
    <ref name="TEI_att.media.attribute.scale"/>
  </define>
  <define name="TEI_att.media.attribute.width">
    <optional>
      <attribute name="width">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the media are displayed, indicates the  display width </a:documentation>
        <ref name="TEI_data.outputMeasurement"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.media.attribute.height">
    <optional>
      <attribute name="height">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the media are displayed, indicates the display height</a:documentation>
        <ref name="TEI_data.outputMeasurement"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.media.attribute.scale">
    <optional>
      <attribute name="scale">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the media are displayed, indicates a scale factor to
      be applied when generating the desired display size</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.resourced.attributes">
    <ref name="TEI_att.resourced.attribute.url"/>
  </define>
  <define name="TEI_att.resourced.attribute.url">
    <attribute name="url">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(uniform resource locator) specifies the URL from which the media concerned may be obtained.</a:documentation>
      <ref name="TEI_data.pointer"/>
    </attribute>
  </define>
  <define name="TEI_att.interpLike.attributes">
    <ref name="TEI_att.responsibility.attributes"/>
    <ref name="TEI_att.interpLike.attribute.type"/>
    <ref name="TEI_att.interpLike.attribute.inst"/>
  </define>
  <define name="TEI_att.interpLike.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates what kind of phenomenon is being noted in the passage.
Sample values include: 1] image; 2] character; 3] theme; 4] allusion</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.interpLike.attribute.inst">
    <optional>
      <attribute name="inst">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(instances) points to instances of the analysis or interpretation represented
by the current element.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.measurement.attributes">
    <ref name="TEI_att.measurement.attribute.unit"/>
    <ref name="TEI_att.measurement.attribute.quantity"/>
    <ref name="TEI_att.measurement.attribute.commodity"/>
  </define>
  <define name="TEI_att.measurement.attribute.unit">
    <optional>
      <attribute name="unit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the units used for the measurement, usually
      using the standard symbol for the desired units.
Suggested values include: 1] m(metre) ; 2] kg(kilogram) ; 3] s(second) ; 4] Hz(hertz) ; 5] Pa(pascal) ; 6] Ω(ohm) ; 7] L(litre) ; 8] t(tonne) ; 9] ha(hectare) ; 10] Å(ångström) ; 11] mL(millilitre) ; 12] cm(centimetre) ; 13] dB(decibel) ; 14] kbit(kilobit) ; 15] Kibit(kibibit) ; 16] kB(kilobyte) ; 17] KiB(kibibyte) ; 18] MB(megabyte) ; 19] MiB(mebibyte) </a:documentation>
        <choice>
          <value>m</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(metre) SI base unit of length</a:documentation>
          <value>kg</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(kilogram) SI base unit of mass</a:documentation>
          <value>s</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(second) SI base unit of time</a:documentation>
          <value>Hz</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hertz) SI unit of frequency</a:documentation>
          <value>Pa</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pascal) SI unit of pressure or stress</a:documentation>
          <value>Ω</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(ohm) SI unit of electric resistance</a:documentation>
          <value>L</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(litre) 1 dm³</a:documentation>
          <value>t</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tonne) 10³ kg</a:documentation>
          <value>ha</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hectare) 1 hm²</a:documentation>
          <value>Å</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(ångström) 10⁻¹⁰ m</a:documentation>
          <value>mL</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(millilitre) </a:documentation>
          <value>cm</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(centimetre) </a:documentation>
          <value>dB</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(decibel) see remarks, below</a:documentation>
          <value>kbit</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(kilobit) 10³ or 1000 bits</a:documentation>
          <value>Kibit</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(kibibit) 2¹⁰ or 1024 bits</a:documentation>
          <value>kB</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(kilobyte) 10³ or 1000 bytes</a:documentation>
          <value>KiB</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(kibibyte) 2¹⁰ or 1024 bytes</a:documentation>
          <value>MB</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(megabyte) 10⁶ or 1 000 000 bytes</a:documentation>
          <value>MiB</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(mebibyte) 2²⁰ or 1 048 576 bytes</a:documentation>
          <data type="Name"/>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.measurement.attribute.quantity">
    <optional>
      <attribute name="quantity">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of the specified units that
      comprise the measurement</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.measurement.attribute.commodity">
    <optional>
      <attribute name="commodity">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the substance that is being measured</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.naming.attributes">
    <ref name="TEI_att.canonical.attributes"/>
    <ref name="TEI_att.naming.attribute.role"/>
    <ref name="TEI_att.naming.attribute.nymRef"/>
  </define>
  <define name="TEI_att.naming.attribute.role">
    <optional>
      <attribute name="role">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">may be used to specify further information about the entity referenced by
this name, for example the occupation of a person, or the status of a place. </a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.naming.attribute.nymRef">
    <optional>
      <attribute name="nymRef">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference to the canonical name) provides a means of locating the canonical form
      (nym) of the names associated with the object
       named by
      the element bearing it.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.placement.attributes">
    <ref name="TEI_att.placement.attribute.place"/>
  </define>
  <define name="TEI_att.placement.attribute.place">
    <optional>
      <attribute name="place">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies where this item is placed
Suggested values include: 1] below; 2] bottom; 3] margin; 4] top; 5] opposite; 6] overleaf; 7] above; 8] end; 9] inline; 10] inspace</a:documentation>
        <list>
          <oneOrMore>
            <choice>
              <value>below</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">below the line</a:documentation>
              <value>bottom</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the foot of the page</a:documentation>
              <value>margin</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the margin (left, right, or both)</a:documentation>
              <value>top</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the top of the page</a:documentation>
              <value>opposite</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the opposite, i.e. facing, page</a:documentation>
              <value>overleaf</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on the other side of the leaf</a:documentation>
              <value>above</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">above the line</a:documentation>
              <value>end</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at the end of e.g. chapter or volume.</a:documentation>
              <value>inline</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">within the body of the text.</a:documentation>
              <value>inspace</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> in a predefined space, for example left by an earlier scribe.</a:documentation>
              <data type="Name"/>
            </choice>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.typed.attributes">
    <ref name="TEI_att.typed.attribute.type"/>
    <ref name="TEI_att.typed.attribute.subtype"/>
  </define>
  <define name="TEI_att.typed.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the element in some sense, using any convenient
 classification scheme or typology.</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.typed.attribute.subtype">
    <optional>
      <attribute name="subtype">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a sub-categorization of the element, if needed</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.pointing.attributes">
    <ref name="TEI_att.pointing.attribute.targetLang"/>
    <ref name="TEI_att.pointing.attribute.target"/>
    <ref name="TEI_att.pointing.attribute.evaluate"/>
  </define>
  <define name="TEI_att.pointing.attribute.targetLang">
    <optional>
      <attribute name="targetLang">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the language of the content to be found at the destination referenced by target, using a language tag generated
        according to BCP 47.</a:documentation>
        <ref name="TEI_data.language"/>
      </attribute>
    </optional>
  </define>
  <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="targetLang-constraint-targetLang">
    <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" context="tei:*[not(self::tei:schemaSpec)][@targetLang]">
      <sch:assert test="count(@target)">@targetLang can only be used if @target is specified.</sch:assert>
    </sch:rule>
  </pattern>
  <define name="TEI_att.pointing.attribute.target">
    <optional>
      <attribute name="target">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the destination of the reference by supplying one or more URI References</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.pointing.attribute.evaluate">
    <optional>
      <attribute name="evaluate">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the intended meaning when the target of a
      pointer is itself a pointer.</a:documentation>
        <choice>
          <value>all</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">if the element pointed to is itself a pointer, then
	  the target of that pointer will be taken, and so on, until
	  an element is found which is not a pointer.</a:documentation>
          <value>one</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">if the element pointed to is itself a pointer, then
	  its target (whether a pointer or not) is taken as the target
	  of this pointer.</a:documentation>
          <value>none</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">no further evaluation of targets is carried out
	  beyond that needed to find the element specified in the
	  pointer's target.</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.pointing.group.attributes">
    <ref name="TEI_att.pointing.attributes"/>
    <ref name="TEI_att.typed.attributes"/>
    <ref name="TEI_att.pointing.group.attribute.domains"/>
    <ref name="TEI_att.pointing.group.attribute.targFunc"/>
  </define>
  <define name="TEI_att.pointing.group.attribute.domains">
    <optional>
      <attribute name="domains">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">optionally specifies the identifiers of the elements
      within which all elements indicated by the contents of this
      element lie.</a:documentation>
        <list>
          <ref name="TEI_data.pointer"/>
          <ref name="TEI_data.pointer"/>
          <zeroOrMore>
            <ref name="TEI_data.pointer"/>
          </zeroOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.pointing.group.attribute.targFunc">
    <optional>
      <attribute name="targFunc">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(target function) describes the function of each of the values of the
      target attribute of the enclosed link,
      join, or alt tags.</a:documentation>
        <list>
          <ref name="TEI_data.word"/>
          <ref name="TEI_data.word"/>
          <zeroOrMore>
            <ref name="TEI_data.word"/>
          </zeroOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.readFrom.attributes">
    <ref name="TEI_att.readFrom.attribute.source"/>
  </define>
  <define name="TEI_att.readFrom.attribute.source">
    <optional>
      <attribute name="source">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the source from which declarations and definitions for
the components of the object being defined may be obtained. </a:documentation>
        <data type="anyURI"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.scoping.attributes">
    <ref name="TEI_att.scoping.attribute.target"/>
    <ref name="TEI_att.scoping.attribute.match"/>
  </define>
  <define name="TEI_att.scoping.attribute.target">
    <optional>
      <attribute name="target">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points at one or several  elements or  sets of elements by
      means of one or more
      data pointers, using the URI syntax.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.scoping.attribute.match">
    <optional>
      <attribute name="match">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies an arbitrary XPath expression identifying a set
      of nodes, selected within the context identified by the
      target attribute if this is supplied, or within the
      context of the element bearing this attribute if it is not.
</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.segLike.attributes">
    <ref name="TEI_att.metrical.attributes"/>
    <ref name="TEI_att.datcat.attributes"/>
    <ref name="TEI_att.fragmentable.attributes"/>
    <ref name="TEI_att.segLike.attribute.function"/>
  </define>
  <define name="TEI_att.segLike.attribute.function">
    <optional>
      <attribute name="function">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the function of the segment.</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.sortable.attributes">
    <ref name="TEI_att.sortable.attribute.sortKey"/>
  </define>
  <define name="TEI_att.sortable.attribute.sortKey">
    <optional>
      <attribute name="sortKey">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the sort key for this element in an index, list or group which contains it.</a:documentation>
        <ref name="TEI_data.word"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.edition.attributes">
    <ref name="TEI_att.edition.attribute.ed"/>
    <ref name="TEI_att.edition.attribute.edRef"/>
  </define>
  <define name="TEI_att.edition.attribute.ed">
    <optional>
      <attribute name="ed">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(edition) supplies an arbitrary identifier for the source edition in which
      the associated feature (for example, a  page, column, or line
      break) occurs at this point in the text.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.code"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.edition.attribute.edRef">
    <optional>
      <attribute name="edRef">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (edition reference) provides a pointer to the source edition in which
      the associated feature (for example, a  page, column, or line
      break) occurs at this point in the text.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.spanning.attributes">
    <ref name="TEI_att.spanning.attribute.spanTo"/>
  </define>
  <define name="TEI_att.spanning.attribute.spanTo">
    <optional>
      <attribute name="spanTo">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the end of a span initiated by the element
	bearing this attribute.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="spanTo-constraint-spanTo-2">
    <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" context="tei:*[@spanTo]">
      <sch:assert test="following::*[@xml:id=substring(current()/@target,2)]">
The element indicated by @spanTo must follow the current element <sch:name/>
         </sch:assert>
    </sch:rule>
  </pattern>
  <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="spanTo-constraint-spanTo-3">
    <sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" context="tei:*[@spanTo]">
      <sch:assert test="id(substring(@spanTo,2))">
@spanTo on <sch:name/> must point to  the identifier of some element  in this document</sch:assert>
    </sch:rule>
  </pattern>
  <define name="TEI_att.styleDef.attributes">
    <ref name="TEI_att.styleDef.attribute.scheme"/>
  </define>
  <define name="TEI_att.styleDef.attribute.scheme">
    <optional>
      <attribute name="scheme">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the language used to describe the rendition.</a:documentation>
        <choice>
          <value>css</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Cascading Stylesheet Language</a:documentation>
          <value>xslfo</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Extensible Stylesheet Language Formatting Objects</a:documentation>
          <value>free</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Informal free text description</a:documentation>
          <value>other</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A user-defined rendition description language</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.tableDecoration.attributes">
    <ref name="TEI_att.tableDecoration.attribute.role"/>
    <ref name="TEI_att.tableDecoration.attribute.rows"/>
    <ref name="TEI_att.tableDecoration.attribute.cols"/>
  </define>
  <define name="TEI_att.tableDecoration.attribute.role">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="role" a:defaultValue="data">
        <a:documentation>indicates the kind of information held in this cell or
in each cell of this row.
Suggested values include: 1] label; 2] data</a:documentation>
        <choice>
          <value>label</value>
          <a:documentation>labelling or descriptive information only.</a:documentation>
          <value>data</value>
          <a:documentation>data values.</a:documentation>
          <data type="Name"/>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.tableDecoration.attribute.rows">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="rows" a:defaultValue="1">
        <a:documentation>indicates the number of rows occupied by this cell or row.</a:documentation>
        <ref name="TEI_data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.tableDecoration.attribute.cols">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="cols" a:defaultValue="1">
        <a:documentation>(columns) indicates the number of columns occupied by this cell or
	row.</a:documentation>
        <ref name="TEI_data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.timed.attributes">
    <ref name="TEI_att.duration.attributes"/>
    <ref name="TEI_att.timed.attribute.start"/>
    <ref name="TEI_att.timed.attribute.end"/>
  </define>
  <define name="TEI_att.timed.attribute.start">
    <optional>
      <attribute name="start">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location within a temporal alignment at
      which this element begins.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.timed.attribute.end">
    <optional>
      <attribute name="end">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location within a temporal alignment at
      which this element ends.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.transcriptional.attributes">
    <ref name="TEI_att.editLike.attributes"/>
    <ref name="TEI_att.transcriptional.attribute.hand"/>
    <ref name="TEI_att.transcriptional.attribute.status"/>
    <ref name="TEI_att.transcriptional.attribute.cause"/>
    <ref name="TEI_att.transcriptional.attribute.seq"/>
  </define>
  <define name="TEI_att.transcriptional.attribute.hand">
    <optional>
      <attribute name="hand">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the hand of the agent which made the intervention.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.transcriptional.attribute.status">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="status" a:defaultValue="unremarkable">
        <a:documentation>indicates the effect of the intervention, for example in
      the case of a deletion, strikeouts
      which include too much or too little text, or in the case of an
      addition, an insertion which duplicates some of the text
      already present.
Sample values include: 1] duplicate; 2] duplicate-partial; 3] excessStart; 4] excessEnd; 5] shortStart; 6] shortEnd; 7] partial; 8] unremarkable</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.transcriptional.attribute.cause">
    <optional>
      <attribute name="cause">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents the presumed cause for the intervention.</a:documentation>
        <choice>
          <value>fix</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">repeated for the purpose of fixation</a:documentation>
          <value>unclear</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">repeated to clarify a previously illegible or badly written text
   or mark</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.transcriptional.attribute.seq">
    <optional>
      <attribute name="seq">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(sequence) assigns a sequence number related to the order in which
      the encoded features carrying this attribute are believed to have occurred.</a:documentation>
        <ref name="TEI_data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.translatable.attributes">
    <ref name="TEI_att.translatable.attribute.versionDate"/>
  </define>
  <define name="TEI_att.translatable.attribute.versionDate">
    <optional>
      <attribute name="versionDate">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the date on which the source text was extracted and sent to the translator</a:documentation>
        <ref name="TEI_data.temporal.w3c"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_model.nameLike.agent">
    <choice>
      <ref name="TEI_name"/>
      <ref name="TEI_orgName"/>
      <ref name="TEI_persName"/>
    </choice>
  </define>
  <define name="TEI_model.nameLike.agent_alternation">
    <choice>
      <ref name="TEI_name"/>
      <ref name="TEI_orgName"/>
      <ref name="TEI_persName"/>
    </choice>
  </define>
  <define name="TEI_model.nameLike.agent_sequence">
    <ref name="TEI_name"/>
    <ref name="TEI_orgName"/>
    <ref name="TEI_persName"/>
  </define>
  <define name="TEI_model.nameLike.agent_sequenceOptional">
    <optional>
      <ref name="TEI_name"/>
    </optional>
    <optional>
      <ref name="TEI_orgName"/>
    </optional>
    <optional>
      <ref name="TEI_persName"/>
    </optional>
  </define>
  <define name="TEI_model.nameLike.agent_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_name"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_orgName"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_persName"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.nameLike.agent_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_name"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_orgName"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_persName"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.segLike">
    <choice>
      <ref name="TEI_s"/>
      <ref name="TEI_cl"/>
      <ref name="TEI_phr"/>
      <ref name="TEI_w"/>
      <ref name="TEI_m"/>
      <ref name="TEI_c"/>
      <ref name="TEI_pc"/>
      <ref name="TEI_seg"/>
    </choice>
  </define>
  <define name="TEI_model.hiLike">
    <choice>
      <ref name="TEI_hi"/>
    </choice>
  </define>
  <define name="TEI_model.hiLike_alternation">
    <choice>
      <ref name="TEI_hi"/>
    </choice>
  </define>
  <define name="TEI_model.hiLike_sequence">
    <ref name="TEI_hi"/>
  </define>
  <define name="TEI_model.hiLike_sequenceOptional">
    <optional>
      <ref name="TEI_hi"/>
    </optional>
  </define>
  <define name="TEI_model.hiLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_hi"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.hiLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_hi"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.emphLike">
    <choice>
      <ref name="TEI_foreign"/>
      <ref name="TEI_emph"/>
      <ref name="TEI_distinct"/>
      <ref name="TEI_mentioned"/>
      <ref name="TEI_soCalled"/>
      <ref name="TEI_gloss"/>
      <ref name="TEI_term"/>
      <ref name="TEI_title"/>
      <ref name="TEI_code"/>
      <ref name="TEI_ident"/>
    </choice>
  </define>
  <define name="TEI_model.emphLike_alternation">
    <choice>
      <ref name="TEI_foreign"/>
      <ref name="TEI_emph"/>
      <ref name="TEI_distinct"/>
      <ref name="TEI_mentioned"/>
      <ref name="TEI_soCalled"/>
      <ref name="TEI_gloss"/>
      <ref name="TEI_term"/>
      <ref name="TEI_title"/>
      <ref name="TEI_code"/>
      <ref name="TEI_ident"/>
    </choice>
  </define>
  <define name="TEI_model.emphLike_sequence">
    <ref name="TEI_foreign"/>
    <ref name="TEI_emph"/>
    <ref name="TEI_distinct"/>
    <ref name="TEI_mentioned"/>
    <ref name="TEI_soCalled"/>
    <ref name="TEI_gloss"/>
    <ref name="TEI_term"/>
    <ref name="TEI_title"/>
    <ref name="TEI_code"/>
    <ref name="TEI_ident"/>
  </define>
  <define name="TEI_model.emphLike_sequenceOptional">
    <optional>
      <ref name="TEI_foreign"/>
    </optional>
    <optional>
      <ref name="TEI_emph"/>
    </optional>
    <optional>
      <ref name="TEI_distinct"/>
    </optional>
    <optional>
      <ref name="TEI_mentioned"/>
    </optional>
    <optional>
      <ref name="TEI_soCalled"/>
    </optional>
    <optional>
      <ref name="TEI_gloss"/>
    </optional>
    <optional>
      <ref name="TEI_term"/>
    </optional>
    <optional>
      <ref name="TEI_title"/>
    </optional>
    <optional>
      <ref name="TEI_code"/>
    </optional>
    <optional>
      <ref name="TEI_ident"/>
    </optional>
  </define>
  <define name="TEI_model.emphLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_foreign"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_emph"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_distinct"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_mentioned"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_soCalled"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_gloss"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_term"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_title"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_code"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_ident"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.emphLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_foreign"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_emph"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_distinct"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_mentioned"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_soCalled"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_gloss"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_term"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_title"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_code"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_ident"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.highlighted">
    <choice>
      <ref name="TEI_model.hiLike"/>
      <ref name="TEI_model.emphLike"/>
    </choice>
  </define>
  <define name="TEI_model.dateLike">
    <choice>
      <ref name="TEI_date"/>
      <ref name="TEI_time"/>
    </choice>
  </define>
  <define name="TEI_model.dateLike_alternation">
    <choice>
      <ref name="TEI_date"/>
      <ref name="TEI_time"/>
    </choice>
  </define>
  <define name="TEI_model.dateLike_sequence">
    <ref name="TEI_date"/>
    <ref name="TEI_time"/>
  </define>
  <define name="TEI_model.dateLike_sequenceOptional">
    <optional>
      <ref name="TEI_date"/>
    </optional>
    <optional>
      <ref name="TEI_time"/>
    </optional>
  </define>
  <define name="TEI_model.dateLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_date"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_time"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.dateLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_date"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_time"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.dimLike">
    <choice>
      <ref name="TEI_height"/>
      <ref name="TEI_depth"/>
      <ref name="TEI_width"/>
    </choice>
  </define>
  <define name="TEI_model.measureLike">
    <choice>
      <ref name="TEI_num"/>
      <ref name="TEI_measure"/>
      <ref name="TEI_measureGrp"/>
      <ref name="TEI_dim"/>
      <ref name="TEI_height"/>
      <ref name="TEI_depth"/>
      <ref name="TEI_width"/>
      <ref name="TEI_geo"/>
    </choice>
  </define>
  <define name="TEI_model.measureLike_alternation">
    <choice>
      <ref name="TEI_num"/>
      <ref name="TEI_measure"/>
      <ref name="TEI_measureGrp"/>
      <ref name="TEI_dim"/>
      <ref name="TEI_height"/>
      <ref name="TEI_depth"/>
      <ref name="TEI_width"/>
      <ref name="TEI_geo"/>
    </choice>
  </define>
  <define name="TEI_model.measureLike_sequence">
    <ref name="TEI_num"/>
    <ref name="TEI_measure"/>
    <ref name="TEI_measureGrp"/>
    <ref name="TEI_dim"/>
    <ref name="TEI_height"/>
    <ref name="TEI_depth"/>
    <ref name="TEI_width"/>
    <ref name="TEI_geo"/>
  </define>
  <define name="TEI_model.measureLike_sequenceOptional">
    <optional>
      <ref name="TEI_num"/>
    </optional>
    <optional>
      <ref name="TEI_measure"/>
    </optional>
    <optional>
      <ref name="TEI_measureGrp"/>
    </optional>
    <optional>
      <ref name="TEI_dim"/>
    </optional>
    <optional>
      <ref name="TEI_height"/>
    </optional>
    <optional>
      <ref name="TEI_depth"/>
    </optional>
    <optional>
      <ref name="TEI_width"/>
    </optional>
    <optional>
      <ref name="TEI_geo"/>
    </optional>
  </define>
  <define name="TEI_model.measureLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_num"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_measure"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_measureGrp"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_dim"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_height"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_depth"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_width"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_geo"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.measureLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_num"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_measure"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_measureGrp"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_dim"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_height"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_depth"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_width"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_geo"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.egLike">
    <choice>
      <ref name="TEI_eg"/>
      <ref name="TEI_egXML"/>
    </choice>
  </define>
  <define name="TEI_model.egLike_alternation">
    <choice>
      <ref name="TEI_eg"/>
      <ref name="TEI_egXML"/>
    </choice>
  </define>
  <define name="TEI_model.egLike_sequence">
    <ref name="TEI_eg"/>
    <ref name="TEI_egXML"/>
  </define>
  <define name="TEI_model.egLike_sequenceOptional">
    <optional>
      <ref name="TEI_eg"/>
    </optional>
    <optional>
      <ref name="TEI_egXML"/>
    </optional>
  </define>
  <define name="TEI_model.egLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_eg"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_egXML"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.egLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_eg"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_egXML"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.graphicLike">
    <choice>
      <ref name="TEI_media"/>
      <ref name="TEI_graphic"/>
      <ref name="TEI_binaryObject"/>
      <ref name="TEI_formula"/>
    </choice>
  </define>
  <define name="TEI_model.offsetLike">
    <choice>
      <ref name="TEI_offset"/>
      <ref name="TEI_geogFeat"/>
    </choice>
  </define>
  <define name="TEI_model.offsetLike_alternation">
    <choice>
      <ref name="TEI_offset"/>
      <ref name="TEI_geogFeat"/>
    </choice>
  </define>
  <define name="TEI_model.offsetLike_sequence">
    <ref name="TEI_offset"/>
    <ref name="TEI_geogFeat"/>
  </define>
  <define name="TEI_model.offsetLike_sequenceOptional">
    <optional>
      <ref name="TEI_offset"/>
    </optional>
    <optional>
      <ref name="TEI_geogFeat"/>
    </optional>
  </define>
  <define name="TEI_model.offsetLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_offset"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_geogFeat"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.offsetLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_offset"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_geogFeat"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.pPart.msdesc">
    <choice>
      <ref name="TEI_catchwords"/>
      <ref name="TEI_dimensions"/>
      <ref name="TEI_heraldry"/>
      <ref name="TEI_locus"/>
      <ref name="TEI_locusGrp"/>
      <ref name="TEI_material"/>
      <ref name="TEI_objectType"/>
      <ref name="TEI_origDate"/>
      <ref name="TEI_origPlace"/>
      <ref name="TEI_secFol"/>
      <ref name="TEI_signatures"/>
      <ref name="TEI_stamp"/>
      <ref name="TEI_watermark"/>
    </choice>
  </define>
  <define name="TEI_model.pPart.editorial">
    <choice>
      <ref name="TEI_choice"/>
      <ref name="TEI_abbr"/>
      <ref name="TEI_expan"/>
      <ref name="TEI_ex"/>
      <ref name="TEI_am"/>
      <ref name="TEI_subst"/>
    </choice>
  </define>
  <define name="TEI_model.pPart.editorial_alternation">
    <choice>
      <ref name="TEI_choice"/>
      <ref name="TEI_abbr"/>
      <ref name="TEI_expan"/>
      <ref name="TEI_ex"/>
      <ref name="TEI_am"/>
      <ref name="TEI_subst"/>
    </choice>
  </define>
  <define name="TEI_model.pPart.editorial_sequence">
    <ref name="TEI_choice"/>
    <ref name="TEI_abbr"/>
    <ref name="TEI_expan"/>
    <ref name="TEI_ex"/>
    <ref name="TEI_am"/>
    <ref name="TEI_subst"/>
  </define>
  <define name="TEI_model.pPart.editorial_sequenceOptional">
    <optional>
      <ref name="TEI_choice"/>
    </optional>
    <optional>
      <ref name="TEI_abbr"/>
    </optional>
    <optional>
      <ref name="TEI_expan"/>
    </optional>
    <optional>
      <ref name="TEI_ex"/>
    </optional>
    <optional>
      <ref name="TEI_am"/>
    </optional>
    <optional>
      <ref name="TEI_subst"/>
    </optional>
  </define>
  <define name="TEI_model.pPart.editorial_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_choice"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_abbr"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_expan"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_ex"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_am"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_subst"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.pPart.editorial_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_choice"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_abbr"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_expan"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_ex"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_am"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_subst"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.pPart.transcriptional">
    <choice>
      <ref name="TEI_sic"/>
      <ref name="TEI_corr"/>
      <ref name="TEI_reg"/>
      <ref name="TEI_orig"/>
      <ref name="TEI_add"/>
      <ref name="TEI_del"/>
      <ref name="TEI_unclear"/>
      <ref name="TEI_app"/>
      <ref name="TEI_damage"/>
      <ref name="TEI_handShift"/>
      <ref name="TEI_restore"/>
      <ref name="TEI_supplied"/>
      <ref name="TEI_surplus"/>
      <ref name="TEI_mod"/>
      <ref name="TEI_redo"/>
      <ref name="TEI_retrace"/>
      <ref name="TEI_undo"/>
    </choice>
  </define>
  <define name="TEI_model.pPart.transcriptional_alternation">
    <choice>
      <ref name="TEI_sic"/>
      <ref name="TEI_corr"/>
      <ref name="TEI_reg"/>
      <ref name="TEI_orig"/>
      <ref name="TEI_add"/>
      <ref name="TEI_del"/>
      <ref name="TEI_unclear"/>
      <ref name="TEI_app"/>
      <ref name="TEI_damage"/>
      <ref name="TEI_handShift"/>
      <ref name="TEI_restore"/>
      <ref name="TEI_supplied"/>
      <ref name="TEI_surplus"/>
      <ref name="TEI_mod"/>
      <ref name="TEI_redo"/>
      <ref name="TEI_retrace"/>
      <ref name="TEI_undo"/>
    </choice>
  </define>
  <define name="TEI_model.pPart.transcriptional_sequence">
    <ref name="TEI_sic"/>
    <ref name="TEI_corr"/>
    <ref name="TEI_reg"/>
    <ref name="TEI_orig"/>
    <ref name="TEI_add"/>
    <ref name="TEI_del"/>
    <ref name="TEI_unclear"/>
    <ref name="TEI_app"/>
    <ref name="TEI_damage"/>
    <ref name="TEI_handShift"/>
    <ref name="TEI_restore"/>
    <ref name="TEI_supplied"/>
    <ref name="TEI_surplus"/>
    <ref name="TEI_mod"/>
    <ref name="TEI_redo"/>
    <ref name="TEI_retrace"/>
    <ref name="TEI_undo"/>
  </define>
  <define name="TEI_model.pPart.transcriptional_sequenceOptional">
    <optional>
      <ref name="TEI_sic"/>
    </optional>
    <optional>
      <ref name="TEI_corr"/>
    </optional>
    <optional>
      <ref name="TEI_reg"/>
    </optional>
    <optional>
      <ref name="TEI_orig"/>
    </optional>
    <optional>
      <ref name="TEI_add"/>
    </optional>
    <optional>
      <ref name="TEI_del"/>
    </optional>
    <optional>
      <ref name="TEI_unclear"/>
    </optional>
    <optional>
      <ref name="TEI_app"/>
    </optional>
    <optional>
      <ref name="TEI_damage"/>
    </optional>
    <optional>
      <ref name="TEI_handShift"/>
    </optional>
    <optional>
      <ref name="TEI_restore"/>
    </optional>
    <optional>
      <ref name="TEI_supplied"/>
    </optional>
    <optional>
      <ref name="TEI_surplus"/>
    </optional>
    <optional>
      <ref name="TEI_mod"/>
    </optional>
    <optional>
      <ref name="TEI_redo"/>
    </optional>
    <optional>
      <ref name="TEI_retrace"/>
    </optional>
    <optional>
      <ref name="TEI_undo"/>
    </optional>
  </define>
  <define name="TEI_model.pPart.transcriptional_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_sic"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_corr"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_reg"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_orig"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_add"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_del"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_unclear"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_app"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_damage"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_handShift"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_restore"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_supplied"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_surplus"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_mod"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_redo"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_retrace"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_undo"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.pPart.transcriptional_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_sic"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_corr"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_reg"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_orig"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_add"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_del"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_unclear"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_app"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_damage"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_handShift"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_restore"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_supplied"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_surplus"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_mod"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_redo"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_retrace"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_undo"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.pPart.edit">
    <choice>
      <ref name="TEI_model.pPart.editorial"/>
      <ref name="TEI_model.pPart.transcriptional"/>
    </choice>
  </define>
  <define name="TEI_model.linePart">
    <choice>
      <ref name="TEI_model.segLike"/>
      <ref name="TEI_model.hiLike"/>
      <ref name="TEI_model.pPart.transcriptional"/>
      <ref name="TEI_choice"/>
      <ref name="TEI_zone"/>
      <ref name="TEI_line"/>
    </choice>
  </define>
  <define name="TEI_model.ptrLike">
    <choice>
      <ref name="TEI_ptr"/>
      <ref name="TEI_ref"/>
    </choice>
  </define>
  <define name="TEI_model.lPart">
    <choice>
      <ref name="TEI_caesura"/>
      <ref name="TEI_rhyme"/>
    </choice>
  </define>
  <define name="TEI_model.global.meta">
    <choice>
      <ref name="TEI_index"/>
      <ref name="TEI_span"/>
      <ref name="TEI_spanGrp"/>
      <ref name="TEI_interp"/>
      <ref name="TEI_interpGrp"/>
      <ref name="TEI_precision"/>
      <ref name="TEI_certainty"/>
      <ref name="TEI_respons"/>
      <ref name="TEI_fs"/>
      <ref name="TEI_fLib"/>
      <ref name="TEI_fvLib"/>
      <ref name="TEI_link"/>
      <ref name="TEI_linkGrp"/>
      <ref name="TEI_timeline"/>
      <ref name="TEI_join"/>
      <ref name="TEI_joinGrp"/>
      <ref name="TEI_alt"/>
      <ref name="TEI_altGrp"/>
      <ref name="TEI_substJoin"/>
      <ref name="TEI_listTranspose"/>
    </choice>
  </define>
  <define name="TEI_model.milestoneLike">
    <choice>
      <ref name="TEI_milestone"/>
      <ref name="TEI_gb"/>
      <ref name="TEI_pb"/>
      <ref name="TEI_lb"/>
      <ref name="TEI_cb"/>
      <ref name="TEI_anchor"/>
      <ref name="TEI_fw"/>
    </choice>
  </define>
  <define name="TEI_model.gLike">
    <choice>
      <ref name="TEI_g"/>
    </choice>
  </define>
  <define name="TEI_model.oddDecl">
    <choice>
      <ref name="TEI_moduleSpec"/>
      <ref name="TEI_specGrp"/>
      <ref name="TEI_specGrpRef"/>
      <ref name="TEI_elementSpec"/>
      <ref name="TEI_classSpec"/>
      <ref name="TEI_macroSpec"/>
      <ref name="TEI_listRef"/>
    </choice>
  </define>
  <define name="TEI_model.oddDecl_alternation">
    <choice>
      <ref name="TEI_moduleSpec"/>
      <ref name="TEI_specGrp"/>
      <ref name="TEI_specGrpRef"/>
      <ref name="TEI_elementSpec"/>
      <ref name="TEI_classSpec"/>
      <ref name="TEI_macroSpec"/>
      <ref name="TEI_listRef"/>
    </choice>
  </define>
  <define name="TEI_model.oddDecl_sequence">
    <ref name="TEI_moduleSpec"/>
    <ref name="TEI_specGrp"/>
    <ref name="TEI_specGrpRef"/>
    <ref name="TEI_elementSpec"/>
    <ref name="TEI_classSpec"/>
    <ref name="TEI_macroSpec"/>
    <ref name="TEI_listRef"/>
  </define>
  <define name="TEI_model.oddDecl_sequenceOptional">
    <optional>
      <ref name="TEI_moduleSpec"/>
    </optional>
    <optional>
      <ref name="TEI_specGrp"/>
    </optional>
    <optional>
      <ref name="TEI_specGrpRef"/>
    </optional>
    <optional>
      <ref name="TEI_elementSpec"/>
    </optional>
    <optional>
      <ref name="TEI_classSpec"/>
    </optional>
    <optional>
      <ref name="TEI_macroSpec"/>
    </optional>
    <optional>
      <ref name="TEI_listRef"/>
    </optional>
  </define>
  <define name="TEI_model.oddDecl_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_moduleSpec"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_specGrp"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_specGrpRef"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_elementSpec"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_classSpec"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_macroSpec"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_listRef"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.oddDecl_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_moduleSpec"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_specGrp"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_specGrpRef"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_elementSpec"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_classSpec"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_macroSpec"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_listRef"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.oddRef">
    <choice>
      <ref name="TEI_classRef"/>
      <ref name="TEI_elementRef"/>
      <ref name="TEI_macroRef"/>
      <ref name="TEI_moduleRef"/>
    </choice>
  </define>
  <define name="TEI_model.phrase.xml">
    <choice>
      <ref name="TEI_att"/>
      <ref name="TEI_gi"/>
      <ref name="TEI_tag"/>
      <ref name="TEI_val"/>
    </choice>
  </define>
  <define name="TEI_model.specDescLike">
    <choice>
      <ref name="TEI_specList"/>
      <ref name="TEI_specDesc"/>
    </choice>
  </define>
  <define name="TEI_model.biblLike">
    <choice>
      <ref name="TEI_bibl"/>
      <ref name="TEI_biblStruct"/>
      <ref name="TEI_biblFull"/>
      <ref name="TEI_msDesc"/>
      <ref name="TEI_listRelation"/>
      <ref name="TEI_relationGrp"/>
    </choice>
  </define>
  <define name="TEI_model.biblLike_alternation">
    <choice>
      <ref name="TEI_bibl"/>
      <ref name="TEI_biblStruct"/>
      <ref name="TEI_biblFull"/>
      <ref name="TEI_msDesc"/>
      <ref name="TEI_listRelation"/>
      <ref name="TEI_relationGrp"/>
    </choice>
  </define>
  <define name="TEI_model.biblLike_sequence">
    <ref name="TEI_bibl"/>
    <ref name="TEI_biblStruct"/>
    <ref name="TEI_biblFull"/>
    <ref name="TEI_msDesc"/>
    <ref name="TEI_listRelation"/>
    <ref name="TEI_relationGrp"/>
  </define>
  <define name="TEI_model.biblLike_sequenceOptional">
    <optional>
      <ref name="TEI_bibl"/>
    </optional>
    <optional>
      <ref name="TEI_biblStruct"/>
    </optional>
    <optional>
      <ref name="TEI_biblFull"/>
    </optional>
    <optional>
      <ref name="TEI_msDesc"/>
    </optional>
    <optional>
      <ref name="TEI_listRelation"/>
    </optional>
    <optional>
      <ref name="TEI_relationGrp"/>
    </optional>
  </define>
  <define name="TEI_model.biblLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_bibl"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_biblStruct"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_biblFull"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_msDesc"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_listRelation"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_relationGrp"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.biblLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_bibl"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_biblStruct"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_biblFull"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_msDesc"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_listRelation"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_relationGrp"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.headLike">
    <choice>
      <ref name="TEI_head"/>
    </choice>
  </define>
  <define name="TEI_model.headLike_alternation">
    <choice>
      <ref name="TEI_head"/>
    </choice>
  </define>
  <define name="TEI_model.headLike_sequence">
    <ref name="TEI_head"/>
  </define>
  <define name="TEI_model.headLike_sequenceOptional">
    <optional>
      <ref name="TEI_head"/>
    </optional>
  </define>
  <define name="TEI_model.headLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_head"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.headLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_head"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.labelLike">
    <choice>
      <ref name="TEI_desc"/>
      <ref name="TEI_label"/>
    </choice>
  </define>
  <define name="TEI_model.labelLike_alternation">
    <choice>
      <ref name="TEI_desc"/>
      <ref name="TEI_label"/>
    </choice>
  </define>
  <define name="TEI_model.labelLike_sequence">
    <ref name="TEI_desc"/>
    <ref name="TEI_label"/>
  </define>
  <define name="TEI_model.labelLike_sequenceOptional">
    <optional>
      <ref name="TEI_desc"/>
    </optional>
    <optional>
      <ref name="TEI_label"/>
    </optional>
  </define>
  <define name="TEI_model.labelLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_desc"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_label"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.labelLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_desc"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_label"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.listLike">
    <choice>
      <ref name="TEI_list"/>
      <ref name="TEI_listBibl"/>
      <ref name="TEI_table"/>
      <ref name="TEI_listOrg"/>
      <ref name="TEI_listEvent"/>
      <ref name="TEI_listPerson"/>
      <ref name="TEI_listPlace"/>
      <ref name="TEI_listNym"/>
      <ref name="TEI_listApp"/>
      <ref name="TEI_listWit"/>
    </choice>
  </define>
  <define name="TEI_model.listLike_alternation">
    <choice>
      <ref name="TEI_list"/>
      <ref name="TEI_listBibl"/>
      <ref name="TEI_table"/>
      <ref name="TEI_listOrg"/>
      <ref name="TEI_listEvent"/>
      <ref name="TEI_listPerson"/>
      <ref name="TEI_listPlace"/>
      <ref name="TEI_listNym"/>
      <ref name="TEI_listApp"/>
      <ref name="TEI_listWit"/>
    </choice>
  </define>
  <define name="TEI_model.listLike_sequence">
    <ref name="TEI_list"/>
    <ref name="TEI_listBibl"/>
    <ref name="TEI_table"/>
    <ref name="TEI_listOrg"/>
    <ref name="TEI_listEvent"/>
    <ref name="TEI_listPerson"/>
    <ref name="TEI_listPlace"/>
    <ref name="TEI_listNym"/>
    <ref name="TEI_listApp"/>
    <ref name="TEI_listWit"/>
  </define>
  <define name="TEI_model.listLike_sequenceOptional">
    <optional>
      <ref name="TEI_list"/>
    </optional>
    <optional>
      <ref name="TEI_listBibl"/>
    </optional>
    <optional>
      <ref name="TEI_table"/>
    </optional>
    <optional>
      <ref name="TEI_listOrg"/>
    </optional>
    <optional>
      <ref name="TEI_listEvent"/>
    </optional>
    <optional>
      <ref name="TEI_listPerson"/>
    </optional>
    <optional>
      <ref name="TEI_listPlace"/>
    </optional>
    <optional>
      <ref name="TEI_listNym"/>
    </optional>
    <optional>
      <ref name="TEI_listApp"/>
    </optional>
    <optional>
      <ref name="TEI_listWit"/>
    </optional>
  </define>
  <define name="TEI_model.listLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_list"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_listBibl"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_table"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_listOrg"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_listEvent"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_listPerson"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_listPlace"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_listNym"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_listApp"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_listWit"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.listLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_list"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_listBibl"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_table"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_listOrg"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_listEvent"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_listPerson"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_listPlace"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_listNym"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_listApp"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_listWit"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.noteLike">
    <choice>
      <ref name="TEI_note"/>
      <ref name="TEI_witDetail"/>
    </choice>
  </define>
  <define name="TEI_model.lLike">
    <choice>
      <ref name="TEI_l"/>
    </choice>
  </define>
  <define name="TEI_model.lLike_alternation">
    <choice>
      <ref name="TEI_l"/>
    </choice>
  </define>
  <define name="TEI_model.lLike_sequence">
    <ref name="TEI_l"/>
  </define>
  <define name="TEI_model.lLike_sequenceOptional">
    <optional>
      <ref name="TEI_l"/>
    </optional>
  </define>
  <define name="TEI_model.lLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_l"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.lLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_l"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.pLike">
    <choice>
      <ref name="TEI_p"/>
      <ref name="TEI_ab"/>
    </choice>
  </define>
  <define name="TEI_model.pLike_alternation">
    <choice>
      <ref name="TEI_p"/>
      <ref name="TEI_ab"/>
    </choice>
  </define>
  <define name="TEI_model.pLike_sequence">
    <ref name="TEI_p"/>
    <ref name="TEI_ab"/>
  </define>
  <define name="TEI_model.pLike_sequenceOptional">
    <optional>
      <ref name="TEI_p"/>
    </optional>
    <optional>
      <ref name="TEI_ab"/>
    </optional>
  </define>
  <define name="TEI_model.pLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_p"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_ab"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.pLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_p"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_ab"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.stageLike">
    <choice>
      <ref name="TEI_stage"/>
      <ref name="TEI_move"/>
      <ref name="TEI_view"/>
      <ref name="TEI_camera"/>
      <ref name="TEI_sound"/>
      <ref name="TEI_caption"/>
      <ref name="TEI_tech"/>
    </choice>
  </define>
  <define name="TEI_model.stageLike_alternation">
    <choice>
      <ref name="TEI_stage"/>
      <ref name="TEI_move"/>
      <ref name="TEI_view"/>
      <ref name="TEI_camera"/>
      <ref name="TEI_sound"/>
      <ref name="TEI_caption"/>
      <ref name="TEI_tech"/>
    </choice>
  </define>
  <define name="TEI_model.stageLike_sequence">
    <ref name="TEI_stage"/>
    <ref name="TEI_move"/>
    <ref name="TEI_view"/>
    <ref name="TEI_camera"/>
    <ref name="TEI_sound"/>
    <ref name="TEI_caption"/>
    <ref name="TEI_tech"/>
  </define>
  <define name="TEI_model.stageLike_sequenceOptional">
    <optional>
      <ref name="TEI_stage"/>
    </optional>
    <optional>
      <ref name="TEI_move"/>
    </optional>
    <optional>
      <ref name="TEI_view"/>
    </optional>
    <optional>
      <ref name="TEI_camera"/>
    </optional>
    <optional>
      <ref name="TEI_sound"/>
    </optional>
    <optional>
      <ref name="TEI_caption"/>
    </optional>
    <optional>
      <ref name="TEI_tech"/>
    </optional>
  </define>
  <define name="TEI_model.stageLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_stage"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_move"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_view"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_camera"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_sound"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_caption"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_tech"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.stageLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_stage"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_move"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_view"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_camera"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_sound"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_caption"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_tech"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.featureVal.complex">
    <choice>
      <ref name="TEI_fs"/>
      <ref name="TEI_vColl"/>
      <ref name="TEI_vNot"/>
      <ref name="TEI_vMerge"/>
    </choice>
  </define>
  <define name="TEI_model.featureVal.single">
    <choice>
      <ref name="TEI_binary"/>
      <ref name="TEI_symbol"/>
      <ref name="TEI_numeric"/>
      <ref name="TEI_string"/>
      <ref name="TEI_vLabel"/>
      <ref name="TEI_default"/>
      <ref name="TEI_vAlt"/>
    </choice>
  </define>
  <define name="TEI_model.entryPart">
    <choice>
      <ref name="TEI_superEntry"/>
      <ref name="TEI_hom"/>
      <ref name="TEI_sense"/>
      <ref name="TEI_form"/>
      <ref name="TEI_orth"/>
      <ref name="TEI_pron"/>
      <ref name="TEI_hyph"/>
      <ref name="TEI_syll"/>
      <ref name="TEI_gramGrp"/>
      <ref name="TEI_pos"/>
      <ref name="TEI_subc"/>
      <ref name="TEI_colloc"/>
      <ref name="TEI_def"/>
      <ref name="TEI_etym"/>
      <ref name="TEI_usg"/>
      <ref name="TEI_lbl"/>
      <ref name="TEI_xr"/>
      <ref name="TEI_re"/>
    </choice>
  </define>
  <define name="TEI_model.entryPart.top">
    <choice>
      <ref name="TEI_cit"/>
      <ref name="TEI_dictScrap"/>
      <ref name="TEI_form"/>
      <ref name="TEI_gramGrp"/>
      <ref name="TEI_def"/>
      <ref name="TEI_etym"/>
      <ref name="TEI_usg"/>
      <ref name="TEI_xr"/>
      <ref name="TEI_re"/>
    </choice>
  </define>
  <define name="TEI_model.global.edit">
    <choice>
      <ref name="TEI_gap"/>
      <ref name="TEI_addSpan"/>
      <ref name="TEI_damageSpan"/>
      <ref name="TEI_delSpan"/>
      <ref name="TEI_space"/>
    </choice>
  </define>
  <define name="TEI_model.divPart">
    <choice>
      <ref name="TEI_model.lLike"/>
      <ref name="TEI_model.pLike"/>
      <ref name="TEI_lg"/>
      <ref name="TEI_sp"/>
      <ref name="TEI_spGrp"/>
      <ref name="TEI_graph"/>
      <ref name="TEI_tree"/>
      <ref name="TEI_eTree"/>
      <ref name="TEI_forest"/>
      <ref name="TEI_listForest"/>
      <ref name="TEI_model.divPart.spoken"/>
      <ref name="TEI_schemaSpec"/>
    </choice>
  </define>
  <define name="TEI_model.persStateLike">
    <choice>
      <ref name="TEI_persName"/>
      <ref name="TEI_affiliation"/>
      <ref name="TEI_age"/>
      <ref name="TEI_education"/>
      <ref name="TEI_faith"/>
      <ref name="TEI_floruit"/>
      <ref name="TEI_langKnowledge"/>
      <ref name="TEI_nationality"/>
      <ref name="TEI_occupation"/>
      <ref name="TEI_residence"/>
      <ref name="TEI_sex"/>
      <ref name="TEI_socecStatus"/>
      <ref name="TEI_state"/>
      <ref name="TEI_trait"/>
    </choice>
  </define>
  <define name="TEI_model.persEventLike">
    <choice>
      <ref name="TEI_birth"/>
      <ref name="TEI_death"/>
      <ref name="TEI_event"/>
      <ref name="TEI_listEvent"/>
    </choice>
  </define>
  <define name="TEI_model.personLike">
    <choice>
      <ref name="TEI_org"/>
      <ref name="TEI_person"/>
      <ref name="TEI_personGrp"/>
    </choice>
  </define>
  <define name="TEI_model.personPart">
    <choice>
      <ref name="TEI_model.persStateLike"/>
      <ref name="TEI_model.persEventLike"/>
      <ref name="TEI_bibl"/>
      <ref name="TEI_idno"/>
    </choice>
  </define>
  <define name="TEI_model.placeNamePart">
    <choice>
      <ref name="TEI_placeName"/>
      <ref name="TEI_bloc"/>
      <ref name="TEI_country"/>
      <ref name="TEI_region"/>
      <ref name="TEI_district"/>
      <ref name="TEI_settlement"/>
      <ref name="TEI_geogName"/>
    </choice>
  </define>
  <define name="TEI_model.placeNamePart_alternation">
    <choice>
      <ref name="TEI_placeName"/>
      <ref name="TEI_bloc"/>
      <ref name="TEI_country"/>
      <ref name="TEI_region"/>
      <ref name="TEI_district"/>
      <ref name="TEI_settlement"/>
      <ref name="TEI_geogName"/>
    </choice>
  </define>
  <define name="TEI_model.placeNamePart_sequence">
    <ref name="TEI_placeName"/>
    <ref name="TEI_bloc"/>
    <ref name="TEI_country"/>
    <ref name="TEI_region"/>
    <ref name="TEI_district"/>
    <ref name="TEI_settlement"/>
    <ref name="TEI_geogName"/>
  </define>
  <define name="TEI_model.placeNamePart_sequenceOptional">
    <optional>
      <ref name="TEI_placeName"/>
    </optional>
    <optional>
      <ref name="TEI_bloc"/>
    </optional>
    <optional>
      <ref name="TEI_country"/>
    </optional>
    <optional>
      <ref name="TEI_region"/>
    </optional>
    <optional>
      <ref name="TEI_district"/>
    </optional>
    <optional>
      <ref name="TEI_settlement"/>
    </optional>
    <optional>
      <ref name="TEI_geogName"/>
    </optional>
  </define>
  <define name="TEI_model.placeNamePart_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_placeName"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_bloc"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_country"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_region"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_district"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_settlement"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_geogName"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.placeNamePart_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_placeName"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_bloc"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_country"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_region"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_district"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_settlement"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_geogName"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.placeStateLike">
    <choice>
      <ref name="TEI_model.placeNamePart"/>
      <ref name="TEI_climate"/>
      <ref name="TEI_location"/>
      <ref name="TEI_population"/>
      <ref name="TEI_state"/>
      <ref name="TEI_terrain"/>
      <ref name="TEI_trait"/>
    </choice>
  </define>
  <define name="TEI_model.placeStateLike_alternation">
    <choice>
      <ref name="TEI_model.placeNamePart_alternation"/>
      <ref name="TEI_climate"/>
      <ref name="TEI_location"/>
      <ref name="TEI_population"/>
      <ref name="TEI_state"/>
      <ref name="TEI_terrain"/>
      <ref name="TEI_trait"/>
    </choice>
  </define>
  <define name="TEI_model.placeStateLike_sequence">
    <ref name="TEI_model.placeNamePart_sequence"/>
    <ref name="TEI_climate"/>
    <ref name="TEI_location"/>
    <ref name="TEI_population"/>
    <ref name="TEI_state"/>
    <ref name="TEI_terrain"/>
    <ref name="TEI_trait"/>
  </define>
  <define name="TEI_model.placeStateLike_sequenceOptional">
    <optional>
      <ref name="TEI_model.placeNamePart_sequenceOptional"/>
    </optional>
    <optional>
      <ref name="TEI_climate"/>
    </optional>
    <optional>
      <ref name="TEI_location"/>
    </optional>
    <optional>
      <ref name="TEI_population"/>
    </optional>
    <optional>
      <ref name="TEI_state"/>
    </optional>
    <optional>
      <ref name="TEI_terrain"/>
    </optional>
    <optional>
      <ref name="TEI_trait"/>
    </optional>
  </define>
  <define name="TEI_model.placeStateLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_model.placeNamePart_sequenceOptionalRepeatable"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_climate"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_location"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_population"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_state"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_terrain"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_trait"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.placeStateLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_model.placeNamePart_sequenceRepeatable"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_climate"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_location"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_population"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_state"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_terrain"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_trait"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.placeEventLike">
    <choice>
      <ref name="TEI_event"/>
    </choice>
  </define>
  <define name="TEI_model.orgPart">
    <choice>
      <ref name="TEI_listOrg"/>
      <ref name="TEI_listPerson"/>
      <ref name="TEI_listPlace"/>
    </choice>
  </define>
  <define name="TEI_model.publicationStmtPart">
    <choice>
      <ref name="TEI_address"/>
      <ref name="TEI_date"/>
      <ref name="TEI_publisher"/>
      <ref name="TEI_pubPlace"/>
      <ref name="TEI_distributor"/>
      <ref name="TEI_authority"/>
      <ref name="TEI_idno"/>
      <ref name="TEI_availability"/>
    </choice>
  </define>
  <define name="TEI_model.availabilityPart">
    <choice>
      <ref name="TEI_licence"/>
    </choice>
  </define>
  <define name="TEI_model.certLike">
    <choice>
      <ref name="TEI_precision"/>
      <ref name="TEI_certainty"/>
      <ref name="TEI_respons"/>
    </choice>
  </define>
  <define name="TEI_model.descLike">
    <choice>
      <ref name="TEI_desc"/>
    </choice>
  </define>
  <define name="TEI_model.glossLike">
    <choice>
      <ref name="TEI_gloss"/>
      <ref name="TEI_equiv"/>
      <ref name="TEI_altIdent"/>
    </choice>
  </define>
  <define name="TEI_model.quoteLike">
    <choice>
      <ref name="TEI_quote"/>
      <ref name="TEI_cit"/>
    </choice>
  </define>
  <define name="TEI_model.quoteLike_alternation">
    <choice>
      <ref name="TEI_quote"/>
      <ref name="TEI_cit"/>
    </choice>
  </define>
  <define name="TEI_model.quoteLike_sequence">
    <ref name="TEI_quote"/>
    <ref name="TEI_cit"/>
  </define>
  <define name="TEI_model.quoteLike_sequenceOptional">
    <optional>
      <ref name="TEI_quote"/>
    </optional>
    <optional>
      <ref name="TEI_cit"/>
    </optional>
  </define>
  <define name="TEI_model.quoteLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_quote"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_cit"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.quoteLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_quote"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_cit"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.qLike">
    <choice>
      <ref name="TEI_model.quoteLike"/>
      <ref name="TEI_said"/>
      <ref name="TEI_q"/>
      <ref name="TEI_floatingText"/>
    </choice>
  </define>
  <define name="TEI_model.qLike_alternation">
    <choice>
      <ref name="TEI_model.quoteLike_alternation"/>
      <ref name="TEI_said"/>
      <ref name="TEI_q"/>
      <ref name="TEI_floatingText"/>
    </choice>
  </define>
  <define name="TEI_model.qLike_sequence">
    <ref name="TEI_model.quoteLike_sequence"/>
    <ref name="TEI_said"/>
    <ref name="TEI_q"/>
    <ref name="TEI_floatingText"/>
  </define>
  <define name="TEI_model.qLike_sequenceOptional">
    <optional>
      <ref name="TEI_model.quoteLike_sequenceOptional"/>
    </optional>
    <optional>
      <ref name="TEI_said"/>
    </optional>
    <optional>
      <ref name="TEI_q"/>
    </optional>
    <optional>
      <ref name="TEI_floatingText"/>
    </optional>
  </define>
  <define name="TEI_model.qLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_model.quoteLike_sequenceOptionalRepeatable"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_said"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_q"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_floatingText"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.qLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_model.quoteLike_sequenceRepeatable"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_said"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_q"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_floatingText"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.respLike">
    <choice>
      <ref name="TEI_author"/>
      <ref name="TEI_editor"/>
      <ref name="TEI_respStmt"/>
      <ref name="TEI_meeting"/>
      <ref name="TEI_sponsor"/>
      <ref name="TEI_funder"/>
      <ref name="TEI_principal"/>
    </choice>
  </define>
  <define name="TEI_model.divWrapper">
    <choice>
      <ref name="TEI_meeting"/>
      <ref name="TEI_byline"/>
      <ref name="TEI_dateline"/>
      <ref name="TEI_argument"/>
      <ref name="TEI_epigraph"/>
      <ref name="TEI_salute"/>
      <ref name="TEI_docAuthor"/>
      <ref name="TEI_docDate"/>
    </choice>
  </define>
  <define name="TEI_model.divTopPart">
    <choice>
      <ref name="TEI_model.headLike"/>
      <ref name="TEI_opener"/>
    </choice>
  </define>
  <define name="TEI_model.divTop">
    <choice>
      <ref name="TEI_model.divWrapper"/>
      <ref name="TEI_model.divTopPart"/>
    </choice>
  </define>
  <define name="TEI_model.frontPart.drama">
    <choice>
      <ref name="TEI_set"/>
      <ref name="TEI_prologue"/>
      <ref name="TEI_epilogue"/>
      <ref name="TEI_performance"/>
      <ref name="TEI_castList"/>
    </choice>
  </define>
  <define name="TEI_model.pLike.front">
    <choice>
      <ref name="TEI_head"/>
      <ref name="TEI_byline"/>
      <ref name="TEI_argument"/>
      <ref name="TEI_epigraph"/>
      <ref name="TEI_docTitle"/>
      <ref name="TEI_titlePart"/>
      <ref name="TEI_docAuthor"/>
      <ref name="TEI_docEdition"/>
      <ref name="TEI_docImprint"/>
      <ref name="TEI_docDate"/>
    </choice>
  </define>
  <define name="TEI_model.divBottomPart">
    <choice>
      <ref name="TEI_trailer"/>
      <ref name="TEI_closer"/>
      <ref name="TEI_signed"/>
      <ref name="TEI_postscript"/>
    </choice>
  </define>
  <define name="TEI_model.divBottom">
    <choice>
      <ref name="TEI_model.divWrapper"/>
      <ref name="TEI_model.divBottomPart"/>
    </choice>
  </define>
  <define name="TEI_model.titlepagePart">
    <choice>
      <ref name="TEI_graphic"/>
      <ref name="TEI_binaryObject"/>
      <ref name="TEI_byline"/>
      <ref name="TEI_argument"/>
      <ref name="TEI_epigraph"/>
      <ref name="TEI_docTitle"/>
      <ref name="TEI_titlePart"/>
      <ref name="TEI_docAuthor"/>
      <ref name="TEI_imprimatur"/>
      <ref name="TEI_docEdition"/>
      <ref name="TEI_docImprint"/>
      <ref name="TEI_docDate"/>
    </choice>
  </define>
  <define name="TEI_model.msQuoteLike">
    <choice>
      <ref name="TEI_title"/>
      <ref name="TEI_colophon"/>
      <ref name="TEI_explicit"/>
      <ref name="TEI_finalRubric"/>
      <ref name="TEI_incipit"/>
      <ref name="TEI_rubric"/>
    </choice>
  </define>
  <define name="TEI_model.msItemPart">
    <choice>
      <ref name="TEI_model.quoteLike"/>
      <ref name="TEI_model.respLike"/>
      <ref name="TEI_model.msQuoteLike"/>
      <ref name="TEI_bibl"/>
      <ref name="TEI_biblStruct"/>
      <ref name="TEI_listBibl"/>
      <ref name="TEI_textLang"/>
      <ref name="TEI_filiation"/>
      <ref name="TEI_msItem"/>
      <ref name="TEI_msItemStruct"/>
      <ref name="TEI_decoNote"/>
    </choice>
  </define>
  <define name="TEI_model.choicePart">
    <choice>
      <ref name="TEI_sic"/>
      <ref name="TEI_corr"/>
      <ref name="TEI_reg"/>
      <ref name="TEI_orig"/>
      <ref name="TEI_unclear"/>
      <ref name="TEI_abbr"/>
      <ref name="TEI_expan"/>
      <ref name="TEI_seg"/>
      <ref name="TEI_ex"/>
      <ref name="TEI_am"/>
    </choice>
  </define>
  <define name="TEI_model.imprintPart">
    <choice>
      <ref name="TEI_publisher"/>
      <ref name="TEI_biblScope"/>
      <ref name="TEI_pubPlace"/>
      <ref name="TEI_distributor"/>
    </choice>
  </define>
  <define name="TEI_model.catDescPart">
    <choice>
      <ref name="TEI_textDesc"/>
    </choice>
  </define>
  <define name="TEI_model.settingPart">
    <choice>
      <ref name="TEI_locale"/>
      <ref name="TEI_activity"/>
    </choice>
  </define>
  <define name="TEI_model.textDescPart_sequence">
    <ref name="TEI_channel"/>
    <ref name="TEI_constitution"/>
    <ref name="TEI_derivation"/>
    <ref name="TEI_domain"/>
    <ref name="TEI_factuality"/>
    <ref name="TEI_interaction"/>
    <ref name="TEI_preparedness"/>
  </define>
  <define name="TEI_model.castItemPart">
    <choice>
      <ref name="TEI_role"/>
      <ref name="TEI_roleDesc"/>
      <ref name="TEI_actor"/>
    </choice>
  </define>
  <define name="TEI_model.physDescPart_sequenceOptional">
    <optional>
      <ref name="TEI_objectDesc"/>
    </optional>
    <optional>
      <ref name="TEI_handDesc"/>
    </optional>
    <optional>
      <ref name="TEI_typeDesc"/>
    </optional>
    <optional>
      <ref name="TEI_scriptDesc"/>
    </optional>
    <optional>
      <ref name="TEI_musicNotation"/>
    </optional>
    <optional>
      <ref name="TEI_decoDesc"/>
    </optional>
    <optional>
      <ref name="TEI_additions"/>
    </optional>
    <optional>
      <ref name="TEI_bindingDesc"/>
    </optional>
    <optional>
      <ref name="TEI_sealDesc"/>
    </optional>
    <optional>
      <ref name="TEI_accMat"/>
    </optional>
  </define>
  <define name="TEI_model.addressLike">
    <choice>
      <ref name="TEI_email"/>
      <ref name="TEI_address"/>
      <ref name="TEI_affiliation"/>
    </choice>
  </define>
  <define name="TEI_model.addressLike_alternation">
    <choice>
      <ref name="TEI_email"/>
      <ref name="TEI_address"/>
      <ref name="TEI_affiliation"/>
    </choice>
  </define>
  <define name="TEI_model.addressLike_sequence">
    <ref name="TEI_email"/>
    <ref name="TEI_address"/>
    <ref name="TEI_affiliation"/>
  </define>
  <define name="TEI_model.addressLike_sequenceOptional">
    <optional>
      <ref name="TEI_email"/>
    </optional>
    <optional>
      <ref name="TEI_address"/>
    </optional>
    <optional>
      <ref name="TEI_affiliation"/>
    </optional>
  </define>
  <define name="TEI_model.addressLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_email"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_address"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_affiliation"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.addressLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_email"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_address"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_affiliation"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.nameLike">
    <choice>
      <ref name="TEI_model.nameLike.agent"/>
      <ref name="TEI_model.offsetLike"/>
      <ref name="TEI_model.placeStateLike"/>
      <ref name="TEI_rs"/>
      <ref name="TEI_lang"/>
      <ref name="TEI_idno"/>
      <ref name="TEI_model.persNamePart"/>
    </choice>
  </define>
  <define name="TEI_model.nameLike_alternation">
    <choice>
      <ref name="TEI_model.nameLike.agent_alternation"/>
      <ref name="TEI_model.offsetLike_alternation"/>
      <ref name="TEI_model.placeStateLike_alternation"/>
      <ref name="TEI_rs"/>
      <ref name="TEI_lang"/>
      <ref name="TEI_idno"/>
      <ref name="TEI_model.persNamePart_alternation"/>
    </choice>
  </define>
  <define name="TEI_model.nameLike_sequence">
    <ref name="TEI_model.nameLike.agent_sequence"/>
    <ref name="TEI_model.offsetLike_sequence"/>
    <ref name="TEI_model.placeStateLike_sequence"/>
    <ref name="TEI_rs"/>
    <ref name="TEI_lang"/>
    <ref name="TEI_idno"/>
    <ref name="TEI_model.persNamePart_sequence"/>
  </define>
  <define name="TEI_model.nameLike_sequenceOptional">
    <optional>
      <ref name="TEI_model.nameLike.agent_sequenceOptional"/>
    </optional>
    <optional>
      <ref name="TEI_model.offsetLike_sequenceOptional"/>
    </optional>
    <optional>
      <ref name="TEI_model.placeStateLike_sequenceOptional"/>
    </optional>
    <optional>
      <ref name="TEI_rs"/>
    </optional>
    <optional>
      <ref name="TEI_lang"/>
    </optional>
    <optional>
      <ref name="TEI_idno"/>
    </optional>
    <optional>
      <ref name="TEI_model.persNamePart_sequenceOptional"/>
    </optional>
  </define>
  <define name="TEI_model.nameLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_model.nameLike.agent_sequenceOptionalRepeatable"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_model.offsetLike_sequenceOptionalRepeatable"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_model.placeStateLike_sequenceOptionalRepeatable"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_rs"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_lang"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_idno"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_model.persNamePart_sequenceOptionalRepeatable"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.nameLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_model.nameLike.agent_sequenceRepeatable"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_model.offsetLike_sequenceRepeatable"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_model.placeStateLike_sequenceRepeatable"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_rs"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_lang"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_idno"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_model.persNamePart_sequenceRepeatable"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.global">
    <choice>
      <ref name="TEI_model.global.meta"/>
      <ref name="TEI_model.milestoneLike"/>
      <ref name="TEI_model.noteLike"/>
      <ref name="TEI_model.global.edit"/>
      <ref name="TEI_notatedMusic"/>
      <ref name="TEI_figure"/>
      <ref name="TEI_model.global.spoken"/>
      <ref name="TEI_metamark"/>
    </choice>
  </define>
  <define name="TEI_model.featureVal">
    <choice>
      <ref name="TEI_model.featureVal.complex"/>
      <ref name="TEI_model.featureVal.single"/>
    </choice>
  </define>
  <define name="TEI_model.biblPart">
    <choice>
      <ref name="TEI_model.respLike"/>
      <ref name="TEI_model.imprintPart"/>
      <ref name="TEI_series"/>
      <ref name="TEI_citedRange"/>
      <ref name="TEI_bibl"/>
      <ref name="TEI_relatedItem"/>
      <ref name="TEI_textLang"/>
      <ref name="TEI_edition"/>
      <ref name="TEI_extent"/>
      <ref name="TEI_msIdentifier"/>
    </choice>
  </define>
  <define name="TEI_model.frontPart">
    <choice>
      <ref name="TEI_model.frontPart.drama"/>
      <ref name="TEI_divGen"/>
      <ref name="TEI_titlePage"/>
    </choice>
  </define>
  <define name="TEI_model.addrPart">
    <choice>
      <ref name="TEI_model.nameLike"/>
      <ref name="TEI_addrLine"/>
      <ref name="TEI_street"/>
      <ref name="TEI_postCode"/>
      <ref name="TEI_postBox"/>
    </choice>
  </define>
  <define name="TEI_model.pPart.data">
    <choice>
      <ref name="TEI_model.dateLike"/>
      <ref name="TEI_model.measureLike"/>
      <ref name="TEI_model.addressLike"/>
      <ref name="TEI_model.nameLike"/>
    </choice>
  </define>
  <define name="TEI_model.inter">
    <choice>
      <ref name="TEI_model.egLike"/>
      <ref name="TEI_model.oddDecl"/>
      <ref name="TEI_model.biblLike"/>
      <ref name="TEI_model.labelLike"/>
      <ref name="TEI_model.listLike"/>
      <ref name="TEI_model.stageLike"/>
      <ref name="TEI_model.qLike"/>
      <ref name="TEI_castList"/>
    </choice>
  </define>
  <define name="TEI_model.common">
    <choice>
      <ref name="TEI_model.divPart"/>
      <ref name="TEI_model.inter"/>
      <ref name="TEI_model.entryLike"/>
    </choice>
  </define>
  <define name="TEI_model.phrase">
    <choice>
      <ref name="TEI_model.segLike"/>
      <ref name="TEI_model.highlighted"/>
      <ref name="TEI_model.graphicLike"/>
      <ref name="TEI_model.pPart.msdesc"/>
      <ref name="TEI_model.pPart.edit"/>
      <ref name="TEI_model.ptrLike"/>
      <ref name="TEI_model.lPart"/>
      <ref name="TEI_model.phrase.xml"/>
      <ref name="TEI_model.specDescLike"/>
      <ref name="TEI_model.pPart.data"/>
      <ref name="TEI_model.ptrLike.form"/>
    </choice>
  </define>
  <define name="TEI_model.limitedPhrase">
    <choice>
      <ref name="TEI_model.hiLike"/>
      <ref name="TEI_model.emphLike"/>
      <ref name="TEI_model.pPart.msdesc"/>
      <ref name="TEI_model.pPart.editorial"/>
      <ref name="TEI_model.ptrLike"/>
      <ref name="TEI_model.phrase.xml"/>
      <ref name="TEI_model.pPart.data"/>
    </choice>
  </define>
  <define name="TEI_model.divLike">
    <choice>
      <ref name="TEI_div"/>
    </choice>
  </define>
  <define name="TEI_model.divGenLike">
    <choice>
      <ref name="TEI_divGen"/>
    </choice>
  </define>
  <define name="TEI_model.div1Like">
    <choice>
      <ref name="TEI_div1"/>
    </choice>
  </define>
  <define name="TEI_model.div2Like">
    <choice>
      <ref name="TEI_div2"/>
    </choice>
  </define>
  <define name="TEI_model.div3Like">
    <choice>
      <ref name="TEI_div3"/>
    </choice>
  </define>
  <define name="TEI_model.div4Like">
    <choice>
      <ref name="TEI_div4"/>
    </choice>
  </define>
  <define name="TEI_model.div5Like">
    <choice>
      <ref name="TEI_div5"/>
    </choice>
  </define>
  <define name="TEI_model.div6Like">
    <choice>
      <ref name="TEI_div6"/>
    </choice>
  </define>
  <define name="TEI_model.div7Like">
    <choice>
      <ref name="TEI_div7"/>
    </choice>
  </define>
  <define name="TEI_model.applicationLike">
    <choice>
      <ref name="TEI_application"/>
    </choice>
  </define>
  <define name="TEI_model.teiHeaderPart">
    <choice>
      <ref name="TEI_encodingDesc"/>
      <ref name="TEI_profileDesc"/>
    </choice>
  </define>
  <define name="TEI_model.sourceDescPart">
    <choice>
      <ref name="TEI_scriptStmt"/>
      <ref name="TEI_recordingStmt"/>
    </choice>
  </define>
  <define name="TEI_model.encodingDescPart">
    <choice>
      <ref name="TEI_charDecl"/>
      <ref name="TEI_projectDesc"/>
      <ref name="TEI_samplingDecl"/>
      <ref name="TEI_editorialDecl"/>
      <ref name="TEI_tagsDecl"/>
      <ref name="TEI_styleDefDecl"/>
      <ref name="TEI_refsDecl"/>
      <ref name="TEI_listPrefixDef"/>
      <ref name="TEI_classDecl"/>
      <ref name="TEI_geoDecl"/>
      <ref name="TEI_appInfo"/>
      <ref name="TEI_fsdDecl"/>
      <ref name="TEI_schemaSpec"/>
      <ref name="TEI_variantEncoding"/>
      <ref name="TEI_metDecl"/>
    </choice>
  </define>
  <define name="TEI_model.editorialDeclPart">
    <choice>
      <ref name="TEI_correction"/>
      <ref name="TEI_normalization"/>
      <ref name="TEI_quotation"/>
      <ref name="TEI_hyphenation"/>
      <ref name="TEI_segmentation"/>
      <ref name="TEI_stdVals"/>
      <ref name="TEI_interpretation"/>
    </choice>
  </define>
  <define name="TEI_model.profileDescPart">
    <choice>
      <ref name="TEI_textDesc"/>
      <ref name="TEI_particDesc"/>
      <ref name="TEI_settingDesc"/>
      <ref name="TEI_creation"/>
      <ref name="TEI_langUsage"/>
      <ref name="TEI_textClass"/>
      <ref name="TEI_calendarDesc"/>
      <ref name="TEI_handNotes"/>
      <ref name="TEI_listTranspose"/>
    </choice>
  </define>
  <define name="TEI_att.source.attributes">
    <ref name="TEI_att.source.attribute.source"/>
  </define>
  <define name="TEI_att.source.attribute.source">
    <optional>
      <attribute name="source">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (pointer to a bibliographical source reference) provides a pointer to the bibliographical source from which a quotation or citation is drawn.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_model.resourceLike">
    <choice>
      <ref name="TEI_fsdDecl"/>
      <ref name="TEI_facsimile"/>
      <ref name="TEI_sourceDoc"/>
    </choice>
  </define>
  <define name="TEI_att.personal.attributes">
    <ref name="TEI_att.naming.attributes"/>
    <ref name="TEI_att.personal.attribute.full"/>
    <ref name="TEI_att.personal.attribute.sort"/>
  </define>
  <define name="TEI_att.personal.attribute.full">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="full" a:defaultValue="yes">
        <a:documentation>indicates whether the name component is given in full, as an
abbreviation or simply as an initial.</a:documentation>
        <choice>
          <value>yes</value>
          <a:documentation>the name component is spelled out in full.</a:documentation>
          <value>abb</value>
          <a:documentation>(abbreviated) the name component is given in an abbreviated form.</a:documentation>
          <value>init</value>
          <a:documentation>(initial letter) the name component is indicated only by
one initial.</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.personal.attribute.sort">
    <optional>
      <attribute name="sort">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sort order of the name component in relation
to others within the name.</a:documentation>
        <ref name="TEI_data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_model.placeLike">
    <choice>
      <ref name="TEI_place"/>
    </choice>
  </define>
  <define name="TEI_att.milestoneUnit.attributes">
    <ref name="TEI_att.milestoneUnit.attribute.unit"/>
  </define>
  <define name="TEI_att.milestoneUnit.attribute.unit">
    <attribute name="unit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a conventional name for the kind of section changing at this milestone.
Suggested values include: 1] page; 2] column; 3] line; 4] book; 5] poem; 6] canto; 7] speaker; 8] stanza; 9] act; 10] scene; 11] section; 12] absent; 13] unnumbered</a:documentation>
      <choice>
        <value>page</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">physical page breaks (synonymous with the pb element).</a:documentation>
        <value>column</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">column breaks.</a:documentation>
        <value>line</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">line breaks (synonymous with the lb element).</a:documentation>
        <value>book</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">any units termed book, liber, etc.</a:documentation>
        <value>poem</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">individual poems in a collection.</a:documentation>
        <value>canto</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">cantos or other major sections of a poem.</a:documentation>
        <value>speaker</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">changes of speaker or narrator.</a:documentation>
        <value>stanza</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">stanzas within a poem, book, or canto.</a:documentation>
        <value>act</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">acts within a play.</a:documentation>
        <value>scene</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">scenes within a play or act.</a:documentation>
        <value>section</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">sections of any kind.</a:documentation>
        <value>absent</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">passages not present in the reference edition.</a:documentation>
        <value>unnumbered</value>
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">passages present in the text, but not to be included as part of the reference.</a:documentation>
        <data type="Name"/>
      </choice>
    </attribute>
  </define>
  <define name="TEI_p">
    <element name="p">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(paragraph) marks paragraphs in prose. [3.1.  7.2.5. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.fragmentable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_foreign">
    <element name="foreign">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(foreign) identifies a word or phrase as belonging to some language other than that of the
                surrounding text.  [3.3.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_emph">
    <element name="emph">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(emphasized) marks words or phrases which are stressed or emphasized for
        linguistic or rhetorical effect. [3.3.2.2.  3.3.2. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_hi">
    <element name="hi">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(highlighted) marks a word or phrase as graphically distinct from the
        surrounding text, for reasons concerning which no claim is
        made.  [3.3.2.2.  3.3.2. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_distinct">
    <element name="distinct">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies any word or phrase which is regarded as linguistically distinct, for example as
        archaic, technical, dialectal, non-preferred, etc., or as forming part of a sublanguage.  [3.3.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sublanguage or register to which the word or phrase is being
                assigned</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="time">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies how the phrase is distinct diachronically</a:documentation>
          <ref name="TEI_data.text"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="space">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies how the phrase is distinct diatopically</a:documentation>
          <ref name="TEI_data.text"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="social">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies how the phrase is distinct diastatically</a:documentation>
          <ref name="TEI_data.text"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_said">
    <element name="said">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(speech or thought) indicates passages thought or spoken aloud, whether explicitly indicated in the source or
    not, whether directly or indirectly reported, whether by real people or fictional characters. [3.3.3. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="aloud" a:defaultValue="unknown">
          <a:documentation>may be used to indicate whether the quoted matter is regarded as having been vocalized
        or signed.</a:documentation>
          <ref name="TEI_data.xTruthValue"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="direct" a:defaultValue="true">
          <a:documentation>may be used to indicate whether the quoted matter is regarded as direct or indirect
        speech.</a:documentation>
          <ref name="TEI_data.xTruthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_quote">
    <element name="quote">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(quotation) contains a phrase or passage attributed by the narrator or author to some agency external
        to the text. [3.3.3.  4.3.1. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.msExcerpt.attributes"/>
      <ref name="TEI_att.source.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_q">
    <element name="q">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(quoted) contains material which is distinguished from the
    surrounding text using quotation marks or a similar method, for any one of a variety of reasons including, but not limited to: direct
    speech or thought, technical terms or jargon, authorial distance, quotations from elsewhere, and
    passages that are mentioned but not used. [3.3.3. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <ref name="TEI_att.source.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">may be used to indicate whether the offset passage is spoken or thought, or to
        characterize it more finely.
Suggested values include: 1] spoken; 2] thought; 3] written; 4] soCalled; 5] foreign(foreign words) ; 6] distinct(linguistically distinct) ; 7] term(technical term) ; 8] emph(rhetorically emphasized) ; 9] mentioned</a:documentation>
          <choice>
            <value>spoken</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">representation of speech</a:documentation>
            <value>thought</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">representation of thought, e.g. internal monologue</a:documentation>
            <value>written</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">quotation from a written source</a:documentation>
            <value>soCalled</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">authorial distance</a:documentation>
            <value>foreign</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(foreign words) </a:documentation>
            <value>distinct</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(linguistically distinct) </a:documentation>
            <value>term</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(technical term) </a:documentation>
            <value>emph</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rhetorically emphasized) </a:documentation>
            <value>mentioned</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">refering to itself, not its normal referant</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_cit">
    <element name="cit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cited quotation) contains a quotation from some other document, together with a bibliographic reference to
    its source. In a dictionary it may contain an example text with at least one occurrence of the
    word form, used in the sense being described, or a translation of the headword, or an example.  [3.3.3.  4.3.1.  9.3.5.1. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_model.qLike"/>
          <ref name="TEI_model.egLike"/>
          <ref name="TEI_model.biblLike"/>
          <ref name="TEI_model.ptrLike"/>
          <ref name="TEI_model.global"/>
          <ref name="TEI_model.entryPart"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_mentioned">
    <element name="mentioned">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks words or phrases mentioned, not used. [3.3.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_soCalled">
    <element name="soCalled">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase for which the author or narrator indicates a disclaiming of
    responsibility, for example by the use of scare quotes or italics. [3.3.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_desc">
    <element name="desc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(description) contains a brief description of the object documented by its parent element, including its
    intended usage, purpose, or application where this is appropriate. [22.4.4.  22.4.5.  22.4.6.  22.4.7. ]</a:documentation>
      <ref name="TEI_macro.limitedContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.translatable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_gloss">
    <element name="gloss">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies a phrase or word used to provide a gloss or definition for some other word or
    phrase. [3.3.4. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.translatable.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.cReferencing.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_term">
    <element name="term">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a single-word, multi-word, or symbolic designation which is regarded as a technical
    term. [3.3.4. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.canonical.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <ref name="TEI_att.cReferencing.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_sic">
    <element name="sic">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Latin for thus or so) contains text reproduced although apparently incorrect or inaccurate. [3.4.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.responsibility.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_corr">
    <element name="corr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(correction) contains the correct form of a passage apparently erroneous in the copy text. [3.4.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_choice">
    <element name="choice">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups a number of alternative encodings for the same point in
        a text. [3.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.choicePart"/>
          <ref name="TEI_choice"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_reg">
    <element name="reg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(regularization) contains a reading which has been regularized or normalized in some sense. [3.4.2.  12. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_orig">
    <element name="orig">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(original form) contains a reading which is marked as following the original, rather than being normalized
        or corrected. [3.4.2.  12. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.responsibility.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_gap">
    <element name="gap">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(gap) indicates a point where material has been omitted in a transcription, whether for editorial
    reasons described in the TEI header, as part of sampling practice, or because the material is
    illegible, invisible, or inaudible. [3.4.3. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.descLike"/>
          <ref name="TEI_model.certLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.duration.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <optional>
        <attribute name="reason">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the reason for omission. Sample values include sampling,
        inaudible, irrelevant, cancelled.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="hand">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in the case of text omitted from the transcription because of deliberate deletion by an
        identifiable hand, signifies the hand which made the deletion.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="agent">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">In the case of text omitted because of damage, categorizes the cause of the damage, if
        it can be identified.
Sample values include: 1] rubbing; 2] mildew; 3] smoke</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_add">
    <element name="add">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(addition) contains letters, words, or phrases inserted in the text by an
        author, scribe, annotator, or corrector. [3.4.3. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <ref name="TEI_att.placement.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_del">
    <element name="del">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(deletion) contains a letter, word, or passage deleted, marked as deleted, or otherwise indicated as
    superfluous or spurious in the copy text by an author, scribe, annotator, or corrector. [3.4.3. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_unclear">
    <element name="unclear">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word, phrase, or passage which cannot be transcribed with certainty because it
        is illegible or inaudible in the source. [11.3.3.1.  3.4.3. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <optional>
        <attribute name="reason">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates why the material is hard to transcribe.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="hand">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the difficulty in transcription arises from action (partial deletion, etc.)
                assignable to an identifiable hand, signifies the hand responsible for the action.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="agent">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Where the difficulty in transcription arises from damage, categorizes the cause of
                the damage, if it can be identified.
Sample values include: 1] rubbing; 2] mildew; 3] smoke</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_name">
    <element name="name">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(name, proper noun) contains a proper noun or noun phrase. [3.5.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.personal.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_rs">
    <element name="rs">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(referencing string) contains a general purpose name or referring string. [13.2.1.  3.5.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_email">
    <element name="email">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(electronic mail address) contains an e-mail address identifying a location to which
        e-mail messages can be delivered.
     [3.5.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_address">
    <element name="address">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a postal  address, for example of a
        publisher, an organization, or an individual. [3.5.2.  2.2.4.  3.11.2.3. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
        <oneOrMore>
          <group>
            <ref name="TEI_model.addrPart"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_addrLine">
    <element name="addrLine">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(address line) contains one line of a postal address. [3.5.2.  2.2.4.  3.11.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_street">
    <element name="street">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a full street address including any name or number identifying a
        building as well as the name of the street or route on which it is
        located. [3.5.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_postCode">
    <element name="postCode">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(postal code) contains a numerical or alphanumeric code used as part of a postal address to simplify
        sorting or delivery of mail.  [3.5.2. ]</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_postBox">
    <element name="postBox">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(postal box or post office box) contains a number or other identifier for some postal delivery point other than a street
    address.  [3.5.2. ]</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_num">
    <element name="num">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) contains a number, written in any form. [3.5.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.ranging.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the type of numeric value.
Suggested values include: 1] cardinal; 2] ordinal; 3] fraction; 4] percentage</a:documentation>
          <choice>
            <value>cardinal</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">absolute number, e.g. 21, 21.5</a:documentation>
            <value>ordinal</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">ordinal number, e.g. 21st</a:documentation>
            <value>fraction</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">fraction, e.g. one half or three-quarters</a:documentation>
            <value>percentage</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a percentage</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the value of the number in standard form.</a:documentation>
          <ref name="TEI_data.numeric"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_measure">
    <element name="measure">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase referring to some quantity of an object or commodity, usually
        comprising a number, a unit, and a commodity name. [3.5.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.measurement.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the type of measurement in any convenient typology.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_measureGrp">
    <element name="measureGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(measure group) contains a group of dimensional specifications which relate to the same object, for example
    the height and width of a manuscript page. [10.3.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.measureLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.measurement.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_date">
    <element name="date">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a date in any format. [3.5.4.  2.2.4.  2.5.  3.11.2.3.  15.2.3.  13.3.6. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.duration.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_time">
    <element name="time">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a phrase defining a time of day in any format. [3.5.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.duration.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_abbr">
    <element name="abbr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(abbreviation) contains an abbreviation of any sort. [3.5.5. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.responsibility.attributes"/>
      <ref name="TEI_att.typed.attribute.subtype"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">allows the encoder to classify the abbreviation according to some convenient
                typology.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_expan">
    <element name="expan">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(expansion) contains the expansion of an abbreviation. [3.5.5. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_ptr">
    <element name="ptr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pointer) defines a pointer to another location. [3.6.  16.1. ]</a:documentation>
      <empty/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="ptr-constraint-ptrAtts">
        <rule context="tei:ptr">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@target and @cRef">Only one of the
attributes @target and @cRef may be supplied on <name/>.</report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.internetMedia.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.cReferencing.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_ref">
    <element name="ref">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference) defines a reference to another location, possibly modified by additional text or comment. [3.6.  16.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="ref-constraint-refAtts">
        <rule context="tei:ref">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@target and @cRef">Only one of the
	attributes @target' and @cRef' may be supplied on <name/>
               </report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.internetMedia.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.cReferencing.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_list">
    <element name="list">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list) contains any sequence of items organized as a list. [3.7. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <group>
              <ref name="TEI_model.divTop"/>
            </group>
            <group>
              <ref name="TEI_model.global"/>
            </group>
          </choice>
        </zeroOrMore>
        <choice>
          <oneOrMore>
            <ref name="TEI_item"/>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <group>
            <optional>
              <ref name="TEI_headLabel"/>
            </optional>
            <optional>
              <ref name="TEI_headItem"/>
            </optional>
            <oneOrMore>
              <ref name="TEI_label"/>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
              <ref name="TEI_item"/>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </oneOrMore>
          </group>
        </choice>
        <zeroOrMore>
          <group>
            <group>
              <ref name="TEI_model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </group>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="simple">
          <a:documentation>describes the form of the list.
Suggested values include: 1] ordered; 2] bulleted; 3] simple; 4] gloss</a:documentation>
          <choice>
            <value>ordered</value>
            <a:documentation>list items are numbered or lettered. </a:documentation>
            <value>bulleted</value>
            <a:documentation>list items are marked with a bullet or other typographic device. </a:documentation>
            <value>simple</value>
            <a:documentation>list items are not numbered or bulleted. </a:documentation>
            <value>gloss</value>
            <a:documentation>each list item glosses some term or concept, which is given by a label element
            preceding the list item.</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_item">
    <element name="item">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one component of a list. [3.7.  2.5. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_label">
    <element name="label">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any label or heading used to identify part of a text,
  typically but not exclusively in a list or glossary. [3.7. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.placement.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_head">
    <element name="head">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(heading) contains any type of heading, for example the title of a section, or the heading of a list,
    glossary, manuscript description, etc. [4.2.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_lg"/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.inter"/>
          <ref name="TEI_model.lLike"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_headLabel">
    <element name="headLabel">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(heading for list labels) contains the heading for the label or term column in a glossary list or similar structured
        list. [3.7. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_headItem">
    <element name="headItem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(heading for list items) contains the heading for the item or gloss column in a glossary list or similar structured
        list. [3.7. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_note">
    <element name="note">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a note or annotation. [3.8.1.  2.2.6.  3.11.2.7.  9.3.5.4. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.placement.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.responsibility.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="anchored" a:defaultValue="true">
          <a:documentation>indicates whether the copy text shows the exact place of reference for the note.</a:documentation>
          <ref name="TEI_data.truthValue"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="targetEnd">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to the end of the span to which the note is attached, if the note is not embedded
        in the text at that point.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_index">
    <element name="index">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(index entry) marks a location to be indexed for whatever purpose. [3.8.2. ]</a:documentation>
      <zeroOrMore>
        <group>
          <ref name="TEI_term"/>
          <optional>
            <ref name="TEI_index"/>
          </optional>
        </group>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <optional>
        <attribute name="indexName">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a single word which follows the rules defining a
        legal XML name (see ), supplying a name to specify which index (of several) the index entry belongs to.</a:documentation>
          <ref name="TEI_data.name"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_media">
    <element name="media">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location of any form of external media such as
  an audio or video clip etc. [3.9. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.descLike"/>
      </zeroOrMore>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.media.attribute.width"/>
      <ref name="TEI_att.media.attribute.height"/>
      <ref name="TEI_att.media.attribute.scale"/>
      <ref name="TEI_att.resourced.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.timed.attributes"/>
      <attribute name="mimeType">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(MIME media type) specifies the applicable multimedia internet mail extension (MIME) media type</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.word"/>
          </oneOrMore>
        </list>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_graphic">
    <element name="graphic">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location of an inline graphic, illustration, or figure. [3.9. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.descLike"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.media.attributes"/>
      <ref name="TEI_att.resourced.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_binaryObject">
    <element name="binaryObject">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides encoded binary data representing an inline graphic,
  audio, video or other object. [3.9. ]</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.media.attributes"/>
      <ref name="TEI_att.timed.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="encoding">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The encoding used to encode the binary data. If not specified, this is assumed to be
          Base64.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_milestone">
    <element name="milestone">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks a boundary point separating any kind of section of a text, typically but not
    necessarily indicating a point at which some part of a standard reference system changes, where
    the change is not represented by a structural element. [3.10.3. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.milestoneUnit.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.edition.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <ref name="TEI_att.breaking.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_gb">
    <element name="gb">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (gathering begins) marks the point in a transcribed codex at which a new
  gathering or quire begins. [3.10.3. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <ref name="TEI_att.breaking.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_pb">
    <element name="pb">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(page break) marks the boundary between one page of a text and the next in a standard reference system. [3.10.3. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.edition.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <ref name="TEI_att.breaking.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_lb">
    <element name="lb">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(line break) marks the start of a new (typographic) line in some edition or version of a text. [3.10.3.  7.2.5. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.edition.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <ref name="TEI_att.breaking.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_cb">
    <element name="cb">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(column break) marks the boundary between one column of a text and the next
        in a standard reference system. [3.10.3. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.edition.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <ref name="TEI_att.breaking.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_analytic">
    <element name="analytic">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(analytic level) contains bibliographic elements describing an item (e.g. an article or poem) published
    within a monograph or journal and not as an independent publication. [3.11.2.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_author"/>
          <ref name="TEI_editor"/>
          <ref name="TEI_respStmt"/>
          <ref name="TEI_title"/>
          <ref name="TEI_ref"/>
          <ref name="TEI_date"/>
          <ref name="TEI_textLang"/>
          <ref name="TEI_idno"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_monogr">
    <element name="monogr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(monographic level) contains bibliographic elements describing an item (e.g. a book or journal) published as an
    independent item (i.e. as a separate physical object). [3.11.2.1. ]</a:documentation>
      <group>
        <optional>
          <choice>
            <group>
              <choice>
                <ref name="TEI_author"/>
                <ref name="TEI_editor"/>
                <ref name="TEI_meeting"/>
                <ref name="TEI_respStmt"/>
              </choice>
              <zeroOrMore>
                <choice>
                  <ref name="TEI_author"/>
                  <ref name="TEI_editor"/>
                  <ref name="TEI_meeting"/>
                  <ref name="TEI_respStmt"/>
                </choice>
              </zeroOrMore>
              <oneOrMore>
                <ref name="TEI_title"/>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="TEI_idno"/>
                  <ref name="TEI_textLang"/>
                  <ref name="TEI_editor"/>
                  <ref name="TEI_respStmt"/>
                </choice>
              </zeroOrMore>
            </group>
            <group>
              <oneOrMore>
                <choice>
                  <ref name="TEI_title"/>
                  <ref name="TEI_ref"/>
                </choice>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="TEI_idno"/>
                  <ref name="TEI_textLang"/>
                  <ref name="TEI_author"/>
                  <ref name="TEI_editor"/>
                  <ref name="TEI_meeting"/>
                  <ref name="TEI_respStmt"/>
                </choice>
              </zeroOrMore>
            </group>
            <group>
              <ref name="TEI_authority"/>
              <ref name="TEI_idno"/>
            </group>
          </choice>
        </optional>
        <zeroOrMore>
          <ref name="TEI_model.noteLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_edition"/>
          <zeroOrMore>
            <choice>
              <ref name="TEI_idno"/>
              <ref name="TEI_editor"/>
              <ref name="TEI_sponsor"/>
              <ref name="TEI_funder"/>
              <ref name="TEI_respStmt"/>
            </choice>
          </zeroOrMore>
        </zeroOrMore>
        <ref name="TEI_imprint"/>
        <zeroOrMore>
          <choice>
            <ref name="TEI_imprint"/>
            <ref name="TEI_extent"/>
            <ref name="TEI_biblScope"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_series">
    <element name="series">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series information) contains information about the series in which a book or other bibliographic item has
    appeared. [3.11.2.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_title"/>
          <ref name="TEI_ref"/>
          <ref name="TEI_editor"/>
          <ref name="TEI_respStmt"/>
          <ref name="TEI_biblScope"/>
          <ref name="TEI_idno"/>
          <ref name="TEI_textLang"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_author">
    <element name="author">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in a bibliographic reference, contains the name(s) of an
  author, personal or corporate, of a work; for example in the same
  form as that provided by a recognized bibliographic name authority.  [3.11.2.2.  2.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_editor">
    <element name="editor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a secondary statement of responsibility for a bibliographic item, for example the name of an
    individual, institution or organization, (or of several such) acting as editor, compiler,
    translator, etc.  [3.11.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_respStmt">
    <element name="respStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(statement of responsibility) supplies a statement of responsibility for the intellectual content of a text, edition,
    recording, or series, where the specialized elements for authors, editors, etc. do not suffice
    or do not apply. May also be used to encode information about individuals or organizations 
    which have played a role in the production or distribution of a bibliographic work. [3.11.2.2.  2.2.1.  2.2.2.  2.2.5. ]</a:documentation>
      <choice>
        <group>
          <oneOrMore>
            <ref name="TEI_resp"/>
          </oneOrMore>
          <oneOrMore>
            <ref name="TEI_model.nameLike.agent"/>
          </oneOrMore>
        </group>
        <group>
          <oneOrMore>
            <ref name="TEI_model.nameLike.agent"/>
          </oneOrMore>
          <oneOrMore>
            <ref name="TEI_resp"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_resp">
    <element name="resp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsibility) contains a phrase describing the nature of a person's intellectual responsibility, or an organization's role 
    in the production or distribution of a work. [3.11.2.2.  2.2.1.  2.2.2.  2.2.5. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_title">
    <element name="title">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a title for any kind of work. [3.11.2.2.  2.2.1.  2.2.5. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.canonical.attributes"/>
      <ref name="TEI_att.typed.attribute.subtype"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the title according to some convenient typology.
Sample values include: 1] main; 2] sub(subordinate) ; 3] alt(alternate) ; 4] short; 5] desc(descriptive) </a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="level">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the bibliographic level for a title, that is, whether
                                        it identifies an article, book, journal, series, or
                                        unpublished material.</a:documentation>
          <choice>
            <value>a</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(analytic) analytic title (article, poem, or other item
                                                  published as part of a larger item) </a:documentation>
            <value>m</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(monographic) monographic title (book, collection, or
                                                  other item published as a distinct item,
                                                  including single volumes of multi-volume
                                                  works) </a:documentation>
            <value>j</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(journal) journal title </a:documentation>
            <value>s</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series) series title </a:documentation>
            <value>u</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unpublished) title of unpublished material (including
                                                  theses and dissertations unless
                                                  published by a commercial press)</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_meeting">
    <element name="meeting">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the formalized descriptive title for a meeting or conference, for use in a
    bibliographic description for an item derived from such a meeting, or as a heading or preamble
    to publications emanating from it. [3.11.2.2. ]</a:documentation>
      <ref name="TEI_macro.limitedContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_imprint">
    <element name="imprint">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups information relating to the publication or distribution
        of a bibliographic item. [3.11.2.3. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_classCode"/>
        <ref name="TEI_catRef"/>
      </zeroOrMore>
      <oneOrMore>
        <choice>
          <group>
            <ref name="TEI_model.imprintPart"/>
          </group>
          <group>
            <ref name="TEI_model.dateLike"/>
          </group>
        </choice>
        <zeroOrMore>
          <ref name="TEI_respStmt"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_publisher">
    <element name="publisher">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the name of the organization responsible for the publication or distribution of a
        bibliographic item. [3.11.2.3.  2.2.4. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_biblScope">
    <element name="biblScope">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(scope of bibliographic reference) defines the scope of a bibliographic reference, for example as a
        list of page numbers, or a named subdivision of a larger work. [3.11.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="unit">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the unit of information conveyed by the element, e.g. columns, pages, volume.
Suggested values include: 1] vol(volume) ; 2] issue; 3] pp(pages) ; 4] ll (lines) ; 5] chap(chapter) ; 6] part</a:documentation>
          <choice>
            <value>vol</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(volume) the element contains a volume number.</a:documentation>
            <value>issue</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element contains an issue number, or volume and
            issue numbers.</a:documentation>
            <value>pp</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pages) the element contains a page number or page range.</a:documentation>
            <value>ll</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (lines) the element contains a line number or line range.</a:documentation>
            <value>chap</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(chapter) the element contains a chapter indication (number
            and/or title)</a:documentation>
            <value>part</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element identifies a part of a book or collection.</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the type of information conveyed by the element, e.g.
                columns, pages, volume.
Suggested values include: 1] vol(volume) ; 2] issue; 3] pp(pages) ; 4] ll (lines) ; 5] chap(chapter) ; 6] part</a:documentation>
          <choice>
            <value>vol</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(volume) the element contains a volume number.</a:documentation>
            <value>issue</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element contains an issue number, or volume and
                        issue numbers.</a:documentation>
            <value>pp</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pages) the element contains a page number or page range.</a:documentation>
            <value>ll</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (lines) the element contains a line number or line range.</a:documentation>
            <value>chap</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(chapter) the element contains a chapter indication (number
                        and/or title)</a:documentation>
            <value>part</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element identifies a part of a book or collection.</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="from">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the starting point of the range of units indicated by the unit attribute.</a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="to">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the end-point of the range of units indicated by the unit attribute.</a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_citedRange">
    <element name="citedRange">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (cited range) defines the range of cited content, often represented by pages or other units [3.11.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <optional>
        <attribute name="unit">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the type of information conveyed by the element, e.g.
                columns, pages, volume.
Suggested values include: 1] vol (volume) ; 2] issue; 3] pp (pages) ; 4] ll (lines) ; 5] chap (chapter) ; 6] part</a:documentation>
          <choice>
            <value>vol</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (volume) the element contains a volume number.</a:documentation>
            <value>issue</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element contains an issue number, or volume and
                        issue numbers.</a:documentation>
            <value>pp</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (pages) the element contains a page number or page range.</a:documentation>
            <value>ll</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (lines) the element contains a line number or line range.</a:documentation>
            <value>chap</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (chapter) the element contains a chapter indication (number
                        and/or title)</a:documentation>
            <value>part</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the element identifies a part of a book or collection.</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="from">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the starting point of the range of units indicated by the unit attribute.</a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="to">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the end-point of the range of units indicated by the unit attribute.</a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_pubPlace">
    <element name="pubPlace">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publication place) contains the name of the place where a bibliographic item was published. [3.11.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_bibl">
    <element name="bibl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(bibliographic citation) contains a loosely-structured bibliographic citation of which the sub-components may or may
    not be explicitly tagged.  [3.11.1.  2.2.7.  15.3.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.highlighted"/>
          <ref name="TEI_model.pPart.data"/>
          <ref name="TEI_model.pPart.edit"/>
          <ref name="TEI_model.segLike"/>
          <ref name="TEI_model.ptrLike"/>
          <ref name="TEI_model.biblPart"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <ref name="TEI_att.docStatus.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_biblStruct">
    <element name="biblStruct">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(structured bibliographic citation) contains a structured bibliographic citation, in which only bibliographic sub-elements
    appear and in a specified order.  [3.11.1.  2.2.7.  15.3.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_analytic"/>
        </zeroOrMore>
        <oneOrMore>
          <ref name="TEI_monogr"/>
          <zeroOrMore>
            <ref name="TEI_series"/>
          </zeroOrMore>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.noteLike"/>
            <ref name="TEI_idno"/>
            <ref name="TEI_model.ptrLike"/>
            <ref name="TEI_relatedItem"/>
            <ref name="TEI_citedRange"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <ref name="TEI_att.docStatus.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_listBibl">
    <element name="listBibl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(citation list) contains a list of bibliographic citations of any kind.  [3.11.1.  2.2.7.  15.3.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.biblLike"/>
            <ref name="TEI_model.milestoneLike"/>
            <ref name="TEI_listBibl"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_relatedItem">
    <element name="relatedItem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains or references some other bibliographic item which is related to the present one in
    some specified manner, for example as a constituent or alternative version of it. [3.11.2.6. ]</a:documentation>
      <optional>
        <choice>
          <ref name="TEI_model.biblLike"/>
          <ref name="TEI_model.ptrLike"/>
        </choice>
      </optional>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="relatedItem-constraint-targetorcontent11">
        <rule context="tei:relatedItem">
          <sch:report xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="@target and count( child::* ) &gt; 0">
If the @target attribute on <sch:name/> is used, the
relatedItem element must be empty</sch:report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="relatedItem-constraint-targetorcontent11">
        <rule context="tei:relatedItem">
          <sch:assert xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="@target or child::*">A relatedItem element should have either a 'target' attribute
        or a child element to indicate the related bibliographic item</sch:assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to the related bibliographic element by means of an
      absolute or relative URI reference</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_l">
    <element name="l">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(verse line) contains a single, possibly incomplete, line of verse. [3.12.1.  3.12.  7.2.5. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.metrical.attributes"/>
      <ref name="TEI_att.enjamb.attributes"/>
      <ref name="TEI_att.fragmentable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_lg">
    <element name="lg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(line group) contains one or more verse lines functioning as a formal unit, e.g. a stanza, refrain,
        verse paragraph, etc. [3.12.1.  3.12.  7.2.5. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <choice>
          <ref name="TEI_model.lLike"/>
          <ref name="TEI_model.stageLike"/>
          <ref name="TEI_model.labelLike"/>
          <ref name="TEI_lg"/>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.lLike"/>
            <ref name="TEI_model.stageLike"/>
            <ref name="TEI_model.labelLike"/>
            <ref name="TEI_model.global"/>
            <ref name="TEI_lg"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <group>
            <ref name="TEI_model.divBottom"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="lg-constraint-atleast1oflggapl">
        <rule context="tei:lg">
          <sch:assert xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="count(descendant::tei:lg|descendant::tei:l|descendant::tei:gap) &gt; 0">An lg element
        must contain at least one child l, lg or gap element.</sch:assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.divLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_sp">
    <element name="sp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(speech) contains an individual speech in a performance text, or a passage presented as such in a prose or
    verse text. [3.12.2.  3.12.  7.2.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_speaker"/>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </optional>
        <oneOrMore>
          <choice>
            <ref name="TEI_lg"/>
            <ref name="TEI_model.lLike"/>
            <ref name="TEI_model.pLike"/>
            <ref name="TEI_model.listLike"/>
            <ref name="TEI_model.stageLike"/>
            <ref name="TEI_model.qLike"/>
          </choice>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_speaker">
    <element name="speaker">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a specialized form of heading or label, giving the name of one or more speakers in a
        dramatic text or fragment. [3.12.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_stage">
    <element name="stage">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(stage direction) contains any kind of stage direction within a dramatic text or fragment. [3.12.2.  3.12.  7.2.4. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the kind of stage direction.
Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] novelistic; 6] delivery; 7] modifier; 8] location; 9] mixed</a:documentation>
          <choice>
            <value>setting</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a setting.</a:documentation>
            <value>entrance</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes an entrance.</a:documentation>
            <value>exit</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes an exit.</a:documentation>
            <value>business</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes stage business.</a:documentation>
            <value>novelistic</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">is a narrative, motivating stage direction.</a:documentation>
            <value>delivery</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes how a character speaks.</a:documentation>
            <value>modifier</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives some detail about a character.</a:documentation>
            <value>location</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a location.</a:documentation>
            <value>mixed</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">more than one of the above</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_teiCorpus">
    <element name="teiCorpus">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the whole of a TEI encoded corpus, comprising a single corpus header and one or
    more TEI elements, each containing a single text header and a text. [4.  15.1. ]</a:documentation>
      <group>
        <ref name="TEI_teiHeader"/>
        <oneOrMore>
          <choice>
            <ref name="TEI_TEI"/>
            <ref name="TEI_teiCorpus"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="version" a:defaultValue="5.0">
          <a:documentation>The version of the TEI scheme</a:documentation>
          <ref name="TEI_data.version"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_divGen">
    <element name="divGen">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(automatically generated text division) indicates the location at which a textual division generated
        automatically by a text-processing application is to appear. [3.8.2. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.headLike"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies what type of generated text division (e.g. index,
                table of contents, etc.) is to appear.
Sample values include: 1] index; 2] toc; 3] figlist; 4] tablist</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_textLang">
    <element name="textLang">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text language) describes the languages and writing systems identified within the bibliographic work  
  being described, rather than its description.  [3.11.2.3.  10.6.6. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="mainLang">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(main language) supplies a code which identifies the chief language used in the bibliographic work.</a:documentation>
          <ref name="TEI_data.language"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="otherLangs">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(other languages) one or more codes identifying any other languages used in the bibliographic work.</a:documentation>
          <list>
            <zeroOrMore>
              <ref name="TEI_data.language"/>
            </zeroOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_s">
    <element name="s">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(s-unit) contains a sentence-like division of a text. [17.1.  8.4.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="s-constraint-noNestedS">
        <rule context="tei:s">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="tei:s">You may not nest one s element within
      another: use seg instead</report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.segLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_cl">
    <element name="cl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(clause) represents a grammatical clause. [17.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.segLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_phr">
    <element name="phr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(phrase) represents a grammatical phrase. [17.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.segLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_w">
    <element name="w">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(word) represents a grammatical (not necessarily orthographic) word. [17.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_seg"/>
          <ref name="TEI_w"/>
          <ref name="TEI_m"/>
          <ref name="TEI_c"/>
          <ref name="TEI_model.global"/>
          <ref name="TEI_model.lPart"/>
          <ref name="TEI_model.hiLike"/>
          <ref name="TEI_model.pPart.edit"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.segLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="lemma">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a lemma for the word, such as an uninflected
      dictionary entry form.</a:documentation>
          <ref name="TEI_data.text"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="lemmaRef">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a pointer to a definition of the lemma for the
      word, for example in an online lexicon. </a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_m">
    <element name="m">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(morpheme) represents a grammatical morpheme. [17.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_seg"/>
          <ref name="TEI_m"/>
          <ref name="TEI_c"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.segLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="baseForm">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the morpheme's base form.</a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_c">
    <element name="c">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character) represents a character. [17.1. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.segLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_pc">
    <element name="pc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (punctuation character) contains a character or string of characters regarded as constituting a
  single punctuation mark. [17.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_c"/>
          <ref name="TEI_model.pPart.edit"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.segLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="force">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the extent to which this punctuation mark
      conventionally separates words or phrases</a:documentation>
          <choice>
            <value>strong</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the punctuation mark is a word separator</a:documentation>
            <value>weak</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the punctuation mark is not a word separator</a:documentation>
            <value>inter</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the punctuation mark may or may not be a word separator</a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="unit">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a name for the kind of unit delimited by  this punctuation mark.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="pre">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether this punctuation mark precedes or
      follows the unit it delimits.</a:documentation>
          <ref name="TEI_data.truthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.global.analytic.attributes">
    <ref name="TEI_att.global.analytic.attribute.ana"/>
  </define>
  <define name="TEI_att.global.analytic.attribute.ana">
    <optional>
      <attribute name="ana">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(analysis) indicates one or more elements containing interpretations of the
element on which the ana attribute appears.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_span">
    <element name="span">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">associates an interpretative annotation directly with a span of text. [17.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="span-constraint-targetfrom">
        <rule context="tei:span">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@from and @target">
Only one of the attributes @target and @from may be supplied on <name/>
               </report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="span-constraint-targetto">
        <rule context="tei:span">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@to          and          @target">
Only one of the attributes @target and @to may be supplied on <name/>
               </report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="span-constraint-tonotfrom">
        <rule context="tei:span">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@to          and          not(@from)">
If @to is supplied on <name/>, @from must be supplied as well</report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="span-constraint-tofrom">
        <rule context="tei:span">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="contains(@to,' ') or contains(@from,' ')">
The attributes @to and @from on <name/> may each contain only a single value</report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.interpLike.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <optional>
        <attribute name="from">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the identifier of the node which is the starting point of the span of text being annotated; if not accompanied by a to attribute, gives the identifier of the node of the entire span of text being annotated.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="to">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the identifier of the node which is the end-point of the span of text being annotated.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_spanGrp">
    <element name="spanGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(span group) collects together span tags. [17.3. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_span"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.interpLike.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_interp">
    <element name="interp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(interpretation) summarizes a specific interpretative annotation which can be linked to a span of text. [17.3. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.descLike"/>
          <ref name="TEI_model.certLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.interpLike.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_interpGrp">
    <element name="interpGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(interpretation group) collects together a set of related interpretations which share responsibility or type. [17.3. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.descLike"/>
        </zeroOrMore>
        <oneOrMore>
          <ref name="TEI_interp"/>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.interpLike.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_precision">
    <element name="precision">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the numerical accuracy or precision  associated
  with some aspect of the text markup. </a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.descLike"/>
          <ref name="TEI_model.certLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.scoping.attributes"/>
      <optional>
        <attribute name="degree">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the degree of precision to be assigned as a
      value between 0 (none) and 1 (optimally precise)</a:documentation>
          <ref name="TEI_data.probability"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="precision">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the precision of the element or attribute pointed 
        to by the precision element.</a:documentation>
          <ref name="TEI_data.certainty"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="stdDeviation">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a standard deviation associated with the value in
      question</a:documentation>
          <ref name="TEI_data.numeric"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_certainty">
    <element name="certainty">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the degree of certainty associated
  with some aspect of the text markup.  [21.1.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.descLike"/>
          <ref name="TEI_model.certLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.scoping.attributes"/>
      <optional>
        <attribute name="cert">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(certainty) signifies the degree of certainty associated with the object pointed to by the certainty element.</a:documentation>
          <ref name="TEI_data.certainty"/>
        </attribute>
      </optional>
      <attribute name="locus">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates more exactly the aspect concerning which
      certainty is being expressed: specifically, whether the markup
      is correctly located, whether the correct element or attribute
      name has been used, or whether the content of the element or
      attribute is correct,
	etc.</a:documentation>
        <choice>
          <value>name</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">uncertainty concerns whether the name of the element
	  or attribute  used is correctly applied.</a:documentation>
          <value>start</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">uncertainty concerns whether the start of the element
	  is correctly identified.</a:documentation>
          <value>end</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">uncertainty concerns whether the end of the element
	  is correctly identified.</a:documentation>
          <value>location</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">uncertainty concerns both the start and the end of the
	  element.</a:documentation>
          <value>value</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">uncertainty concerns the content (for an element) or
	  the value (for an attribute)</a:documentation>
        </choice>
      </attribute>
      <optional>
        <attribute name="assertedValue">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an alternative value for the aspect of the markup in
question—an alternative generic identifier, transcription,
or attribute value, or the identifier of an anchor element (to
indicate an alternative starting or ending location).  If an
assertedValue is given, the confidence level specified by
degree applies to the alternative markup specified by
assertedValue; if none is given, it applies to the markup
in the text.</a:documentation>
          <choice>
            <ref name="TEI_data.pointer"/>
            <ref name="TEI_data.name"/>
            <ref name="TEI_data.word"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="given">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates conditions assumed in the assignment of a degree
      of confidence.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="degree">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the degree of confidence assigned to the aspect
of the markup named by the locus attribute.</a:documentation>
          <ref name="TEI_data.probability"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_respons">
    <element name="respons">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsibility) identifies the individual(s) responsible for some aspect of the
markup of particular element(s). [21.3. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.descLike"/>
          <ref name="TEI_model.certLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.scoping.attributes"/>
      <attribute name="locus">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the specific aspect of the markup for which
responsibility is being assigned.</a:documentation>
        <list>
          <oneOrMore>
            <choice>
              <value>name</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">responsibility is being assigned concerning the name of the element
	  or attribute used.</a:documentation>
              <value>start</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">responsibility is being assigned concerning the start of the element
	  concerned.</a:documentation>
              <value>end</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">responsibility is being assigned concerning the end of the element
	  concerned.</a:documentation>
              <value>location</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">responsibility is being assigned concerning the location of the element
	  concerned.</a:documentation>
              <value>value</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">responsibility is being assigned concerning the content (for an element) or
	  the value (for an attribute)</a:documentation>
            </choice>
          </oneOrMore>
        </list>
      </attribute>
      <attribute name="resp">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsible party) identifies the individual or agency responsible for the indicated
aspect of the electronic text.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_textDesc">
    <element name="textDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text description) provides a description of a text in terms of its
situational parameters. [15.2.1. ]</a:documentation>
      <group>
        <ref name="TEI_model.textDescPart_sequence"/>
        <oneOrMore>
          <ref name="TEI_purpose"/>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_particDesc">
    <element name="particDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(participation description) describes the identifiable speakers, voices, or other participants
in any kind of text.  [15.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.personLike"/>
            <ref name="TEI_listPerson"/>
            <ref name="TEI_listOrg"/>
          </choice>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_settingDesc">
    <element name="settingDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(setting description) describes the setting or settings within which a language
interaction takes place, either as a prose description or as a
series of setting elements. [15.2.  2.4. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_setting"/>
            <ref name="TEI_model.placeLike"/>
            <ref name="TEI_listPlace"/>
          </choice>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_channel">
    <element name="channel">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(primary channel) describes the medium or channel by which a text is delivered or
experienced. For a written text, this might be print, manuscript, e-mail, etc.;
for a spoken one, radio, telephone, face-to-face, etc. [15.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="mode" a:defaultValue="x">
          <a:documentation>specifies the mode of this channel with respect to speech and
         writing.
   </a:documentation>
          <choice>
            <value>s</value>
            <a:documentation>(spoken) </a:documentation>
            <value>w</value>
            <a:documentation>(written) </a:documentation>
            <value>sw</value>
            <a:documentation>(spoken to be written) e.g. dictation</a:documentation>
            <value>ws</value>
            <a:documentation>(written to be spoken) e.g. a script</a:documentation>
            <value>m</value>
            <a:documentation>(mixed) </a:documentation>
            <value>x</value>
            <a:documentation>(unknown or inapplicable) </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_constitution">
    <element name="constitution">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the internal composition of a text or text sample,
for example
as fragmentary, complete, etc. [15.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="single">
          <a:documentation>specifies how the text was constituted.
   </a:documentation>
          <choice>
            <value>single</value>
            <a:documentation>a single complete text
    </a:documentation>
            <value>composite</value>
            <a:documentation>a text made by combining several smaller
             items, each individually complete
    </a:documentation>
            <value>frags</value>
            <a:documentation>(fragments) a text made by combining several smaller, not
             necessarily complete, items
    </a:documentation>
            <value>unknown</value>
            <a:documentation>composition unknown or unspecified
   </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_derivation">
    <element name="derivation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the nature and extent of originality of this text. [15.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the derivation of the text.
   
Sample values include: 1] original; 2] revision; 3] translation; 4] abridgment; 5] plagiarism; 6] traditional</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_domain">
    <element name="domain">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(domain of use) describes the most important social context in which the text was
realized or for which it is intended, for example private vs. public,
education, religion, etc. [15.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the domain of use.
   
Sample values include: 1] art; 2] domestic; 3] religious; 4] business; 5] education; 6] govt(government) ; 7] public</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_factuality">
    <element name="factuality">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the extent to which the text may be regarded as
imaginative or non-imaginative, that is, as describing a fictional
or a non-fictional world.  [15.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the factuality of the text.
   </a:documentation>
          <choice>
            <value>fiction</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the text is to be regarded as entirely imaginative
  </a:documentation>
            <value>fact</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the text is to be regarded as entirely informative or factual
  </a:documentation>
            <value>mixed</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the text contains a mixture of fact and fiction
  </a:documentation>
            <value>inapplicable</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the fiction/fact distinction is not regarded
    as helpful or appropriate to this text
   </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_interaction">
    <element name="interaction">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the extent, cardinality and nature of any interaction
among those producing and experiencing the text, for example in the
form of response or interjection, commentary, etc. [15.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the degree of interaction between
  active and passive participants in the text. </a:documentation>
          <choice>
            <value>none</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">no interaction of any kind, e.g. a monologue </a:documentation>
            <value>partial</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">some degree of interaction, e.g. a monologue with set responses </a:documentation>
            <value>complete</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">complete interaction, e.g. a face to face conversation </a:documentation>
            <value>inapplicable</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">this parameter is inappropriate or inapplicable in this case </a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="active">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of active participants
   (or addressors) producing parts of the text. 
Suggested values include: 1] singular; 2] plural; 3] corporate; 4] unknown</a:documentation>
          <choice>
            <value>singular</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a single addressor </a:documentation>
            <value>plural</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">many addressors </a:documentation>
            <value>corporate</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a corporate addressor </a:documentation>
            <value>unknown</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">number of addressors unknown or unspecifiable </a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="passive">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of passive participants
   (or addressees) to whom a text is directed
   or in whose presence it is created or performed.
   
Suggested values include: 1] self; 2] single; 3] many; 4] group; 5] world</a:documentation>
          <choice>
            <value>self</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">text is addressed to the originator e.g. a diary </a:documentation>
            <value>single</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">text is addressed to one other person e.g. a personal letter </a:documentation>
            <value>many</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">text is addressed to a countable number of others
    e.g. a conversation in which all participants are identified </a:documentation>
            <value>group</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">text is addressed to an undefined but fixed
    number of participants  e.g. a lecture </a:documentation>
            <value>world</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">text is addressed to an undefined and indeterminately
    large number e.g. a published book </a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_preparedness">
    <element name="preparedness">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the extent to which a text may be regarded as
prepared or spontaneous.  [15.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a keyword characterizing the type of preparedness.
   
Sample values include: 1] none; 2] scripted; 3] formulaic; 4] revised</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_purpose">
    <element name="purpose">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes a single purpose or communicative function of the
text. [15.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a particular kind of purpose.
   
Suggested values include: 1] persuade; 2] express; 3] inform; 4] entertain</a:documentation>
          <choice>
            <value>persuade</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">didactic, advertising, propaganda, etc.
  </a:documentation>
            <value>express</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">self expression, confessional, etc.
  </a:documentation>
            <value>inform</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">convey information, educate, etc.
  </a:documentation>
            <value>entertain</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">amuse, entertain, etc.
   </a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="degree">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the extent to which this purpose predominates.</a:documentation>
          <ref name="TEI_data.certainty"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_setting">
    <element name="setting">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes one particular setting in which a language
  interaction takes place. [15.2.3. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.nameLike.agent"/>
            <ref name="TEI_model.dateLike"/>
            <ref name="TEI_model.settingPart"/>
          </choice>
        </zeroOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_locale">
    <element name="locale">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a brief informal description of the kind of
place concerned, for example: a room, a restaurant, a park bench, etc. [15.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_activity">
    <element name="activity">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a brief informal description of what a participant in a
language interaction is doing other than speaking, if anything. [15.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_model.entryLike">
    <choice>
      <ref name="TEI_superEntry"/>
      <ref name="TEI_entry"/>
      <ref name="TEI_entryFree"/>
    </choice>
  </define>
  <define name="TEI_att.entryLike.attributes">
    <ref name="TEI_att.entryLike.attribute.type"/>
  </define>
  <define name="TEI_att.entryLike.attribute.type">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="main">
        <a:documentation>indicates type of entry, in dictionaries with multiple types.
Suggested values include: 1] main; 2] hom(homograph) ; 3] xref(cross reference) ; 4] affix; 5] abbr(abbreviation) ; 6] supplemental; 7] foreign</a:documentation>
        <choice>
          <value>main</value>
          <a:documentation>a main entry (default).</a:documentation>
          <value>hom</value>
          <a:documentation>(homograph) groups information relating to one homograph within an entry.</a:documentation>
          <value>xref</value>
          <a:documentation>(cross reference) a reduced entry whose only function is to point to another main
            entry (e.g. for forms of an irregular verb or for variant spellings:
            was pointing to be, or
            esthete to aesthete).</a:documentation>
          <value>affix</value>
          <a:documentation>an entry for a prefix, infix, or suffix.</a:documentation>
          <value>abbr</value>
          <a:documentation>(abbreviation) an entry for an abbreviation.</a:documentation>
          <value>supplemental</value>
          <a:documentation>a supplemental entry (for use in dictionaries which issue supplements to their main
            work in which they include updated information about entries).</a:documentation>
          <value>foreign</value>
          <a:documentation>an entry for a foreign word in a monolingual dictionary.</a:documentation>
          <data type="Name"/>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.lexicographic.attributes">
    <ref name="TEI_att.datcat.attributes"/>
    <ref name="TEI_att.lexicographic.attribute.expand"/>
    <ref name="TEI_att.lexicographic.attribute.norm"/>
    <ref name="TEI_att.lexicographic.attribute.split"/>
    <ref name="TEI_att.lexicographic.attribute.value"/>
    <ref name="TEI_att.lexicographic.attribute.orig"/>
    <ref name="TEI_att.lexicographic.attribute.location"/>
    <ref name="TEI_att.lexicographic.attribute.mergedIn"/>
    <ref name="TEI_att.lexicographic.attribute.opt"/>
  </define>
  <define name="TEI_att.lexicographic.attribute.expand">
    <optional>
      <attribute name="expand">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives an expanded form of information presented more concisely in the dictionary</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.lexicographic.attribute.norm">
    <optional>
      <attribute name="norm">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(normalized) gives a normalized form of information given by the source text in a
                non-normalized form</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.lexicographic.attribute.split">
    <optional>
      <attribute name="split">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the list of split values for a merged form</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.lexicographic.attribute.value">
    <optional>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a value which lacks any realization in the printed source text.</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.lexicographic.attribute.orig">
    <optional>
      <attribute name="orig">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(original) gives the original string or is the empty string when the element does not appear
                in the source text.</a:documentation>
        <text/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.lexicographic.attribute.location">
    <optional>
      <attribute name="location">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a reference to an anchor element typically elsewhere in the document, but possibly in another document, 
                indicating the original location of this component.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.lexicographic.attribute.mergedIn">
    <optional>
      <attribute name="mergedIn">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a reference to another element, where the original appears as a merged form.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.lexicographic.attribute.opt">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="opt" a:defaultValue="false">
        <a:documentation>(optional) indicates whether the element is optional or not</a:documentation>
        <data type="boolean"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_superEntry">
    <element name="superEntry">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups a sequence of entries within any kind of lexical resource, such
  as a dictionary or lexicon which function as a single unit, for
  example a set of homographs. [9.1. ]</a:documentation>
      <choice>
        <group>
          <optional>
            <ref name="TEI_form"/>
          </optional>
          <oneOrMore>
            <ref name="TEI_entry"/>
          </oneOrMore>
        </group>
        <ref name="TEI_dictScrap"/>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.entryLike.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_entry">
    <element name="entry">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a single structured entry in any kind of lexical resource, such
  as a dictionary or lexicon. [9.1.  9.2. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_hom"/>
          <ref name="TEI_sense"/>
          <ref name="TEI_model.entryPart.top"/>
          <ref name="TEI_model.global"/>
          <ref name="TEI_model.ptrLike"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.entryLike.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_entryFree">
    <element name="entryFree">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unstructured entry) contains a single unstructured entry in any kind of lexical
  resource, such as a dictionary or lexicon. [9.1.  9.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.entryPart"/>
          <ref name="TEI_model.morphLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.inter"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.entryLike.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_hom">
    <element name="hom">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(homograph) groups information relating to one homograph within an entry. [9.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_sense"/>
          <ref name="TEI_model.entryPart.top"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_sense">
    <element name="sense">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups together all information relating to one word sense in a dictionary entry, for
    example definitions, examples, and translation equivalents. [9.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_sense"/>
          <ref name="TEI_model.entryPart.top"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <optional>
        <attribute name="level">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the nesting depth of this sense.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_dictScrap">
    <element name="dictScrap">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(dictionary scrap) encloses a part of a dictionary entry in which other phrase-level dictionary elements are
        freely combined. [9.1.  9.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.entryPart"/>
          <ref name="TEI_model.morphLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.inter"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_form">
    <element name="form">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(form information group) groups all the information on the written and spoken forms of one headword. [9.3.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.inter"/>
          <ref name="TEI_model.formPart"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies form as simple, compound, etc.
Suggested values include: 1] simple; 2] lemma; 3] variant; 4] compound; 5] derivative; 6] inflected; 7] phrase</a:documentation>
          <choice>
            <value>simple</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">single free lexical item</a:documentation>
            <value>lemma</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the headword itself</a:documentation>
            <value>variant</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a variant form</a:documentation>
            <value>compound</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">word formed from simple lexical items</a:documentation>
            <value>derivative</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">word derived from headword</a:documentation>
            <value>inflected</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">word in other than usual dictionary form</a:documentation>
            <value>phrase</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">multiple-word lexical item</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_orth">
    <element name="orth">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(orthographic form) gives the orthographic form of a dictionary headword. [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the type of spelling.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="extent" a:defaultValue="full">
          <a:documentation>gives the extent of the orthographic information provided.
Sample values include: 1] full(full form) ; 2] pref(prefix) ; 3] suff(suffix) ; 4] part(partial) </a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_pron">
    <element name="pron">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pronunciation) contains the pronunciation(s) of the word. [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="extent" a:defaultValue="full">
          <a:documentation>indicates whether the pronunciation is for whole word or part. 
Sample values include: 1] full(full form) ; 2] pref(prefix) ; 3] suff(suffix) ; 4] part(partial) </a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="notation">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates what notation is used for the pronunciation, if more than one occurs in
                the machine-readable dictionary. </a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_hyph">
    <element name="hyph">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hyphenation) contains a hyphenated form of a dictionary headword, or hyphenation information in some
    other form. [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_syll">
    <element name="syll">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(syllabification) contains the syllabification of the headword. [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_stress">
    <element name="stress">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the stress pattern for a dictionary headword, if given separately. [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_gram">
    <element name="gram">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(grammatical information) within an entry in a dictionary or a terminological data file, contains grammatical
    information relating to a term, word, or form. [9.3.2. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the grammatical information given according to some convenient typology—in
        the case of terminological information, preferably the dictionary of data element types
        specified in ISO 12620.
Sample values include: 1] pos(part of speech) ; 2] gen(gender) ; 3] num(number) ; 4] animate; 5] proper</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_gen">
    <element name="gen">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(gender) identifies the morphological gender of a lexical item, as given in the dictionary. [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_number">
    <element name="number">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates grammatical number associated with a form, as given in a dictionary. [9.3.1.  9.3.2. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_case">
    <element name="case">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains grammatical case information given by a dictionary for a given form. [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_per">
    <element name="per">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(person) contains an indication of the grammatical person (1st, 2nd, 3rd, etc.) associated with a
    given inflected form in a dictionary. [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_tns">
    <element name="tns">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tense) indicates the grammatical tense associated with a given inflected form in a dictionary. [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_mood">
    <element name="mood">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about the grammatical mood of verbs (e.g. indicative, subjunctive,
    imperative). [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_iType">
    <element name="iType">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(inflectional class) indicates the inflectional class associated with a lexical item. [9.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the type of indicator used to specify the inflection class, when it is
        necessary to distinguish between the usual abbreviated indications (e.g.
        inv) and other kinds of indicators, such as special codes referring
        to conjugation patterns, etc.
Sample values include: 1] abbrev; 2] verbTable</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_model.morphLike">
    <choice>
      <ref name="TEI_gram"/>
      <ref name="TEI_gen"/>
      <ref name="TEI_number"/>
      <ref name="TEI_case"/>
      <ref name="TEI_per"/>
      <ref name="TEI_tns"/>
      <ref name="TEI_mood"/>
      <ref name="TEI_iType"/>
    </choice>
  </define>
  <define name="TEI_model.morphLike_alternation">
    <choice>
      <ref name="TEI_gram"/>
      <ref name="TEI_gen"/>
      <ref name="TEI_number"/>
      <ref name="TEI_case"/>
      <ref name="TEI_per"/>
      <ref name="TEI_tns"/>
      <ref name="TEI_mood"/>
      <ref name="TEI_iType"/>
    </choice>
  </define>
  <define name="TEI_model.morphLike_sequence">
    <ref name="TEI_gram"/>
    <ref name="TEI_gen"/>
    <ref name="TEI_number"/>
    <ref name="TEI_case"/>
    <ref name="TEI_per"/>
    <ref name="TEI_tns"/>
    <ref name="TEI_mood"/>
    <ref name="TEI_iType"/>
  </define>
  <define name="TEI_model.morphLike_sequenceOptional">
    <optional>
      <ref name="TEI_gram"/>
    </optional>
    <optional>
      <ref name="TEI_gen"/>
    </optional>
    <optional>
      <ref name="TEI_number"/>
    </optional>
    <optional>
      <ref name="TEI_case"/>
    </optional>
    <optional>
      <ref name="TEI_per"/>
    </optional>
    <optional>
      <ref name="TEI_tns"/>
    </optional>
    <optional>
      <ref name="TEI_mood"/>
    </optional>
    <optional>
      <ref name="TEI_iType"/>
    </optional>
  </define>
  <define name="TEI_model.morphLike_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_gram"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_gen"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_number"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_case"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_per"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_tns"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_mood"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_iType"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.morphLike_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_gram"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_gen"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_number"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_case"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_per"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_tns"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_mood"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_iType"/>
    </oneOrMore>
  </define>
  <define name="TEI_model.gramPart">
    <choice>
      <ref name="TEI_model.morphLike"/>
      <ref name="TEI_gramGrp"/>
      <ref name="TEI_pos"/>
      <ref name="TEI_subc"/>
      <ref name="TEI_colloc"/>
      <ref name="TEI_usg"/>
      <ref name="TEI_lbl"/>
    </choice>
  </define>
  <define name="TEI_model.formPart">
    <choice>
      <ref name="TEI_form"/>
      <ref name="TEI_orth"/>
      <ref name="TEI_pron"/>
      <ref name="TEI_hyph"/>
      <ref name="TEI_syll"/>
      <ref name="TEI_stress"/>
      <ref name="TEI_model.gramPart"/>
    </choice>
  </define>
  <define name="TEI_gramGrp">
    <element name="gramGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(grammatical information group) groups morpho-syntactic information about a lexical item, e.g. pos, gen, number, case, or
        iType (inflectional class). [9.3.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.inter"/>
          <ref name="TEI_model.gramPart"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_pos">
    <element name="pos">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(part of speech) indicates the part of speech assigned to a dictionary 
headword  such as noun, verb, or adjective.
     [9.3.2. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_subc">
    <element name="subc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(subcategorization) contains subcategorization information (transitive/intransitive, countable/non-countable,
        etc.) [9.3.2. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_colloc">
    <element name="colloc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(collocate) contains a collocate of the headword. [9.3.2. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_def">
    <element name="def">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(definition) contains definition text in a dictionary entry. [9.3.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_etym">
    <element name="etym">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(etymology) encloses the etymological information in a dictionary entry. [9.3.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.inter"/>
          <ref name="TEI_usg"/>
          <ref name="TEI_lbl"/>
          <ref name="TEI_def"/>
          <ref name="TEI_model.morphLike"/>
          <ref name="TEI_xr"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_lang">
    <element name="lang">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language name) contains the name of a language mentioned in etymological or other linguistic discussion. [9.3.4. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_usg">
    <element name="usg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(usage) contains usage information in a dictionary entry. [9.3.5.2. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the usage information using any convenient typology.
Sample values include: 1] geo(geographic) ; 2] time; 3] dom(domain) ; 4] register(register) ; 5] style; 6] plev(preference level) ; 7] lang(language) ; 8] gram(grammatical) ; 9] syn(synonym) ; 10] hyper(hypernym) ; 11] colloc(collocation) ; 12] comp(complement) ; 13] obj(object) ; 14] subj(subject) ; 15] verb; 16] hint</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_lbl">
    <element name="lbl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(label) contains a label for a form, example, translation, or other piece of information, e.g.
    abbreviation for, contraction of, literally, approximately, synonyms:, etc. [9.3.1.  9.3.3.2.  9.3.5.3. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the label using any convenient typology.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_xr">
    <element name="xr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cross-reference phrase) contains a phrase, sentence, or icon referring the reader to some other location in this or
    another text. [9.3.5.3. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.inter"/>
          <ref name="TEI_usg"/>
          <ref name="TEI_lbl"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the type of cross reference, using any convenient typology.
Sample values include: 1] syn(synonym) ; 2] etym(etymological) ; 3] cf(compare or consult) ; 4] illus(illustration) </a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_re">
    <element name="re">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(related entry) contains a dictionary entry for a lexical item related to the headword, such as a compound
    phrase or derived form, embedded inside a larger entry. [9.3.6. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_sense"/>
          <ref name="TEI_model.entryPart.top"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_model.ptrLike.form">
    <choice>
      <ref name="TEI_oRef"/>
      <ref name="TEI_oVar"/>
      <ref name="TEI_pRef"/>
      <ref name="TEI_pVar"/>
    </choice>
  </define>
  <define name="TEI_oRef">
    <element name="oRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(orthographic-form reference) in a dictionary example, indicates a reference to the orthographic form(s) of the headword. [9.4. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the kind of typographic modification made to the headword in the reference.
Sample values include: 1] cap(capital) ; 2] noHyph(no hyphen) </a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_oVar">
    <element name="oVar">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(orthographic-variant reference) in a dictionary example, indicates a reference to variant orthographic form(s) of the
    headword. [9. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_oRef"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the kind of variant involved.
Sample values include: 1] pt(past tense) ; 2] pp(past participle) ; 3] prp(present participle) ; 4] f(feminine) ; 5] pl(plural) </a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_pRef">
    <element name="pRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pronunciation reference) in a dictionary example, indicates a reference to the pronunciation(s) of the headword. [9.4. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_pVar">
    <element name="pVar">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pronunciation-variant reference) in a dictionary example, indicates a reference to variant pronunciation(s) of the headword. [9. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_pRef"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.lexicographic.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_set">
    <element name="set">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(setting) contains a description of the setting, time, locale, appearance, etc., of the action of a
    play, typically found in the front matter of a printed performance text (not a stage direction). [7.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.headLike"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <group>
            <group>
              <ref name="TEI_model.common"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </group>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_prologue">
    <element name="prologue">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the prologue to a drama, typically spoken by an actor out of character, possibly in
    association with a particular performance or venue. [7.1.2.  7.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <oneOrMore>
          <group>
            <ref name="TEI_model.common"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <zeroOrMore>
          <group>
            <ref name="TEI_model.divBottom"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_epilogue">
    <element name="epilogue">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the epilogue to a drama, typically spoken by an actor out of character, possibly in
    association with a particular performance or venue. [7.1.2.  7.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <oneOrMore>
          <group>
            <ref name="TEI_model.common"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <zeroOrMore>
          <group>
            <ref name="TEI_model.divBottom"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_performance">
    <element name="performance">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a section of front or back matter describing how a dramatic piece is to be
    performed in general or how it was performed on some specific occasion.  [7.1.3.  7.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <oneOrMore>
          <group>
            <ref name="TEI_model.common"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <zeroOrMore>
          <group>
            <ref name="TEI_model.divBottom"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_castList">
    <element name="castList">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cast list) contains a single cast list or dramatis personae. [7.1.4.  7.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <group>
            <ref name="TEI_model.common"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_castItem"/>
            <ref name="TEI_castGroup"/>
          </choice>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <zeroOrMore>
          <group>
            <ref name="TEI_model.common"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_castGroup">
    <element name="castGroup">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cast list grouping) groups one or more individual castItem
elements within a cast list. [7.1.4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.global"/>
            <ref name="TEI_model.headLike"/>
          </choice>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_castItem"/>
            <ref name="TEI_castGroup"/>
            <ref name="TEI_roleDesc"/>
          </choice>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </oneOrMore>
        <optional>
          <ref name="TEI_trailer"/>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_castItem">
    <element name="castItem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cast list item) contains a single entry within a cast list, describing
either a single role or a list of non-speaking roles. [7.1.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.castItemPart"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="role">
          <a:documentation>characterizes the cast item.
   </a:documentation>
          <choice>
            <value>role</value>
            <a:documentation>the item describes a single role.
       </a:documentation>
            <value>list</value>
            <a:documentation>the item describes a list of non-speaking roles.
   </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_role">
    <element name="role">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of a dramatic role, as given in a cast list. [7.1.4. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_roleDesc">
    <element name="roleDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(role description) describes a character's role in a drama. [7.1.4. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_actor">
    <element name="actor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of an actor appearing within a cast list. [7.1.4. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_spGrp">
    <element name="spGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (speech group) contains a group of speeches or songs in a performance text presented
  in a source as constituting a single unit or
  number. [7.2.3. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.global"/>
            <ref name="TEI_sp"/>
            <ref name="TEI_model.stageLike"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_move">
    <element name="move">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(movement) marks the actual entrance or exit of one or more characters on stage. [7.2.4. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes the movement, for example as an entrance or exit.
Suggested values include: 1] entrance; 2] exit; 3] onStage</a:documentation>
          <choice>
            <value>entrance</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">character is entering the stage.</a:documentation>
            <value>exit</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">character is exiting the stage.</a:documentation>
            <value>onStage</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">character moves on stage</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="where">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the direction of a stage movement.
Sample values include: 1] L(left) ; 2] R(right) ; 3] C(center) </a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.enumerated"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="perf">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(performance) identifies the performance or performances in which this movement occurred as specified.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_view">
    <element name="view">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the visual context of some part of a screen play in
terms of what the spectator sees, generally independent of any
dialogue. [7.3.1.  7.3. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_camera">
    <element name="camera">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a particular camera angle or viewpoint in a screen play. [7.3.1.  7.3. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_sound">
    <element name="sound">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a sound effect or musical sequence specified within a screen play or radio script. [7.3.1.  7.3. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the sound in some respect, e.g. as music, special effect, etc.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="discrete" a:defaultValue="unknown">
          <a:documentation>indicates whether the sound overlaps the surrounding speeches or interrupts them.</a:documentation>
          <ref name="TEI_data.xTruthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_caption">
    <element name="caption">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the text of a caption or other text displayed as part of
a film script or screenplay. [7.3.1.  7.3. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_tech">
    <element name="tech">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(technical stage direction) describes a special-purpose stage direction that is not
meant for the actors. [7.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the technical stage direction.</a:documentation>
          <choice>
            <value>light</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a lighting cue</a:documentation>
            <value>sound</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a sound cue</a:documentation>
            <value>prop</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a prop cue</a:documentation>
            <value>block</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a blocking instruction</a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="perf">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(performance) identifies the performance or performances to which this
technical direction applies.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_table">
    <element name="table">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains text displayed in tabular form, in rows and columns. [14.1.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.headLike"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <choice>
          <oneOrMore>
            <ref name="TEI_row"/>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <oneOrMore>
            <group>
              <ref name="TEI_model.graphicLike"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </oneOrMore>
        </choice>
        <zeroOrMore>
          <group>
            <ref name="TEI_model.divBottom"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="rows">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the number of rows in the table.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="cols">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(columns) indicates the number of columns in each row of the table.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_row">
    <element name="row">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one row of a table.  [14.1.1. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_cell"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.tableDecoration.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_cell">
    <element name="cell">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one cell of a table.  [14.1.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.tableDecoration.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_formula">
    <element name="formula">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a mathematical or other formula. [14.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.graphicLike"/>
          <ref name="TEI_model.hiLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="notation">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">names the notation used for the content of the element.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_notatedMusic">
    <element name="notatedMusic">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the presence of music notation in a text</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.labelLike"/>
          <ref name="TEI_model.ptrLike"/>
          <ref name="TEI_graphic"/>
          <ref name="TEI_binaryObject"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.placement.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_figure">
    <element name="figure">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups elements representing or containing graphic information
  such as an illustration, formula,  or    figure. [14.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.headLike"/>
          <ref name="TEI_model.common"/>
          <ref name="TEI_figDesc"/>
          <ref name="TEI_model.graphicLike"/>
          <ref name="TEI_model.global"/>
          <ref name="TEI_model.divBottomPart"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.placement.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_figDesc">
    <element name="figDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(description of figure) contains a brief prose description of the appearance or content
of a graphic figure, for use when documenting an image without
displaying it. [14.4. ]</a:documentation>
      <ref name="TEI_macro.limitedContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_g">
    <element name="g">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character or glyph) represents a glyph, or a non-standard character. [5. ]</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="ref">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to a description of the character or glyph intended.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_char">
    <element name="char">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character) provides descriptive information about a character. </a:documentation>
      <group>
        <optional>
          <ref name="TEI_charName"/>
        </optional>
        <zeroOrMore>
          <ref name="TEI_model.descLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_charProp"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_mapping"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_figure"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_model.graphicLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_model.noteLike"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_charName">
    <element name="charName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character name) contains the name of a character, expressed following Unicode conventions. </a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_charProp">
    <element name="charProp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character property) provides a name and value for some property of the parent character or glyph. </a:documentation>
      <group>
        <choice>
          <ref name="TEI_unicodeName"/>
          <ref name="TEI_localName"/>
        </choice>
        <ref name="TEI_value"/>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_charDecl">
    <element name="charDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character declarations) provides information about nonstandard characters and glyphs. </a:documentation>
      <group>
        <optional>
          <ref name="TEI_desc"/>
        </optional>
        <oneOrMore>
          <choice>
            <ref name="TEI_char"/>
            <ref name="TEI_glyph"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_glyph">
    <element name="glyph">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character glyph) provides descriptive information about a character glyph. </a:documentation>
      <group>
        <optional>
          <ref name="TEI_glyphName"/>
        </optional>
        <zeroOrMore>
          <ref name="TEI_model.descLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_charProp"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_mapping"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_figure"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_model.graphicLike"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_model.noteLike"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_glyphName">
    <element name="glyphName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character glyph name) contains the name of a glyph, expressed following Unicode conventions for character names. </a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_localName">
    <element name="localName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(locally-defined property name) contains a locally defined name for some property. </a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_mapping">
    <element name="mapping">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(character mapping) contains one or more
	 characters which are related to the parent character or glyph
	 in some respect, as specified by the type
	 attribute.
</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_unicodeName">
    <element name="unicodeName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unicode property name) contains the name of a registered Unicode normative or informative property. </a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="version">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the version number of the Unicode Standard in which this property name is
        defined.</a:documentation>
          <ref name="TEI_data.version"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_value">
    <element name="value">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value) contains a single value for some property, attribute, or other
  analysis.</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_teiHeader">
    <element name="teiHeader">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI Header) supplies the descriptive and declarative information making up an electronic title page
    prefixed to every TEI-conformant text. [2.1.1.  15.1. ]</a:documentation>
      <group>
        <ref name="TEI_fileDesc"/>
        <zeroOrMore>
          <ref name="TEI_model.teiHeaderPart"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_revisionDesc"/>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="text">
          <a:documentation>specifies the kind of document to which the header is attached, for example whether it
        is a corpus or individual text.
Sample values include: 1] text; 2] corpus</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_fileDesc">
    <element name="fileDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(file description) contains a full bibliographic description of an electronic file. [2.2.  2.1.1. ]</a:documentation>
      <group>
        <group>
          <ref name="TEI_titleStmt"/>
          <optional>
            <ref name="TEI_editionStmt"/>
          </optional>
          <optional>
            <ref name="TEI_extent"/>
          </optional>
          <ref name="TEI_publicationStmt"/>
          <optional>
            <ref name="TEI_seriesStmt"/>
          </optional>
          <optional>
            <ref name="TEI_notesStmt"/>
          </optional>
        </group>
        <oneOrMore>
          <ref name="TEI_sourceDesc"/>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_titleStmt">
    <element name="titleStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title statement) groups information about the title of a work and those responsible for its content. [2.2.1.  2.2. ]</a:documentation>
      <group>
        <oneOrMore>
          <ref name="TEI_title"/>
        </oneOrMore>
        <zeroOrMore>
          <ref name="TEI_model.respLike"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_sponsor">
    <element name="sponsor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the name of a sponsoring organization or institution. [2.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_funder">
    <element name="funder">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(funding body) specifies the name of an individual, institution, or organization responsible for the
    funding of a project or text. [2.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_principal">
    <element name="principal">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(principal researcher) supplies the name of the principal researcher responsible for the
creation of an electronic text. [2.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_editionStmt">
    <element name="editionStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(edition statement) groups information relating to one edition of a text. [2.2.2.  2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <ref name="TEI_edition"/>
          <zeroOrMore>
            <ref name="TEI_model.respLike"/>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_edition">
    <element name="edition">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(edition) describes the particularities of one edition of a text. [2.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_extent">
    <element name="extent">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the approximate size of a text stored on some carrier medium or of some other object, digital  or non-digital,  specified in any convenient units. [2.2.3.  2.2.  3.11.2.3.  10.7.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_publicationStmt">
    <element name="publicationStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publication statement) groups information concerning the publication or distribution of an electronic or other
    text.  [2.2.4.  2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="TEI_model.publicationStmtPart"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_distributor">
    <element name="distributor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the name of a person or other agency responsible for the
distribution of a text. [2.2.4. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_authority">
    <element name="authority">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(release authority) supplies the name of a person or other agency responsible for
  making a work available, other than a publisher or
  distributor. [2.2.4. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_idno">
    <element name="idno">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) supplies any form of identifier used to identify some object,
  such as a bibliographic item, a person, a title, an organization,
  etc. in a standardized way. [2.2.4.  2.2.5.  3.11.2.3. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_idno"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes the identifier, for example as an ISBN, Social
      Security number, etc. </a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_availability">
    <element name="availability">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies information about the availability of a text, for example any restrictions on its
    use or distribution, its copyright status, any licence applying to it, etc. [2.2.4. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_model.availabilityPart"/>
          <ref name="TEI_model.pLike"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="status" a:defaultValue="unknown">
          <a:documentation>supplies a code identifying the current availability of the text. </a:documentation>
          <choice>
            <value>free</value>
            <a:documentation>the text is freely available. </a:documentation>
            <value>unknown</value>
            <a:documentation>the status of the text is unknown. </a:documentation>
            <value>restricted</value>
            <a:documentation>the text is not freely available. </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_licence">
    <element name="licence">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about a licence or other legal agreement
  applicable to the text. [2.2.4. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_seriesStmt">
    <element name="seriesStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series statement) groups information about the series, if any, to which a publication belongs. [2.2.5.  2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <oneOrMore>
            <ref name="TEI_title"/>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="TEI_editor"/>
              <ref name="TEI_respStmt"/>
            </choice>
          </zeroOrMore>
          <zeroOrMore>
            <choice>
              <ref name="TEI_idno"/>
              <ref name="TEI_biblScope"/>
            </choice>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_notesStmt">
    <element name="notesStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(notes statement) collects together any notes providing information about a text additional to that recorded
    in other parts of the bibliographic description. [2.2.6.  2.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.noteLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_sourceDesc">
    <element name="sourceDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(source description) describes the source from which an electronic text was derived or generated, typically a
    bibliographic description in the case of a digitized text, or a phrase such as "born digital"
    for a text which has no previous existence. [2.2.7. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.biblLike"/>
            <ref name="TEI_model.sourceDescPart"/>
            <ref name="TEI_model.listLike"/>
          </choice>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_biblFull">
    <element name="biblFull">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(fully-structured bibliographic citation) contains a fully-structured bibliographic citation, in which all components of the TEI file
    description are present. [3.11.1.  2.2.  2.2.7.  15.3.2. ]</a:documentation>
      <group>
        <group>
          <ref name="TEI_titleStmt"/>
          <optional>
            <ref name="TEI_editionStmt"/>
          </optional>
          <optional>
            <ref name="TEI_extent"/>
          </optional>
          <ref name="TEI_publicationStmt"/>
          <optional>
            <ref name="TEI_seriesStmt"/>
          </optional>
          <optional>
            <ref name="TEI_notesStmt"/>
          </optional>
        </group>
        <zeroOrMore>
          <ref name="TEI_sourceDesc"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <ref name="TEI_att.docStatus.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_encodingDesc">
    <element name="encodingDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(encoding description) documents the relationship between an electronic text and the
source or sources from which it was derived. [2.3.  2.1.1. ]</a:documentation>
      <group>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.encodingDescPart"/>
            <ref name="TEI_model.pLike"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_projectDesc">
    <element name="projectDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(project description) describes in detail the aim or purpose for which an electronic file was encoded, together
    with any other relevant information concerning the process by which it was assembled or
    collected. [2.3.1.  2.3.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_samplingDecl">
    <element name="samplingDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the
    creation of a corpus or collection. [2.3.2.  2.3.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_editorialDecl">
    <element name="editorialDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(editorial practice declaration) provides details of editorial principles and practices applied
during the encoding of a text. [2.3.3.  2.3.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_model.pLike"/>
          <ref name="TEI_model.editorialDeclPart"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_correction">
    <element name="correction">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(correction principles) states how and under what circumstances corrections have been made in the text. [2.3.3.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="status" a:defaultValue="unknown">
          <a:documentation>indicates the degree of correction applied to the text. </a:documentation>
          <choice>
            <value>high</value>
            <a:documentation>the text has been thoroughly checked and proofread. </a:documentation>
            <value>medium</value>
            <a:documentation>the text has been checked at least once. </a:documentation>
            <value>low</value>
            <a:documentation>the text has not been checked. </a:documentation>
            <value>unknown</value>
            <a:documentation>the correction status of the text is unknown. </a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="method" a:defaultValue="silent">
          <a:documentation>indicates the method adopted to indicate corrections within the text. </a:documentation>
          <choice>
            <value>silent</value>
            <a:documentation>corrections have been made silently </a:documentation>
            <value>markup</value>
            <a:documentation>corrections have been represented using markup</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_normalization">
    <element name="normalization">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the extent of normalization or regularization of the original source carried out
    in converting it to electronic form. [2.3.3.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <optional>
        <attribute name="source">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the authority for any normalization carried out. </a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="method" a:defaultValue="silent">
          <a:documentation>indicates the method adopted to indicate normalizations within the text. </a:documentation>
          <choice>
            <value>silent</value>
            <a:documentation>normalization made silently </a:documentation>
            <value>markup</value>
            <a:documentation>normalization represented using markup </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_quotation">
    <element name="quotation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies editorial practice adopted with respect to quotation marks in the original.  [2.3.3.  15.3.2. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.pLike"/>
      </zeroOrMore>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="quotation-constraint-quotationContents">
        <rule context="tei:quotation">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="not(@marks) and not (tei:p)">
On <name/>, either the @marks attribute should be used, or a paragraph of description provided</report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <optional>
        <attribute name="marks">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(quotation marks) indicates whether or not quotation marks have been retained as content within the text. </a:documentation>
          <choice>
            <value>none</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">no quotation marks have been retained </a:documentation>
            <value>some</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">some quotation marks have been retained </a:documentation>
            <value>all</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">all quotation marks have been retained </a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="form" a:defaultValue="unknown">
          <a:documentation>specifies how quotation marks are indicated within the text.</a:documentation>
          <text/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_hyphenation">
    <element name="hyphenation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">summarizes the way in which hyphenation in a source text has been treated in an encoded
    version of it. [2.3.3.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="eol" a:defaultValue="some">
          <a:documentation>(end-of-line) indicates whether or not end-of-line hyphenation has been retained in a text.</a:documentation>
          <choice>
            <value>all</value>
            <a:documentation>all end-of-line hyphenation has been retained, even though the lineation of the
            original may not have been. </a:documentation>
            <value>some</value>
            <a:documentation>end-of-line hyphenation has been retained in some cases. </a:documentation>
            <value>hard</value>
            <a:documentation>all soft end-of-line hyphenation has been removed: any remaining end-od-line
            hyphenation should be retained. </a:documentation>
            <value>none</value>
            <a:documentation>all end-of-line hyphenation has been removed: any remaining hyphenation occurred
            within the line. </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_segmentation">
    <element name="segmentation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the principles according to which the text has been segmented, for example into
    sentences, tone-units, graphemic strata, etc. [2.3.3.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_stdVals">
    <element name="stdVals">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(standard values) specifies the format used when standardized date or number values are supplied. [2.3.3.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_interpretation">
    <element name="interpretation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the scope of any analytic or interpretive information added to the text in
    addition to the transcription.  [2.3.3. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_tagsDecl">
    <element name="tagsDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tagging declaration) provides detailed information about the tagging applied to a document. [2.3.4.  2.3. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_rendition"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_namespace"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_tagUsage">
    <element name="tagUsage">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies information about the usage of a specific element within a text.  [2.3.4. ]</a:documentation>
      <ref name="TEI_macro.limitedContent"/>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="gi">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(element name) specifies the name (generic identifier) of the element indicated by the tag.</a:documentation>
        <ref name="TEI_data.name"/>
      </attribute>
      <optional>
        <attribute name="occurs">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of occurrences of this element within the text.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="withId">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(with unique identifier) specifies the number of occurrences of this element within the text which bear a
        distinct value for the global xml:id attribute. </a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="render">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the identifier of a rendition element which defines how this element was rendered in the source text.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_namespace">
    <element name="namespace">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the formal name of the namespace to which the elements documented by its children
    belong.  [2.3.4. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_tagUsage"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="name">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the full formal name of the namespace concerned.</a:documentation>
        <ref name="TEI_data.namespace"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_rendition">
    <element name="rendition">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies information about the rendition or appearance of one or more elements in the source
    text. [2.3.4. ]</a:documentation>
      <ref name="TEI_macro.limitedContent"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="scheme">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the language used to describe the rendition.</a:documentation>
          <choice>
            <value>css</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Cascading Stylesheet Language</a:documentation>
            <value>xslfo</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Extensible Stylesheet Language Formatting Objects</a:documentation>
            <value>free</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Informal free text description</a:documentation>
            <value>other</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A user-defined rendition description language</a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="scope">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">where CSS is used, provides a way of defining
pseudo-elements, that is, styling rules
applicable to specific sub-portions of an element.
Sample values include: 1] first-line; 2] first-letter; 3] before; 4] after</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_styleDefDecl">
    <element name="styleDefDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (style definition language declaration) specifies the name of the formal language in which style or
  renditional information is supplied elsewhere in the document. [2.3.5. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.pLike"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.styleDef.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_refsDecl">
    <element name="refsDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(references declaration) specifies how canonical references are constructed for this
  text. [2.3.6.3.  2.3.  2.3.6. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="TEI_cRefPattern"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="TEI_refState"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_cRefPattern">
    <element name="cRefPattern">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(canonical reference pattern) specifies an expression and replacement pattern for transforming a canonical reference into
    a URI.  [2.3.6.3.  2.3.6.  2.3.6.2. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.pLike"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.patternReplacement.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.patternReplacement.attributes">
    <ref name="TEI_att.patternReplacement.attribute.matchPattern"/>
    <ref name="TEI_att.patternReplacement.attribute.replacementPattern"/>
  </define>
  <define name="TEI_att.patternReplacement.attribute.matchPattern">
    <attribute name="matchPattern">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a regular expression against which the values of other attributes
        can be matched.</a:documentation>
      <ref name="TEI_data.pattern"/>
    </attribute>
  </define>
  <define name="TEI_att.patternReplacement.attribute.replacementPattern">
    <attribute name="replacementPattern">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a replacement pattern which, once subpattern substitution
        has been performed, provides a URI.</a:documentation>
      <text/>
    </attribute>
  </define>
  <define name="TEI_prefixDef">
    <element name="prefixDef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (prefixing scheme used in data.pointer values) defines a prefixing scheme used in data.pointer values,
  showing how abbreviated URIs using the scheme may be expanded into full URIs. [16.2.3. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.pLike"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.patternReplacement.attributes"/>
      <attribute name="ident">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the identifier which functions as the prefix for an abbreviated
          pointing scheme such as a private URI scheme. The prefix constitutes the 
        text preceding the first colon.</a:documentation>
        <ref name="TEI_data.name"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_listPrefixDef">
    <element name="listPrefixDef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (list of prefix definitions) contains a list of definitions of prefixing schemes used in data.pointer values, showing how abbreviated URIs using each scheme may be expanded into full URIs. [16.2.3. ]</a:documentation>
      <group>
        <oneOrMore>
          <choice>
            <ref name="TEI_prefixDef"/>
            <ref name="TEI_listPrefixDef"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_refState">
    <element name="refState">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference state) specifies one component of a canonical reference defined by the milestone method. [2.3.6.3.  2.3.6. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.milestoneUnit.attributes"/>
      <ref name="TEI_att.edition.attributes"/>
      <optional>
        <attribute name="length">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the fixed length of the reference component.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="delim">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(delimiter) supplies a delimiting string following the reference component.</a:documentation>
          <text/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_classDecl">
    <element name="classDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(classification declarations) contains one or more taxonomies defining any classificatory
codes used elsewhere in the text. [2.3.7.  2.3. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_taxonomy"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_taxonomy">
    <element name="taxonomy">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines a typology either implicitly, by means of a bibliographic
    citation, or explicitly by a structured taxonomy. [2.3.7. ]</a:documentation>
      <choice>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.glossLike"/>
            <ref name="TEI_model.descLike"/>
          </choice>
        </zeroOrMore>
        <oneOrMore>
          <ref name="TEI_category"/>
        </oneOrMore>
        <group>
          <group>
            <ref name="TEI_model.biblLike"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_category"/>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_category">
    <element name="category">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an individual descriptive category, possibly nested within a superordinate
    category, within a user-defined taxonomy. [2.3.7. ]</a:documentation>
      <group>
        <choice>
          <oneOrMore>
            <ref name="TEI_catDesc"/>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="TEI_model.descLike"/>
              <ref name="TEI_model.glossLike"/>
            </choice>
          </zeroOrMore>
        </choice>
        <zeroOrMore>
          <ref name="TEI_category"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_catDesc">
    <element name="catDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(category description) describes some category within a taxonomy or text typology, either in the form of a brief
    prose description or in terms of the situational parameters used by the TEI formal textDesc. [2.3.7. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.limitedPhrase"/>
          <ref name="TEI_model.catDescPart"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_geoDecl">
    <element name="geoDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(geographic coordinates declaration) documents the notation and the datum used for geographic coordinates expressed as content of
    the geo element elsewhere within the document. [2.3.8. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="datum" a:defaultValue="WGS84">
          <a:documentation>supplies a commonly used code name for the datum employed.
Suggested values include: 1] WGS84(World Geodetic System) ; 2] MGRS(Military Grid Reference System) ; 3] OSGB36(ordnance survey great britain) ; 4] ED50(European Datum coordinate system) </a:documentation>
          <choice>
            <value>WGS84</value>
            <a:documentation>(World Geodetic System) a pair of numbers to be interpreted as latitude followed by longitude according to
            the World Geodetic System.</a:documentation>
            <value>MGRS</value>
            <a:documentation>(Military Grid Reference System) the values supplied are geospatial entity object codes, based on</a:documentation>
            <value>OSGB36</value>
            <a:documentation>(ordnance survey great britain) the value supplied is to be interpreted as a British National Grid Reference.</a:documentation>
            <value>ED50</value>
            <a:documentation>(European Datum coordinate system) the value supplied is to be interpreted as latitude followed by longitude according
            to the European Datum coordinate system.</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_appInfo">
    <element name="appInfo">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(application information) records information about an application which has
  edited the TEI file. </a:documentation>
      <oneOrMore>
        <ref name="TEI_model.applicationLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_application">
    <element name="application">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides information about an application which has acted upon the document.</a:documentation>
      <group>
        <oneOrMore>
          <ref name="TEI_model.labelLike"/>
        </oneOrMore>
        <choice>
          <zeroOrMore>
            <ref name="TEI_model.ptrLike"/>
          </zeroOrMore>
          <zeroOrMore>
            <ref name="TEI_model.pLike"/>
          </zeroOrMore>
        </choice>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <attribute name="ident">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Supplies an identifier for the application, independent of its version number or display
        name.</a:documentation>
        <ref name="TEI_data.name"/>
      </attribute>
      <attribute name="version">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Supplies a version number for the application, independent of its identifier or display
        name.</a:documentation>
        <data type="token">
          <param name="pattern">[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}</param>
        </data>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_profileDesc">
    <element name="profileDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text-profile description) provides a detailed description of non-bibliographic aspects of a text, specifically the
    languages and sublanguages used, the situation in which it was produced, the participants and
    their setting. [2.4.  2.1.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.profileDescPart"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_handNote">
    <element name="handNote">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(note on hand) describes a particular style or hand distinguished within a manuscript. [10.7.2. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.handFeatures.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_creation">
    <element name="creation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about the creation of a text. [2.4.1.  2.4. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.limitedPhrase"/>
          <ref name="TEI_listChange"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_langUsage">
    <element name="langUsage">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language usage) describes the languages, sublanguages, registers, dialects, etc.
represented within a text. [2.4.2.  2.4.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_language"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_language">
    <element name="language">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes a single language or sublanguage used within a text. [2.4.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="ident">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) Supplies a language code constructed as defined in BCP 47 which is used to identify the
        language documented by this element, and which is referenced by the global
        xml:lang attribute.</a:documentation>
        <ref name="TEI_data.language"/>
      </attribute>
      <optional>
        <attribute name="usage">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the approximate percentage (by volume) of the text which uses this language. </a:documentation>
          <data type="nonNegativeInteger">
            <param name="maxInclusive">100</param>
          </data>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_textClass">
    <element name="textClass">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text classification) groups information which describes the nature or topic of a text in terms of a standard
    classification scheme, thesaurus, etc. [2.4.3. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_classCode"/>
          <ref name="TEI_catRef"/>
          <ref name="TEI_keywords"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_keywords">
    <element name="keywords">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a list of keywords or phrases identifying the topic or nature of a text. [2.4.3. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_term"/>
        </oneOrMore>
        <ref name="TEI_list"/>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="scheme">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the controlled vocabulary within which the set of keywords concerned is
        defined. </a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_classCode">
    <element name="classCode">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(classification code) contains the classification code used for this text in some standard classification system. [2.4.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="scheme">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the classification system or taxonomy in use.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_catRef">
    <element name="catRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(category reference) specifies one or more defined categories within some taxonomy or text typology. [2.4.3. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <optional>
        <attribute name="scheme">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the classification scheme within which the set of categories concerned is
        defined </a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_calendarDesc">
    <element name="calendarDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(calendar description) contains a description of the calendar system used in any
  dating expression found in the text. [2.4.  2.4.4. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_calendar"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_calendar">
    <element name="calendar">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a calendar or dating system used in a dating formula in the text. [2.4.4. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_revisionDesc">
    <element name="revisionDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(revision description) summarizes the revision history for a file. [2.5.  2.1.1. ]</a:documentation>
      <choice>
        <ref name="TEI_list"/>
        <ref name="TEI_listChange"/>
        <oneOrMore>
          <ref name="TEI_change"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.docStatus.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_change">
    <element name="change">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents a change or set of changes made during the production
  of a source document, or during the revision of an electronic file. [2.5.  2.4.1. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.docStatus.attributes"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to one or more elements that belong to this change.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_typeNote">
    <element name="typeNote">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a particular font or other significant typographic feature distinguished within
    the description of a printed resource. [10.7.2. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.handFeatures.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_scriptNote">
    <element name="scriptNote">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a particular script distinguished within
    the description of a manuscript or similar resource. [10.7.2. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.handFeatures.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_listChange">
    <element name="listChange">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups a number of change descriptions associated 
with either the creation of a source text or the revision of an encoded text. </a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_listChange"/>
          <ref name="TEI_change"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="ordered" a:defaultValue="true">
          <a:documentation>indicates whether the ordering of its child change
elements is to be considered significant or not</a:documentation>
          <ref name="TEI_data.truthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_fsdDecl">
    <element name="fsdDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature system declaration) provides a feature system declaration comprising one or more
  feature structure declarations or feature structure declaration links. [18.11. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_fsDecl"/>
          <ref name="TEI_fsdLink"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_fsDecl">
    <element name="fsDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature structure declaration) declares one type of feature structure. [18.11. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_fsDescr"/>
        </optional>
        <oneOrMore>
          <ref name="TEI_fDecl"/>
        </oneOrMore>
        <optional>
          <ref name="TEI_fsConstraints"/>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a name for the type of feature structure being declared.</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
      <optional>
        <attribute name="baseTypes">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the name of one or more typed feature structures
	from which this type inherits feature specifications and
	constraints; 	
	if this type includes a feature specification
	with the same name as that of any of those specified by this
	attribute, or if more than one specification of the same name
	is inherited, then the set of possible values is defined by
	unification. Similarly, the set of constraints applicable is
	derived by combining those specified explicitly within this
	element with those implied by the baseTypes
	attribute. When no baseTypes attribute is specified, no
	feature specification or constraint is inherited.
 
      </a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.name"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_fsDescr">
    <element name="fsDescr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature system description (in FSD)) describes in prose what is represented by the type of feature
structure declared in the enclosing fsDecl. [18.11. ]</a:documentation>
      <ref name="TEI_macro.limitedContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_fsdLink">
    <element name="fsdLink">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature structure declaration link) associates the name of a typed feature structure with a feature
structure declaration for it. [18.11. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the type of feature structure to be documented;
      this will be the value of the type attribute on at least one
feature structure.</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
      <attribute name="target">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a pointer to a feature structure declaration
      (fsDecl) element within the current document or elsewhere. </a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_fDecl">
    <element name="fDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature declaration) declares a single feature, specifying its name, organization,
range of allowed values, and optionally its default value. [18.11. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_fDescr"/>
        </optional>
        <ref name="TEI_vRange"/>
        <optional>
          <ref name="TEI_vDefault"/>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="name">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a single word which follows the rules defining a
        legal XML name (see ), indicating the name of the feature being declared; matches the
name attribute of f elements in the text.</a:documentation>
        <ref name="TEI_data.name"/>
      </attribute>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="optional" a:defaultValue="true">
          <a:documentation>indicates whether or not the value of this feature may
	be present.</a:documentation>
          <data type="boolean"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_fDescr">
    <element name="fDescr">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature description (in FSD)) describes in prose what is represented by the feature being
declared and its values. [18.11. ]</a:documentation>
      <ref name="TEI_macro.limitedContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_vRange">
    <element name="vRange">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value range) defines the range of allowed values for a feature, in the form of
an fs, vAlt, or primitive value;
for the value of an f to be valid, it must be
subsumed by the specified range; if the f
contains multiple values (as sanctioned by the org attribute),
then each value must be subsumed by the vRange. [18.11. ]</a:documentation>
      <ref name="TEI_model.featureVal"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_vDefault">
    <element name="vDefault">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value default) declares the default value to be supplied when a feature structure
does not contain an instance of f for this name; if
unconditional, it is specified as one (or, depending on the value of
the org attribute of the enclosing fDecl) more
fs elements or primitive values;
if conditional, it is specified as
one or more if elements; if no default is specified, or no
condition matches, the value none is assumed. [18.11. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.featureVal"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="TEI_if"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_if">
    <element name="if">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines a conditional default value for a feature; the condition
is specified as a feature structure, and is met if it
subsumes the feature structure in the text for which a
default value is sought. [18.11. ]</a:documentation>
      <group>
        <choice>
          <ref name="TEI_fs"/>
          <ref name="TEI_f"/>
        </choice>
        <ref name="TEI_then"/>
        <group>
          <ref name="TEI_model.featureVal"/>
        </group>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_then">
    <element name="then">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">separates the condition from the default in an if, or
the antecedent and the consequent in a cond element. [18.11. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_fsConstraints">
    <element name="fsConstraints">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature-structure constraints) specifies constraints on the content of valid feature
structures. [18.11. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_cond"/>
          <ref name="TEI_bicond"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_cond">
    <element name="cond">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(conditional feature-structure constraint) defines a conditional feature-structure constraint; the consequent
and the antecedent are specified as feature structures or
feature-structure collections; the constraint is satisfied if both the
antecedent and the consequent subsume a given feature
structure, or if the antecedent does not. [18.11. ]</a:documentation>
      <group>
        <choice>
          <ref name="TEI_fs"/>
          <ref name="TEI_f"/>
        </choice>
        <ref name="TEI_then"/>
        <choice>
          <ref name="TEI_fs"/>
          <ref name="TEI_f"/>
        </choice>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_bicond">
    <element name="bicond">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(bi-conditional feature-structure constraint) defines a biconditional feature-structure constraint; both
consequent and antecedent are specified as feature structures or groups
of feature structures; the constraint is satisfied if both
subsume a given feature structure, or if both do not. [18.11. ]</a:documentation>
      <group>
        <choice>
          <ref name="TEI_fs"/>
          <ref name="TEI_f"/>
        </choice>
        <ref name="TEI_iff"/>
        <choice>
          <ref name="TEI_fs"/>
          <ref name="TEI_f"/>
        </choice>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_iff">
    <element name="iff">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(if and only if) separates the condition from the consequence in a bicond
element. [18.11. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_fs">
    <element name="fs">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature structure) represents a feature structure, that is, a
  collection of feature-value pairs organized as a
structural unit. [18.2. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_f"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datcat.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the type of the feature structure.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="feats">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(features) references the feature-value specifications making up this feature structure.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_f">
    <element name="f">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature) represents a feature value specification, that
  is, the association of a name with a value of any of several different types. [18.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.featureVal"/>
        </choice>
      </zeroOrMore>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="f-constraint-fValConstraints">
        <rule xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" context="tei:fVal">
          <assert test="not(tei:* and text)"> A feature value cannot
    contain both text and element content</assert>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="f-constraint-fValConstraints">
        <rule xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" context="tei:fVal">
          <report test="count(tei:*)&gt;1"> A feature value can contain
    only one child element</report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datcat.attributes"/>
      <attribute name="name">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a single word which follows the rules defining a
        legal XML name (see ), providing a name for the feature.</a:documentation>
        <ref name="TEI_data.name"/>
      </attribute>
      <optional>
        <attribute name="fVal">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature value) references any element which can be used to represent the
  value of a feature.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_binary">
    <element name="binary">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(binary value) represents the value part of a feature-value specification which can contain either
  of exactly two possible values. [18.2. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datcat.attributes"/>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a binary value.</a:documentation>
        <ref name="TEI_data.truthValue"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_symbol">
    <element name="symbol">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(symbolic value) represents the value part of a feature-value specification
  which contains one of a finite list of symbols. [18.3. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datcat.attributes"/>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the symbolic value for the feature, one of a finite list that
may be specified in a feature declaration.</a:documentation>
        <ref name="TEI_data.word"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_numeric">
    <element name="numeric">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(numeric value) represents the value part of a feature-value specification
  which contains a numeric value or range. [18.3. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datcat.attributes"/>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a lower bound for the numeric value represented,
      and also (if max is not supplied) its upper bound.</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
      <optional>
        <attribute name="max">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies an upper bound for the numeric value represented.</a:documentation>
          <ref name="TEI_data.numeric"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="trunc">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies whether the value represented should be
	  truncated to give an integer value.</a:documentation>
          <ref name="TEI_data.truthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_string">
    <element name="string">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(string value) represents the value part of a feature-value specification
  which contains a string. [18.3. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datcat.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_vLabel">
    <element name="vLabel">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value label) represents the value part of a feature-value specification
  which appears at more than one point in a feature structure. [18.6. ]</a:documentation>
      <optional>
        <ref name="TEI_model.featureVal"/>
      </optional>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="name">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a name for the sharing point.</a:documentation>
        <ref name="TEI_data.word"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_vColl">
    <element name="vColl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(collection of values) represents the value part of a feature-value specification
  which contains multiple values organized as a set, bag, or list. [18.7. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_fs"/>
            <ref name="TEI_model.featureVal.single"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="org">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organization) indicates organization of given value or values as  set, bag or list.</a:documentation>
          <choice>
            <value>set</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that the given values are organized as a set.
   </a:documentation>
            <value>bag</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that the given values are organized as a
bag (multiset).
   </a:documentation>
            <value>list</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that the given values are organized as a
list.</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_default">
    <element name="default">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(default feature value) represents the value part of a feature-value specification
  which contains a defaulted value. [18.9. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_vAlt">
    <element name="vAlt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value alternation) represents the value part of a feature-value specification
  which contains a set of values, only one of which can be valid. [18.8.1. ]</a:documentation>
      <group>
        <group>
          <ref name="TEI_model.featureVal"/>
        </group>
        <oneOrMore>
          <ref name="TEI_model.featureVal"/>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_vNot">
    <element name="vNot">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value negation) represents a feature value which is the negation of its content. [18.8.2. ]</a:documentation>
      <group>
        <ref name="TEI_model.featureVal"/>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_vMerge">
    <element name="vMerge">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(merged collection of values) represents a feature value which is the result of merging
  together the feature values contained by its children, using the organization
  specified by the org attribute. [18.8.3. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.featureVal"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="org">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the organization of the resulting merged values as  set, bag or list.</a:documentation>
          <choice>
            <value>set</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that the resulting values are organized as a set.</a:documentation>
            <value>bag</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that the resulting values are organized as a bag (multiset).
   </a:documentation>
            <value>list</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates that the resulting values are organized as a list.</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_fLib">
    <element name="fLib">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature library) assembles a library of feature elements. [18.4. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_f"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_fvLib">
    <element name="fvLib">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(feature-value library) assembles a library of reusable feature value elements
  (including complete feature structures). [18.4. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.featureVal"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_link">
    <element name="link">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines an association or hypertextual link among elements or passages, of some type not more precisely specifiable by other elements. [16.1. ]</a:documentation>
      <empty/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="link-constraint-linkTargets1">
        <rule context="tei:link">
          <sch:report xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="@target and @targets">You may not supply both 
	@target and @targets on <sch:name/>
               </sch:report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="link-constraint-linkTargets2">
        <rule context="tei:link">
          <sch:report xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="not(@target) and not(@targets)">You must
	supply either @target or @targets on <sch:name/>
               </sch:report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="link-constraint-linkTargets3">
        <rule context="tei:link">
          <sch:assert xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="contains(@target,' ')">You must supply at least two
values for @target on <sch:name/>
               </sch:assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="targets">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the identifiers of the elements or passages to be linked or associated. </a:documentation>
          <list>
            <ref name="TEI_data.pointer"/>
            <ref name="TEI_data.pointer"/>
            <zeroOrMore>
              <ref name="TEI_data.pointer"/>
            </zeroOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_linkGrp">
    <element name="linkGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(link group) defines a collection of associations or hypertextual links. [16.1. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_link"/>
          <ref name="TEI_ptr"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.group.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_ab">
    <element name="ab">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(anonymous block) contains any arbitrary component-level unit of text, acting as an anonymous container for phrase or inter level elements analogous to, but without the semantic baggage of, a paragraph. [16.3. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.fragmentable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_anchor">
    <element name="anchor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(anchor point) attaches an identifier to a point within a text, whether or not it corresponds with a textual element. [8.4.2.  16.4. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_seg">
    <element name="seg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(arbitrary segment) represents any segmentation of text below the chunk level. [16.3.  6.2.  7.2.5. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.segLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.responsibility.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_when">
    <element name="when">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates a point in time either relative to other elements in the same timeline tag, or absolutely. [16.5.2. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="absolute">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies an absolute value for the time.</a:documentation>
          <ref name="TEI_data.temporal.w3c"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="unit">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the unit of time in which the interval value is expressed, if this is not inherited from the parent timeline.
Suggested values include: 1] d(days) ; 2] h(hours) ; 3] min(minutes) ; 4] s(seconds) ; 5] ms(milliseconds) </a:documentation>
          <choice>
            <value>d</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(days) </a:documentation>
            <value>h</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hours) </a:documentation>
            <value>min</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(minutes) </a:documentation>
            <value>s</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(seconds) </a:documentation>
            <value>ms</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(milliseconds) </a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="interval">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the numeric portion of a time interval</a:documentation>
          <choice>
            <data type="float">
              <param name="minExclusive">0</param>
            </data>
            <value>unknown</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="since">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the reference point for determining the time of the current when element, which is obtained by adding the interval to the time of the reference point.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_timeline">
    <element name="timeline">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(timeline) provides a set of ordered points in time which can be linked to elements of a spoken text to create a temporal alignment of that text. [16.5.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_when"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="origin">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">designates the origin of the timeline, i.e. the time at which it begins.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="unit">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the unit of time corresponding to the interval value of the timeline or of its constituent points in time.
Suggested values include: 1] d(days) ; 2] h(hours) ; 3] min(minutes) ; 4] s(seconds) ; 5] ms(milliseconds) </a:documentation>
          <choice>
            <value>d</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(days) </a:documentation>
            <value>h</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hours) </a:documentation>
            <value>min</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(minutes) </a:documentation>
            <value>s</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(seconds) </a:documentation>
            <value>ms</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(milliseconds) </a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="interval">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the numeric portion of a time interval</a:documentation>
          <choice>
            <data type="float">
              <param name="minExclusive">0</param>
            </data>
            <value>regular</value>
            <value>irregular</value>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_join">
    <element name="join">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies a possibly fragmented segment of text, by pointing at the possibly discontiguous elements which compose it. [16.7. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.descLike"/>
          <ref name="TEI_model.certLike"/>
        </choice>
      </zeroOrMore>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="join-constraint-joinTargets1">
        <rule context="tei:join">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@target and @targets">
You may not supply both @target and @targets on <name/>
               </report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="join-constraint-joinTargets2">
        <rule context="tei:join">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="not(@target) and not(@targets)">
You must supply either @target or @targets on <name/>
               </report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="join-constraint-joinTargets3">
        <rule context="tei:join">
          <assert xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="contains(@target,' ')">
You must supply at least two values for @target on <name/>
               </assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="targets">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the identifiers of the elements or passages to be joined into a virtual element.</a:documentation>
          <list>
            <ref name="TEI_data.pointer"/>
            <ref name="TEI_data.pointer"/>
            <zeroOrMore>
              <ref name="TEI_data.pointer"/>
            </zeroOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="result">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the name of an element which this aggregation may be understood to represent.</a:documentation>
          <ref name="TEI_data.name"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="scope" a:defaultValue="root">
          <a:documentation>indicates whether the targets to be joined include the entire element indicated (the entire subtree including its root), or just the children of the target (the branches of the subtree).</a:documentation>
          <choice>
            <value>root</value>
            <a:documentation>the rooted subtrees indicated by the targets attribute are joined, each subtree become a child of the virtual element created by the join</a:documentation>
            <value>branches</value>
            <a:documentation>the children of the subtrees indicated by the targets attribute become the children of the virtual element (i.e. the roots of the subtrees are discarded)</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_joinGrp">
    <element name="joinGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(join group) groups a collection of join elements and possibly pointers. [16.7. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.glossLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_join"/>
            <ref name="TEI_ptr"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.group.attributes"/>
      <optional>
        <attribute name="result">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the result of the joins gathered in this collection.</a:documentation>
          <ref name="TEI_data.name"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_alt">
    <element name="alt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternation) identifies an alternation or a set of choices among elements or passages. [16.8. ]</a:documentation>
      <empty/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="alt-constraint-altTargets1">
        <rule context="tei:alt">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@target and @targets">You may not supply both 
	@target and @targets on <name/>
               </report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="alt-constraint-altTargets2">
        <rule context="tei:alt">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="not(@target) and not(@targets)">You must
	supply either @target or @targets on <name/>
               </report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attribute.targetLang"/>
      <ref name="TEI_att.pointing.attribute.evaluate"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the destination of the reference by supplying one or more URI References</a:documentation>
          <list>
            <ref name="TEI_data.pointer"/>
            <ref name="TEI_data.pointer"/>
            <zeroOrMore>
              <ref name="TEI_data.pointer"/>
            </zeroOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="targets">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the identifiers of the alternative elements or passages.</a:documentation>
          <list>
            <ref name="TEI_data.pointer"/>
            <ref name="TEI_data.pointer"/>
            <zeroOrMore>
              <ref name="TEI_data.pointer"/>
            </zeroOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="mode">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">states whether the alternations gathered in this collection are exclusive or
                inclusive.</a:documentation>
          <choice>
            <value>excl</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(exclusive) indicates that the alternation is exclusive, i.e. that at most one of the
                        alternatives occurs.</a:documentation>
            <value>incl</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(inclusive) indicates that the alternation is not exclusive, i.e. that one or more of
                        the alternatives occur.</a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="weights">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">If mode is , each weight states the probability that
                the corresponding alternative occurs. If mode is incl each
                weight states the probability that the corresponding alternative occurs given that
                at least one of the other alternatives occurs.</a:documentation>
          <list>
            <ref name="TEI_data.probability"/>
            <ref name="TEI_data.probability"/>
            <zeroOrMore>
              <ref name="TEI_data.probability"/>
            </zeroOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_altGrp">
    <element name="altGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternation group) groups a collection of alt elements and possibly pointers. [16.8. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_alt"/>
          <ref name="TEI_ptr"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.group.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="mode" a:defaultValue="excl">
          <a:documentation>states whether the alternations gathered in this collection are exclusive or
                inclusive.</a:documentation>
          <choice>
            <value>excl</value>
            <a:documentation>(exclusive) indicates that the alternation is exclusive, i.e. that at most one of the
                        alternatives occurs.</a:documentation>
            <value>incl</value>
            <a:documentation>(inclusive) indicates that the alternation is not exclusive, i.e. that one or more of
                        the alternatives occur.</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.global.linking.attributes">
    <ref name="TEI_att.global.linking.attribute.corresp"/>
    <ref name="TEI_att.global.linking.attribute.synch"/>
    <ref name="TEI_att.global.linking.attribute.sameAs"/>
    <ref name="TEI_att.global.linking.attribute.copyOf"/>
    <ref name="TEI_att.global.linking.attribute.next"/>
    <ref name="TEI_att.global.linking.attribute.prev"/>
    <ref name="TEI_att.global.linking.attribute.exclude"/>
    <ref name="TEI_att.global.linking.attribute.select"/>
  </define>
  <define name="TEI_att.global.linking.attribute.corresp">
    <optional>
      <attribute name="corresp">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(corresponds) points to elements that correspond to the current
      element in some way.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.linking.attribute.synch">
    <optional>
      <attribute name="synch">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(synchronous) points to elements that are synchronous with the current
      element.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.linking.attribute.sameAs">
    <optional>
      <attribute name="sameAs">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to an element that is the same as the current
      element.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.linking.attribute.copyOf">
    <optional>
      <attribute name="copyOf">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to an element of which the current element is a
	copy.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.linking.attribute.next">
    <optional>
      <attribute name="next">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to the next element of a virtual aggregate of which
      the current element is part.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.linking.attribute.prev">
    <optional>
      <attribute name="prev">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(previous) points to the previous element of a virtual aggregate of
      which the current element is part.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.linking.attribute.exclude">
    <optional>
      <attribute name="exclude">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to elements that are in exclusive alternation
      with the current element.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.linking.attribute.select">
    <optional>
      <attribute name="select">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">selects one or more alternants; if one alternant is
      selected, the ambiguity or uncertainty is marked as resolved. If
      more than one alternant is selected, the degree of ambiguity or
      uncertainty is marked as reduced by the number of alternants not
      selected.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_msDesc">
    <element name="msDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript description) contains a description of a single identifiable
manuscript or other text-bearing object. [10.1. ]</a:documentation>
      <group>
        <ref name="TEI_msIdentifier"/>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <choice>
          <oneOrMore>
            <ref name="TEI_model.pLike"/>
          </oneOrMore>
          <group>
            <optional>
              <ref name="TEI_msContents"/>
            </optional>
            <optional>
              <ref name="TEI_physDesc"/>
            </optional>
            <optional>
              <ref name="TEI_history"/>
            </optional>
            <optional>
              <ref name="TEI_additional"/>
            </optional>
            <zeroOrMore>
              <ref name="TEI_msPart"/>
            </zeroOrMore>
          </group>
        </choice>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_catchwords">
    <element name="catchwords">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the system used to ensure
correct ordering of the quires making up a codex or incunable,
typically by means of annotations at the foot of the page. [10.3.7. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_dimensions">
    <element name="dimensions">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a dimensional specification. [10.3.4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_dim"/>
            <ref name="TEI_model.dimLike"/>
          </choice>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="dimensions-constraint-duplicateDim1">
        <rule context="tei:dimensions">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="count(tei:width)&gt; 1">
The element <name/> may appear once only
      </report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="dimensions-constraint-duplicateDim2">
        <rule context="tei:dimensions">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="count(tei:height)&gt; 1">
The element <name/> may appear once only
      </report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="dimensions-constraint-duplicateDim3">
        <rule context="tei:dimensions">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="count(tei:depth)&gt; 1">
The element <name/> may appear once only
      </report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.dimensions.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates which aspect of the object is being measured. 
Sample values include: 1] leaves; 2] ruled; 3] pricked; 4] written; 5] miniatures; 6] binding; 7] box</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_dim">
    <element name="dim">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any single measurement forming part of a dimensional
specification of some sort. [10.3.4. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.dimensions.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_height">
    <element name="height">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a measurement measured along the
  axis at right angles to the bottom of the written surface,
  i.e. parallel to the spine for a codex or book.  [10.3.4. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.dimensions.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_depth">
    <element name="depth">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a measurement measured across the
  spine of a book or codex, or (for other text-bearing objects) perpendicular to the measurement given by the
  width element.  [10.3.4. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.dimensions.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_width">
    <element name="width">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a measurement measured along the
  axis parallel to the bottom of the written surface, i.e. 
perpendicular to the spine of a book or codex.  [10.3.4. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.dimensions.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_heraldry">
    <element name="heraldry">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a heraldic formula
or phrase, typically found as part of a blazon, coat of arms, etc. 
 [10.3.8. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_locus">
    <element name="locus">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines a location within a manuscript or manuscript part, usually as a
    (possibly discontinuous) sequence of folio references.  [10.3.5. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <optional>
        <attribute name="scheme">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the foliation scheme in terms of which the location is being
        specified.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="from">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the starting point of the location in a normalized form.</a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="to">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the end-point of the location in a normalized form.</a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_locusGrp">
    <element name="locusGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups a number of locations which together form a
  distinct but discontinuous item within a manuscript or manuscript
  part, according to a specific foliation.
   [10.3.5. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_locus"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="scheme">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the foliation scheme in terms of which all the
      locations contained by the group are specified.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_material">
    <element name="material">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase describing the
  material of which  the object being described is composed.
   [10.3.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_objectType">
    <element name="objectType">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase describing the type of object being refered to.
   [10.3.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_origDate">
    <element name="origDate">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(origin date) contains any form of date, used to
  identify the date of origin for a manuscript or manuscript part.
   [10.3.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_origPlace">
    <element name="origPlace">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(origin place) contains any form of place name, used to identify the
place of origin for a manuscript or manuscript part.  [10.3.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_secFol">
    <element name="secFol">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(second folio) marks the word or words taken from a fixed point
in a codex (typically the beginning of the
second leaf) in order
to provide a unique identifier for it.

 [10.3.7. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_signatures">
    <element name="signatures">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains discussion of the leaf or quire signatures found within a codex. [10.3.7. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_stamp">
    <element name="stamp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase describing a
stamp or similar device. [10.3.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_watermark">
    <element name="watermark">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a word or phrase describing a
watermark or similar device. [10.3.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_msIdentifier">
    <element name="msIdentifier">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript identifier) contains the information required to identify
the  manuscript being described.  [10.4. ]</a:documentation>
      <group>
        <group>
          <ref name="TEI_model.placeNamePart_sequenceOptional"/>
          <optional>
            <ref name="TEI_institution"/>
          </optional>
          <optional>
            <ref name="TEI_repository"/>
          </optional>
          <zeroOrMore>
            <ref name="TEI_collection"/>
          </zeroOrMore>
          <optional>
            <ref name="TEI_idno"/>
          </optional>
        </group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_msName"/>
            <ref name="TEI_altIdentifier"/>
          </choice>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="msIdentifier-constraint-msId_minimal">
        <rule context="tei:msIdentifier">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="local-name(*[1])='idno' or                              local-name(*[1])='altIdentifier' or        .='' ">
You must supply either a locator of some type or a name for <name/>
               </report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_institution">
    <element name="institution">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of an organization such as a university or
  library, with which a manuscript is identified, generally its
  holding institution. [10.4. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_repository">
    <element name="repository">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of a repository within which manuscripts are stored, possibly forming part of an institution. [10.4. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_collection">
    <element name="collection">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of a collection of
manuscripts, not necessarily located within a single repository.  [10.4. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_altIdentifier">
    <element name="altIdentifier">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternative identifier) contains an alternative or former structured identifier used for
a manuscript, such as a former catalogue number. [10.4. ]</a:documentation>
      <group>
        <ref name="TEI_model.placeNamePart_sequenceOptional"/>
        <optional>
          <ref name="TEI_institution"/>
        </optional>
        <optional>
          <ref name="TEI_repository"/>
        </optional>
        <optional>
          <ref name="TEI_collection"/>
        </optional>
        <ref name="TEI_idno"/>
        <optional>
          <ref name="TEI_note"/>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_msName">
    <element name="msName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternative name) contains any form of unstructured alternative
name used for a manuscript, such as an  ocellus
nominum, or nickname.  [10.4. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_colophon">
    <element name="colophon">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the  colophon
of a  manuscript item: that is, a statement providing information regarding the date, place, agency, or reason for production of the manuscript. [10.6.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_explicit">
    <element name="explicit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the  explicit of a
manuscript item, that is, the closing words of the text proper,
exclusive of any rubric or colophon which might follow it.
   [10.6.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.msExcerpt.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_filiation">
    <element name="filiation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information concerning the manuscript's filiation, i.e. its relationship to other surviving manuscripts of the same text, its protographs, antigraphs and apographs. [10.6.1. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_finalRubric">
    <element name="finalRubric">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the string of words that denotes the end of a text division, often with an assertion as to its author and title, usually set off from the text itself by red ink, by a different size or type of script, or by some other such visual device. [10.6.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_incipit">
    <element name="incipit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the incipit of a manuscript item, that is the opening words of the text proper, exclusive of any rubric which might precede it, of sufficient length to identify the work uniquely; such incipts were, in fomer times, frequently used a means of reference to a work, in place of a title. [10.6.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.msExcerpt.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_msContents">
    <element name="msContents">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript contents) describes the intellectual content of a manuscript or manuscript
    part, either as a series of paragraphs or as a series of structured manuscript items. [10.6. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="TEI_summary"/>
          </optional>
          <optional>
            <ref name="TEI_textLang"/>
          </optional>
          <optional>
            <ref name="TEI_titlePage"/>
          </optional>
          <zeroOrMore>
            <choice>
              <ref name="TEI_msItem"/>
              <ref name="TEI_msItemStruct"/>
            </choice>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.msExcerpt.attributes"/>
      <optional>
        <attribute name="class">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the text types or classifications applicable to this object.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_msItem">
    <element name="msItem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript item) describes an individual work or item within the intellectual
  content of a manuscript or manuscript part.  [10.6.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_locus"/>
            <ref name="TEI_locusGrp"/>
          </choice>
        </zeroOrMore>
        <choice>
          <oneOrMore>
            <ref name="TEI_model.pLike"/>
          </oneOrMore>
          <oneOrMore>
            <choice>
              <ref name="TEI_model.titlepagePart"/>
              <ref name="TEI_model.msItemPart"/>
              <ref name="TEI_model.global"/>
            </choice>
          </oneOrMore>
        </choice>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.msExcerpt.attributes"/>
      <optional>
        <attribute name="class">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the text types or classifications applicable to this
item</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_msItemStruct">
    <element name="msItemStruct">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(structured manuscript item) contains a structured description for an
  individual work or item within the intellectual content of a
  manuscript or manuscript part. [10.6.1. ]</a:documentation>
      <group>
        <optional>
          <choice>
            <ref name="TEI_locus"/>
            <ref name="TEI_locusGrp"/>
          </choice>
        </optional>
        <choice>
          <oneOrMore>
            <ref name="TEI_model.pLike"/>
          </oneOrMore>
          <group>
            <zeroOrMore>
              <ref name="TEI_author"/>
            </zeroOrMore>
            <zeroOrMore>
              <ref name="TEI_respStmt"/>
            </zeroOrMore>
            <zeroOrMore>
              <ref name="TEI_title"/>
            </zeroOrMore>
            <optional>
              <ref name="TEI_rubric"/>
            </optional>
            <optional>
              <ref name="TEI_incipit"/>
            </optional>
            <zeroOrMore>
              <ref name="TEI_msItemStruct"/>
            </zeroOrMore>
            <optional>
              <ref name="TEI_explicit"/>
            </optional>
            <optional>
              <ref name="TEI_finalRubric"/>
            </optional>
            <zeroOrMore>
              <ref name="TEI_colophon"/>
            </zeroOrMore>
            <zeroOrMore>
              <ref name="TEI_decoNote"/>
            </zeroOrMore>
            <zeroOrMore>
              <ref name="TEI_listBibl"/>
            </zeroOrMore>
            <zeroOrMore>
              <choice>
                <ref name="TEI_bibl"/>
                <ref name="TEI_biblStruct"/>
              </choice>
            </zeroOrMore>
            <zeroOrMore>
              <ref name="TEI_model.noteLike"/>
            </zeroOrMore>
            <optional>
              <ref name="TEI_textLang"/>
            </optional>
          </group>
        </choice>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.msExcerpt.attributes"/>
      <optional>
        <attribute name="class">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the text types or classifications applicable to this
item</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_rubric">
    <element name="rubric">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the text of any rubric or heading attached to a particular manuscript item, that is, a string of words through which a
manuscript signals the beginning of a text division, often with an assertion as to its author and title, which is in some way set off from the text itself, usually in red ink, or by use of different size or type of script, or some other such visual device. [10.6.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_summary">
    <element name="summary">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an overview of the available
  information concerning some aspect of an item (for example, its
intellectual content, history, layout, typography etc.) as a
complement or alternative to the  more detailed information  carried by
  more specific elements.</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.msExcerpt.attributes">
    <ref name="TEI_att.msExcerpt.attribute.defective"/>
  </define>
  <define name="TEI_att.msExcerpt.attribute.defective">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="defective" a:defaultValue="false">
        <a:documentation>indicates whether the passage being quoted is defective,
      i.e. incomplete through loss or damage.</a:documentation>
        <ref name="TEI_data.xTruthValue"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_physDesc">
    <element name="physDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(physical description) contains a full physical description of a
manuscript or manuscript part, optionally subdivided using more
specialized elements from the model.physDescPart class. [10.7. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.pLike"/>
        </zeroOrMore>
        <group>
          <ref name="TEI_model.physDescPart_sequenceOptional"/>
        </group>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_objectDesc">
    <element name="objectDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the physical
  components making up the object which is being described. [10.7.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="TEI_supportDesc"/>
          </optional>
          <optional>
            <ref name="TEI_layoutDesc"/>
          </optional>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="form">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a short  project-specific name identifying the physical form of
      the carrier, for example as a codex, roll, fragment, partial leaf,
      cutting etc.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_supportDesc">
    <element name="supportDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(support description) groups elements describing the physical support for the written part of a manuscript. [10.7.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="TEI_support"/>
          </optional>
          <optional>
            <ref name="TEI_extent"/>
          </optional>
          <zeroOrMore>
            <ref name="TEI_foliation"/>
          </zeroOrMore>
          <optional>
            <ref name="TEI_collation"/>
          </optional>
          <optional>
            <ref name="TEI_condition"/>
          </optional>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="material">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a short project-defined name for the material composing
      the majority of the support
Suggested values include: 1] paper (paper) ; 2] parch(parchment) ; 3] mixed</a:documentation>
          <choice>
            <value>paper</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (paper) </a:documentation>
            <value>parch</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(parchment) </a:documentation>
            <value>mixed</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_support">
    <element name="support">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the materials
etc. which make up the physical support for the written part of a manuscript. [10.7.1. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_collation">
    <element name="collation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of how the leaves or bifolia are physically
arranged. [10.7.1. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_foliation">
    <element name="foliation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the numbering system or systems used to 
count the leaves or pages in a codex. [10.7.1.4. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_condition">
    <element name="condition">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the physical
condition of the manuscript.  [10.7.1.5. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_layoutDesc">
    <element name="layoutDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(layout description) collects the set of layout descriptions applicable to a manuscript. [10.7.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="TEI_summary"/>
          </optional>
          <oneOrMore>
            <ref name="TEI_layout"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_layout">
    <element name="layout">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes how text is laid out on the
  page, including information about any ruling, pricking, or other
  evidence of page-preparation techniques. [10.7.2. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="columns">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of columns per page</a:documentation>
          <list>
            <ref name="TEI_data.count"/>
            <optional>
              <ref name="TEI_data.count"/>
            </optional>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="ruledLines">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of ruled lines per column</a:documentation>
          <list>
            <ref name="TEI_data.count"/>
            <optional>
              <ref name="TEI_data.count"/>
            </optional>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="writtenLines">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of written lines per
      column</a:documentation>
          <list>
            <ref name="TEI_data.count"/>
            <optional>
              <ref name="TEI_data.count"/>
            </optional>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_handDesc">
    <element name="handDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(description of hands) contains a description of all the different kinds of writing  used in a manuscript. [10.7.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="TEI_summary"/>
          </optional>
          <oneOrMore>
            <ref name="TEI_handNote"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="hands">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the number of distinct hands identified within the manuscript</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_typeDesc">
    <element name="typeDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the typefaces or other aspects of
  the printing of an incunable or other printed source. [10.7.2.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="TEI_summary"/>
          </optional>
          <oneOrMore>
            <ref name="TEI_typeNote"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_scriptDesc">
    <element name="scriptDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the scripts used in a manuscript or similar source. [10.7.2.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="TEI_summary"/>
          </optional>
          <oneOrMore>
            <ref name="TEI_scriptNote"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_musicNotation">
    <element name="musicNotation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains description of type of musical notation. [10.7.2. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_decoDesc">
    <element name="decoDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(decoration description) contains a description of the decoration of a manuscript, either as a sequence of paragraphs, or as a sequence of topically organized decoNote elements. [10.7.3. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="TEI_summary"/>
          </optional>
          <oneOrMore>
            <ref name="TEI_decoNote"/>
          </oneOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_decoNote">
    <element name="decoNote">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(note on decoration) contains a note describing either a
decorative component of a manuscript, or a fairly homogenous class of
such components. [10.7.3. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_additions">
    <element name="additions">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of any significant additions found
within a manuscript, such as marginalia or other annotations.  [10.7.2. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_bindingDesc">
    <element name="bindingDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(binding description) describes the present and former bindings of a manuscript, either
as a series of paragraphs or as a series of distinct binding elements,
one for each binding of the manuscript.  [10.7.3.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.pLike"/>
            <ref name="TEI_decoNote"/>
            <ref name="TEI_condition"/>
          </choice>
        </oneOrMore>
        <oneOrMore>
          <ref name="TEI_binding"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_binding">
    <element name="binding">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of one binding, i.e. type of covering, boards,
    etc. applied to a manuscript. [10.7.3.1. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_model.pLike"/>
          <ref name="TEI_condition"/>
          <ref name="TEI_decoNote"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <optional>
        <attribute name="contemporary">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies whether or not the binding is contemporary with the majority of its
        contents</a:documentation>
          <ref name="TEI_data.xTruthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_sealDesc">
    <element name="sealDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(seal description) describes the seals or other external items attached to a manuscript, either
as a series of paragraphs or as a series of distinct seal elements,
possibly with additional decoNotes.  [10.7.3.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="TEI_summary"/>
          </optional>
          <oneOrMore>
            <choice>
              <ref name="TEI_decoNote"/>
              <ref name="TEI_seal"/>
              <ref name="TEI_condition"/>
            </choice>
          </oneOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_seal">
    <element name="seal">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of one seal or similar
  attachment applied to a manuscript. [10.7.3.2. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_model.pLike"/>
          <ref name="TEI_decoNote"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <optional>
        <attribute name="contemporary">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies whether or not the seal is contemporary with the
      item to which it is affixed</a:documentation>
          <ref name="TEI_data.xTruthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_accMat">
    <element name="accMat">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(accompanying material) contains details of any significant additional
material which may be closely associated with the manuscript being
described, such as non-contemporaneous documents or fragments bound in
with the manuscript at some earlier historical period. [10.7.3.3. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_history">
    <element name="history">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> groups elements
describing the full history of a manuscript or manuscript part. [10.8. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <optional>
            <ref name="TEI_summary"/>
          </optional>
          <optional>
            <ref name="TEI_origin"/>
          </optional>
          <zeroOrMore>
            <ref name="TEI_provenance"/>
          </zeroOrMore>
          <optional>
            <ref name="TEI_acquisition"/>
          </optional>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_origin">
    <element name="origin">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any descriptive or other information
concerning the origin of  a manuscript or manuscript part.  [10.8. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_provenance">
    <element name="provenance">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any descriptive or other information
concerning a single identifiable episode during the history of a manuscript
or manuscript part, after its creation but before its acquisition.  [10.8. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.responsibility.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_acquisition">
    <element name="acquisition">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any descriptive or other information
concerning the process by which a manuscript or manuscript part entered the holding
institution.  [10.8. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_additional">
    <element name="additional">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups additional information, combining
bibliographic information about a manuscript, or surrogate copies of
it with  curatorial or administrative information.  [10.9. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_adminInfo"/>
        </optional>
        <optional>
          <ref name="TEI_surrogates"/>
        </optional>
        <optional>
          <ref name="TEI_listBibl"/>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_adminInfo">
    <element name="adminInfo">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(administrative information) contains information about the present
custody and availability of the manuscript, and also about the record
description itself.  [10.9.1. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_recordHist"/>
        </optional>
        <optional>
          <ref name="TEI_availability"/>
        </optional>
        <optional>
          <ref name="TEI_custodialHist"/>
        </optional>
        <optional>
          <ref name="TEI_model.noteLike"/>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_recordHist">
    <element name="recordHist">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(recorded history) provides information about the source and
revision status of the parent manuscript description itself.  [10.9.1. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <group>
          <ref name="TEI_source"/>
          <zeroOrMore>
            <ref name="TEI_change"/>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_source">
    <element name="source">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the original source for the information contained with a manuscript description.  [10.9.1.1. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_custodialHist">
    <element name="custodialHist">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(custodial history) contains a description of a manuscript's custodial history, either
as running prose or as a series of dated custodial events.  [10.9.1.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="TEI_custEvent"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_custEvent">
    <element name="custEvent">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(custodial event) describes a single event during the custodial history of a manuscript. [10.9.1.2. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_surrogates">
    <element name="surrogates">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about any representations of the manuscript being described which
may exist in the holding institution or elsewhere.  [10.9. ]</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_msPart">
    <element name="msPart">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(manuscript part) contains information about an originally
distinct manuscript or part of a manuscript, now forming part of a composite manuscript. [10.10. ]</a:documentation>
      <group>
        <choice>
          <ref name="TEI_altIdentifier"/>
          <ref name="TEI_msIdentifier"/>
        </choice>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <choice>
          <oneOrMore>
            <ref name="TEI_model.pLike"/>
          </oneOrMore>
          <group>
            <optional>
              <ref name="TEI_msContents"/>
            </optional>
            <optional>
              <ref name="TEI_physDesc"/>
            </optional>
            <optional>
              <ref name="TEI_history"/>
            </optional>
            <optional>
              <ref name="TEI_additional"/>
            </optional>
            <zeroOrMore>
              <ref name="TEI_msPart"/>
            </zeroOrMore>
          </group>
        </choice>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.datable.custom.attributes">
    <ref name="TEI_att.datable.custom.attribute.when-custom"/>
    <ref name="TEI_att.datable.custom.attribute.notBefore-custom"/>
    <ref name="TEI_att.datable.custom.attribute.notAfter-custom"/>
    <ref name="TEI_att.datable.custom.attribute.from-custom"/>
    <ref name="TEI_att.datable.custom.attribute.to-custom"/>
    <ref name="TEI_att.datable.custom.attribute.datingPoint"/>
    <ref name="TEI_att.datable.custom.attribute.datingMethod"/>
  </define>
  <define name="TEI_att.datable.custom.attribute.when-custom">
    <optional>
      <attribute name="when-custom">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the value of a date or time in some standard form.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.custom.attribute.notBefore-custom">
    <optional>
      <attribute name="notBefore-custom">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the earliest possible date for the event in some custom standard form.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.custom.attribute.notAfter-custom">
    <optional>
      <attribute name="notAfter-custom">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the latest possible date for the event in some custom standard form.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.custom.attribute.from-custom">
    <optional>
      <attribute name="from-custom">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the starting point of the period in some standard form.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.custom.attribute.to-custom">
    <optional>
      <attribute name="to-custom">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the ending point of the period in some standard form.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.word"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.custom.attribute.datingPoint">
    <optional>
      <attribute name="datingPoint">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a pointer to some location defining a named point in time with reference to which the datable item is understood to have occurred</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.custom.attribute.datingMethod">
    <optional>
      <attribute name="datingMethod">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a pointer to a calendar element or other means of interpreting the values of the custom dating attributes.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_model.persNamePart">
    <choice>
      <ref name="TEI_surname"/>
      <ref name="TEI_forename"/>
      <ref name="TEI_genName"/>
      <ref name="TEI_nameLink"/>
      <ref name="TEI_addName"/>
      <ref name="TEI_roleName"/>
    </choice>
  </define>
  <define name="TEI_model.persNamePart_alternation">
    <choice>
      <ref name="TEI_surname"/>
      <ref name="TEI_forename"/>
      <ref name="TEI_genName"/>
      <ref name="TEI_nameLink"/>
      <ref name="TEI_addName"/>
      <ref name="TEI_roleName"/>
    </choice>
  </define>
  <define name="TEI_model.persNamePart_sequence">
    <ref name="TEI_surname"/>
    <ref name="TEI_forename"/>
    <ref name="TEI_genName"/>
    <ref name="TEI_nameLink"/>
    <ref name="TEI_addName"/>
    <ref name="TEI_roleName"/>
  </define>
  <define name="TEI_model.persNamePart_sequenceOptional">
    <optional>
      <ref name="TEI_surname"/>
    </optional>
    <optional>
      <ref name="TEI_forename"/>
    </optional>
    <optional>
      <ref name="TEI_genName"/>
    </optional>
    <optional>
      <ref name="TEI_nameLink"/>
    </optional>
    <optional>
      <ref name="TEI_addName"/>
    </optional>
    <optional>
      <ref name="TEI_roleName"/>
    </optional>
  </define>
  <define name="TEI_model.persNamePart_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_surname"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_forename"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_genName"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_nameLink"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_addName"/>
    </zeroOrMore>
    <zeroOrMore>
      <ref name="TEI_roleName"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.persNamePart_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_surname"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_forename"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_genName"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_nameLink"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_addName"/>
    </oneOrMore>
    <oneOrMore>
      <ref name="TEI_roleName"/>
    </oneOrMore>
  </define>
  <define name="TEI_orgName">
    <element name="orgName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organization name) contains an organizational name.  [13.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.personal.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_persName">
    <element name="persName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(personal name) contains a proper noun or proper-noun phrase referring to a
  person, possibly including one or more of
  the person's forenames, surnames, honorifics, added names, etc. [13.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.personal.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_surname">
    <element name="surname">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a family (inherited) name, as opposed to a given, baptismal, or nick name. [13.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.personal.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_forename">
    <element name="forename">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a forename, given or baptismal name. [13.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.personal.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_genName">
    <element name="genName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(generational name component) contains a name component used to distinguish otherwise similar names on the basis of the relative ages or generations of the persons
        named. [13.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.personal.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_nameLink">
    <element name="nameLink">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(name link) contains a connecting phrase or link used within a name but not regarded as part of it, such as van der or
            of. [13.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_addName">
    <element name="addName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(additional name) contains an additional name component, such as a nickname, epithet, or alias, or any other descriptive phrase used within a personal
    name. [13.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.personal.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_roleName">
    <element name="roleName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a name component which indicates that the referent has a particular role or position in society, such as an official title or
        rank. [13.2.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.personal.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_placeName">
    <element name="placeName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an absolute or relative place name.  [13.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.personal.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_bloc">
    <element name="bloc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(bloc) contains the name of a geo-political unit consisting of two or more nation states or
    countries. [13.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_country">
    <element name="country">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(country) contains the name of a geo-political unit, such as a nation, country, colony, or
    commonwealth, larger than or administratively superior to a region and smaller than a bloc. [13.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_region">
    <element name="region">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of an administrative unit such as a state, province, or county, larger
    than a settlement, but smaller than a country. [13.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_district">
    <element name="district">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of any kind of subdivision of a settlement, such as a parish, ward, or other administrative or geographic unit. [13.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_settlement">
    <element name="settlement">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the name of a settlement such as a city, town, or village identified as a single geo-political or administrative unit. [13.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_offset">
    <element name="offset">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks that part of a relative temporal or spatial expression which indicates the direction of the offset between the two place names, dates, or
        times involved in the expression.  [13.2.3. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_geogName">
    <element name="geogName">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(geographical name) identifies a name associated with some geographical feature such as Windrush Valley or Mount Sinai. [13.2.3. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_geogFeat">
    <element name="geogFeat">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(geographical feature name) contains a common noun identifying some geographical feature contained within a geographic
        name, such as valley, mount, etc. [13.2.3. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_affiliation">
    <element name="affiliation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(affiliation) contains an informal description of a person's present or past affiliation with some
        organization, for example an employer or sponsor. [15.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_age">
    <element name="age">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(age) specifies the age of a person.</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a numeric code representing the age or age group</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_birth">
    <element name="birth">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(birth) contains information about a person's birth, such as its date and place. [15.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_climate">
    <element name="climate">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(climate) contains information about the physical climate of a place.</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <choice>
          <group>
            <oneOrMore>
              <ref name="TEI_model.pLike"/>
            </oneOrMore>
          </group>
          <group>
            <oneOrMore>
              <ref name="TEI_model.labelLike"/>
            </oneOrMore>
          </group>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.noteLike"/>
            <ref name="TEI_model.biblLike"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_climate"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_death">
    <element name="death">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(death) contains information about a person's death, such as its date and place. [15.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_education">
    <element name="education">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of the educational experience of a person. [15.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_event">
    <element name="event">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(event) contains data relating to any kind of significant event associated with a person, place, or organization.</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <choice>
          <group>
            <oneOrMore>
              <ref name="TEI_model.pLike"/>
            </oneOrMore>
          </group>
          <group>
            <oneOrMore>
              <ref name="TEI_model.labelLike"/>
            </oneOrMore>
          </group>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.noteLike"/>
            <ref name="TEI_model.biblLike"/>
            <ref name="TEI_linkGrp"/>
            <ref name="TEI_link"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_event"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <optional>
        <attribute name="where">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location of an event by pointing to a place element</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_faith">
    <element name="faith">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the faith, religion, or belief set of a person.</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_floruit">
    <element name="floruit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about a person's period of activity.</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_geo">
    <element name="geo">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(geographical coordinates) contains any expression of a set of geographic coordinates, representing a point, line, or area on the surface of the earth in some
        notation. [13.3.4.1. ]</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_langKnowledge">
    <element name="langKnowledge">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language knowledge) summarizes the state of a person's linguistic knowledge, either as prose or by a list of langKnown elements.</a:documentation>
      <choice>
        <ref name="TEI_model.pLike"/>
        <oneOrMore>
          <ref name="TEI_langKnown"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <optional>
        <attribute name="tags">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies one or more valid language tags for the languages specified</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.language"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_langKnown">
    <element name="langKnown">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language known) summarizes the state of a person's linguistic competence, i.e., knowledge of a single language. [15.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <attribute name="tag">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a valid language tag for the language concerned.</a:documentation>
        <ref name="TEI_data.language"/>
      </attribute>
      <optional>
        <attribute name="level">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a code indicating the person's level of knowledge for this language </a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_listOrg">
    <element name="listOrg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of organizations) contains a list of elements, each of which provides information about an identifiable
        organization.  [13.2.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_org"/>
            <ref name="TEI_listOrg"/>
          </choice>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_listRelation"/>
            <ref name="TEI_relationGrp"/>
            <ref name="TEI_relation"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_listEvent">
    <element name="listEvent">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of events) contains a list of descriptions, each of which provides information
    about an identifiable event. </a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_event"/>
            <ref name="TEI_listEvent"/>
          </choice>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_relation"/>
            <ref name="TEI_relationGrp"/>
            <ref name="TEI_listRelation"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_listPerson">
    <element name="listPerson">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of persons) contains a list of descriptions, each of which provides information about an identifiable
    person or a group of people, for example the participants in a language interaction, or the
    people referred to in a historical source.  [13.3.2.  15.2.  2.4.  15.3.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.personLike"/>
            <ref name="TEI_listPerson"/>
          </choice>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_relation"/>
            <ref name="TEI_listRelation"/>
            <ref name="TEI_relationGrp"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_listPlace">
    <element name="listPlace">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of places) contains a list of places, optionally followed by a list of relationships (other than
        containment) defined amongst them. </a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.placeLike"/>
            <ref name="TEI_listPlace"/>
          </choice>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_listRelation"/>
            <ref name="TEI_relationGrp"/>
            <ref name="TEI_relation"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_location">
    <element name="location">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines the location of a place as a set of geographical coordinates, in terms of other named geo-political entities, or as an
        address.</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.labelLike"/>
          <ref name="TEI_model.placeNamePart"/>
          <ref name="TEI_model.offsetLike"/>
          <ref name="TEI_model.measureLike"/>
          <ref name="TEI_model.addressLike"/>
          <ref name="TEI_model.noteLike"/>
          <ref name="TEI_model.biblLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_nationality">
    <element name="nationality">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an informal description of a person's present or past nationality or citizenship. [15.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_occupation">
    <element name="occupation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an informal description of a person's trade, profession or occupation. [15.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <optional>
        <attribute name="scheme">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the classification system or taxonomy in use by supplying the identifier of a taxonomy element typically but not necessarily elsewhere in the
                current document header.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="code">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies an occupation code defined within the classification system or taxonomy defined by the scheme
                attribute.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_org">
    <element name="org">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organization) provides information about an identifiable organization such as a business, a tribe, or
        any other grouping of people. [13.2.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <choice>
          <group>
            <zeroOrMore>
              <ref name="TEI_model.pLike"/>
            </zeroOrMore>
          </group>
          <zeroOrMore>
            <choice>
              <ref name="TEI_model.labelLike"/>
              <ref name="TEI_model.nameLike"/>
              <ref name="TEI_model.placeLike"/>
              <ref name="TEI_model.orgPart"/>
            </choice>
          </zeroOrMore>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.noteLike"/>
            <ref name="TEI_model.biblLike"/>
            <ref name="TEI_linkGrp"/>
            <ref name="TEI_link"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_model.personLike"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <optional>
        <attribute name="role">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a primary role or classification for the organization.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_listRelation">
    <element name="listRelation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides information about relationships identified amongst people, places, and
    organizations, either informally as prose or as formally expressed relation links.  [15.2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="TEI_relation"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_relationGrp">
    <element name="relationGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(relation group) provides information about relationships identified amongst people, places, and
    organizations, either informally as prose or as formally expressed relation links.  [15.2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="TEI_relation"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_person">
    <element name="person">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides information about an identifiable individual, for example a participant in a language interaction, or a person referred to in a
        historical source. [15.2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.personPart"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <optional>
        <attribute name="role">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a primary role or classification for the person.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.enumerated"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="sex">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sex of the person.</a:documentation>
          <ref name="TEI_data.sex"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="age">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies an age group for the person.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_personGrp">
    <element name="personGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(personal group) describes a group of individuals treated as a single person for analytic purposes. [15.2.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <zeroOrMore>
          <ref name="TEI_model.personPart"/>
        </zeroOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <optional>
        <attribute name="role">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the role of this group of participants in the interaction.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="sex">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sex of the participant group.</a:documentation>
          <choice>
            <ref name="TEI_data.sex"/>
            <value>mixed</value>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="age">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the age group of the participants.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="size">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the size or approximate size of the group.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_place">
    <element name="place">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains data about a geographic location</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <choice>
          <group>
            <zeroOrMore>
              <ref name="TEI_model.pLike"/>
            </zeroOrMore>
          </group>
          <zeroOrMore>
            <choice>
              <ref name="TEI_model.labelLike"/>
              <ref name="TEI_model.placeStateLike"/>
              <ref name="TEI_model.placeEventLike"/>
            </choice>
          </zeroOrMore>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.noteLike"/>
            <ref name="TEI_model.biblLike"/>
            <ref name="TEI_idno"/>
            <ref name="TEI_linkGrp"/>
            <ref name="TEI_link"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.placeLike"/>
            <ref name="TEI_listPlace"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_population">
    <element name="population">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about the population of a place.</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <optional>
          <choice>
            <group>
              <oneOrMore>
                <ref name="TEI_model.pLike"/>
              </oneOrMore>
            </group>
            <group>
              <oneOrMore>
                <ref name="TEI_model.labelLike"/>
              </oneOrMore>
            </group>
          </choice>
          <zeroOrMore>
            <choice>
              <ref name="TEI_model.noteLike"/>
              <ref name="TEI_model.biblLike"/>
            </choice>
          </zeroOrMore>
        </optional>
        <zeroOrMore>
          <ref name="TEI_population"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_relation">
    <element name="relation">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(relationship) describes any kind of relationship or linkage amongst a
  specified group of objects, places, events or people. [15.2.2. ]</a:documentation>
      <optional>
        <ref name="TEI_desc"/>
      </optional>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="relation-constraint-activemutual">
        <rule context="tei:relation">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@active and @mutual">Only one of the attributes
@active and @mutual may be supplied</report>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="relation-constraint-activepassive">
        <rule context="tei:relation">
          <report xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@passive and not(@active)">the attribute 'passive'
	may be supplied only if the attribute 'active' is
	supplied</report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.canonical.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="personal">
          <a:documentation>categorizes the relationship in some respect, e.g. as social, personal or other.
Suggested values include: 1] social; 2] personal; 3] other</a:documentation>
          <choice>
            <value>social</value>
            <a:documentation>relationship concerned with social roles</a:documentation>
            <value>personal</value>
            <a:documentation>relationship concerned with personal roles, e.g. kinship, marriage, etc.</a:documentation>
            <value>other</value>
            <a:documentation>other kinds of relationship</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <attribute name="name">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a name for the kind of relationship of which this is an instance.</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
      <choice>
        <optional>
          <attribute name="active">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the active participants in a non-mutual relationship, or all the participants in a mutual
                    one.</a:documentation>
            <list>
              <oneOrMore>
                <ref name="TEI_data.pointer"/>
              </oneOrMore>
            </list>
          </attribute>
        </optional>
        <optional>
          <attribute name="mutual">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a list of participants amongst all of whom the relationship holds equally.</a:documentation>
            <list>
              <oneOrMore>
                <ref name="TEI_data.pointer"/>
              </oneOrMore>
            </list>
          </attribute>
        </optional>
      </choice>
      <optional>
        <attribute name="passive">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the passive participants in a non-mutual relationship.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_residence">
    <element name="residence">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(residence) describes a person's present or past places of residence. [15.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_sex">
    <element name="sex">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the sex of a person.</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a coded value for sex</a:documentation>
          <ref name="TEI_data.sex"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_socecStatus">
    <element name="socecStatus">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(socio-economic status) contains an informal description of a person's perceived social or economic status. [15.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <optional>
        <attribute name="scheme">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the classification system or taxonomy in use.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="code">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies a status code defined within the classification system or taxonomy defined by the scheme attribute.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_state">
    <element name="state">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of some status or quality attributed to a person, place, or organization often at some specific time or for a specific date range.</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_state"/>
        </oneOrMore>
        <group>
          <zeroOrMore>
            <ref name="TEI_model.headLike"/>
          </zeroOrMore>
          <oneOrMore>
            <ref name="TEI_model.pLike"/>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="TEI_model.noteLike"/>
              <ref name="TEI_model.biblLike"/>
            </choice>
          </zeroOrMore>
        </group>
        <group>
          <zeroOrMore>
            <choice>
              <ref name="TEI_model.labelLike"/>
              <ref name="TEI_model.noteLike"/>
              <ref name="TEI_model.biblLike"/>
            </choice>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_terrain">
    <element name="terrain">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains information about the physical terrain of a place.</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <choice>
          <group>
            <oneOrMore>
              <ref name="TEI_model.pLike"/>
            </oneOrMore>
          </group>
          <group>
            <oneOrMore>
              <ref name="TEI_model.labelLike"/>
            </oneOrMore>
          </group>
        </choice>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.noteLike"/>
            <ref name="TEI_model.biblLike"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_terrain"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_trait">
    <element name="trait">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a description of some status or quality attributed to a person, place, or organization typically, but not necessarily, 
    independent of the volition or action of the holder and usually not at some specific time or for a specific date range.</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_trait"/>
        </oneOrMore>
        <group>
          <zeroOrMore>
            <ref name="TEI_model.headLike"/>
          </zeroOrMore>
          <oneOrMore>
            <ref name="TEI_model.pLike"/>
          </oneOrMore>
          <zeroOrMore>
            <choice>
              <ref name="TEI_model.noteLike"/>
              <ref name="TEI_model.biblLike"/>
            </choice>
          </zeroOrMore>
        </group>
        <group>
          <zeroOrMore>
            <choice>
              <ref name="TEI_model.labelLike"/>
              <ref name="TEI_model.noteLike"/>
              <ref name="TEI_model.biblLike"/>
            </choice>
          </zeroOrMore>
        </group>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.datable.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <ref name="TEI_att.naming.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_nym">
    <element name="nym">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(canonical name) contains the definition for a canonical name or name component of any kind. [13.3.5. ]</a:documentation>
      <group>
        <group>
          <zeroOrMore>
            <ref name="TEI_model.entryPart"/>
          </zeroOrMore>
        </group>
        <group>
          <zeroOrMore>
            <ref name="TEI_model.pLike"/>
          </zeroOrMore>
        </group>
        <group>
          <zeroOrMore>
            <ref name="TEI_nym"/>
          </zeroOrMore>
        </group>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <optional>
        <attribute name="parts">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to constituent nyms </a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_listNym">
    <element name="listNym">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of canonical names) contains a list of nyms, that is, standardized names for any thing.  [13.3.5. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_nym"/>
            <ref name="TEI_listNym"/>
          </choice>
        </oneOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_listRelation"/>
            <ref name="TEI_relationGrp"/>
            <ref name="TEI_relation"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.datable.iso.attributes">
    <ref name="TEI_att.datable.iso.attribute.when-iso"/>
    <ref name="TEI_att.datable.iso.attribute.notBefore-iso"/>
    <ref name="TEI_att.datable.iso.attribute.notAfter-iso"/>
    <ref name="TEI_att.datable.iso.attribute.from-iso"/>
    <ref name="TEI_att.datable.iso.attribute.to-iso"/>
  </define>
  <define name="TEI_att.datable.iso.attribute.when-iso">
    <optional>
      <attribute name="when-iso">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the value of a date or time in a standard form.</a:documentation>
        <ref name="TEI_data.temporal.iso"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.iso.attribute.notBefore-iso">
    <optional>
      <attribute name="notBefore-iso">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="TEI_data.temporal.iso"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.iso.attribute.notAfter-iso">
    <optional>
      <attribute name="notAfter-iso">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd.</a:documentation>
        <ref name="TEI_data.temporal.iso"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.iso.attribute.from-iso">
    <optional>
      <attribute name="from-iso">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the starting point of the period in standard form.</a:documentation>
        <ref name="TEI_data.temporal.iso"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.datable.iso.attribute.to-iso">
    <optional>
      <attribute name="to-iso">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the ending point of the period in standard form.</a:documentation>
        <ref name="TEI_data.temporal.iso"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_graph">
    <element name="graph">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes a graph, which is a collection of nodes, and arcs which
connect the nodes. [19.1. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_label"/>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </optional>
        <choice>
          <group>
            <oneOrMore>
              <ref name="TEI_node"/>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </oneOrMore>
            <zeroOrMore>
              <ref name="TEI_arc"/>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </zeroOrMore>
          </group>
          <group>
            <oneOrMore>
              <ref name="TEI_arc"/>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </oneOrMore>
            <oneOrMore>
              <ref name="TEI_node"/>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </oneOrMore>
          </group>
        </choice>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the type of graph.
Suggested values include: 1] undirected; 2] directed; 3] transitionNetwork; 4] transducer</a:documentation>
          <choice>
            <value>undirected</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">undirected graph</a:documentation>
            <value>directed</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">directed graph</a:documentation>
            <value>transitionNetwork</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a directed graph with distinguished initial and final nodes</a:documentation>
            <value>transducer</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a transition network with up to two labels on each arc</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="order">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">states the order of the graph, i.e., the number of its nodes.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="size">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">states the size of the graph, i.e., the number of its arcs.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_node">
    <element name="node">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes a node, a possibly labeled point in a graph. [19.1. ]</a:documentation>
      <optional>
        <ref name="TEI_label"/>
        <optional>
          <ref name="TEI_label"/>
        </optional>
      </optional>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the value of a node, which is a feature structure or
other analytic element.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a type for a node.
Suggested values include: 1] initial; 2] final</a:documentation>
          <choice>
            <value>initial</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">initial node in a transition network</a:documentation>
            <value>final</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">final node in a transition network</a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="adjTo">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(adjacent to) gives the identifiers of the nodes which are adjacent to the current node.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="adjFrom">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(adjacent from) gives the identifiers of the nodes which are adjacent from the current
node.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="adj">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(adjacent) gives the identifiers of the nodes which are both adjacent to and
adjacent from the current node.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="inDegree">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the in degree of the node, the number of nodes which
are adjacent from the given node.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="outDegree">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the out degree of the node, the number of nodes which
are adjacent to the given node.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="degree">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the degree of the node, the number of arcs with which
the node is incident.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_arc">
    <element name="arc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes an arc, the connection from one node to another in a graph. [19.1. ]</a:documentation>
      <optional>
        <ref name="TEI_label"/>
        <optional>
          <ref name="TEI_label"/>
        </optional>
      </optional>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="from">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the identifier of the node which is adjacent from this arc.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
      <attribute name="to">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the identifier of the node which is adjacent to this arc.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_tree">
    <element name="tree">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes a tree, which is made up of a root, internal nodes,
leaves, and arcs from root to leaves. [19.2. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_label"/>
        </optional>
        <group>
          <zeroOrMore>
            <choice>
              <ref name="TEI_leaf"/>
              <ref name="TEI_iNode"/>
            </choice>
          </zeroOrMore>
          <ref name="TEI_root"/>
          <zeroOrMore>
            <choice>
              <ref name="TEI_leaf"/>
              <ref name="TEI_iNode"/>
            </choice>
          </zeroOrMore>
        </group>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="arity">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the maximum number of children of the root and internal
nodes of the tree.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="ord" a:defaultValue="true">
        <a:documentation>(ordered) indicates whether or not the tree is ordered, or if it is
partially ordered.</a:documentation>
        <choice>
          <value>true</value>
          <a:documentation>indicates that all of the branching nodes of the tree are ordered.</a:documentation>
          <value>partial</value>
          <a:documentation>indicates that some of the branching nodes of the tree are ordered
and some are unordered.</a:documentation>
          <value>false</value>
          <a:documentation>indicates that all of the branching nodes of the tree are
unordered.</a:documentation>
        </choice>
      </attribute>
      <optional>
        <attribute name="order">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the order of the tree, i.e., the number of its nodes.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_root">
    <element name="root">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(root node) represents the root node of a tree. [19.2. ]</a:documentation>
      <optional>
        <ref name="TEI_label"/>
      </optional>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the value of the root, which is a feature structure or
other analytic element.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <attribute name="children">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a list of identifiers of the elements which are the children of
the root node.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
      <optional>
        <attribute name="ord">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(ordered) indicates whether or not the root is ordered.</a:documentation>
          <ref name="TEI_data.xTruthValue"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="outDegree">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the out degree of the root, the number of its children.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_iNode">
    <element name="iNode">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(intermediate (or internal) node) represents an intermediate (or internal) node of a tree. [19.2. ]</a:documentation>
      <optional>
        <ref name="TEI_label"/>
      </optional>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the value of an intermediate node, which is a feature
structure or other analytic element.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <attribute name="children">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a list of identifiers of the elements which are the children of
the intermediate node.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
      <optional>
        <attribute name="parent">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the identifier of the element which is the parent of this node.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="ord">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(ordered) indicates whether or not the internal node is ordered.</a:documentation>
          <ref name="TEI_data.xTruthValue"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="follow">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an identifier of
the element which this node
follows.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="outDegree">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the out degree of an intermediate node, the number of its
children.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_leaf">
    <element name="leaf">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">encodes the leaves (terminal nodes) of a tree. [19.2. ]</a:documentation>
      <optional>
        <ref name="TEI_label"/>
      </optional>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a pointer to a feature
structure or other analytic element.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="parent">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the identifier of parent of a leaf.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="follow">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides an identifier of an element which this leaf follows.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_eTree">
    <element name="eTree">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(embedding tree) provides an alternative to tree element for representing ordered rooted tree structures. [19.3. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_label"/>
        </optional>
        <zeroOrMore>
          <choice>
            <ref name="TEI_eTree"/>
            <ref name="TEI_triangle"/>
            <ref name="TEI_eLeaf"/>
            <ref name="TEI_model.ptrLike"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the value of an embedding tree, which is a feature
structure or other analytic element.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_triangle">
    <element name="triangle">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(underspecified embedding tree, so called because of its
  characteristic shape when drawn) provides for an underspecified eTree, that is, an eTree with
  information left out. [19.3. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_label"/>
        </optional>
        <zeroOrMore>
          <choice>
            <ref name="TEI_eTree"/>
            <ref name="TEI_triangle"/>
            <ref name="TEI_eLeaf"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the value of a triangle, which is the identifier of a feature
structure or other analytic element.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_eLeaf">
    <element name="eLeaf">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(leaf or terminal node of an embedding tree) provides explicitly for a leaf of an embedding tree, which may also
be encoded with the eTree element. [19.3. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_label"/>
        </optional>
        <optional>
          <ref name="TEI_model.ptrLike"/>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="value">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides the value of an embedding leaf, which is a feature
structure or other analytic element.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_forest">
    <element name="forest">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides for groups of rooted trees. [19.3. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_tree"/>
          <ref name="TEI_eTree"/>
          <ref name="TEI_triangle"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the type of the forest.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_listForest">
    <element name="listForest">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides for lists of forests. [19.3. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_forest"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the type of the forest group.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.duration.attributes">
    <ref name="TEI_att.duration.w3c.attributes"/>
    <ref name="TEI_att.duration.iso.attributes"/>
  </define>
  <define name="TEI_model.global.spoken">
    <choice>
      <ref name="TEI_pause"/>
      <ref name="TEI_vocal"/>
      <ref name="TEI_kinesic"/>
      <ref name="TEI_incident"/>
      <ref name="TEI_writing"/>
      <ref name="TEI_shift"/>
    </choice>
  </define>
  <define name="TEI_model.recordingPart">
    <choice>
      <ref name="TEI_model.dateLike"/>
      <ref name="TEI_respStmt"/>
      <ref name="TEI_equipment"/>
      <ref name="TEI_broadcast"/>
    </choice>
  </define>
  <define name="TEI_scriptStmt">
    <element name="scriptStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(script statement) contains a citation giving details of the script used for
a spoken text. [8.2.  2.2.7.  15.3.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <ref name="TEI_model.biblLike"/>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_recordingStmt">
    <element name="recordingStmt">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(recording statement) describes a set of recordings used as the basis for transcription of a
spoken text. [8.2.  2.2.7. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <oneOrMore>
          <ref name="TEI_recording"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_recording">
    <element name="recording">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(recording event) provides details of an audio or video recording event
used as the source of a spoken text, either directly or from
a public broadcast.  [8.2.  15.3.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <zeroOrMore>
          <ref name="TEI_model.recordingPart"/>
        </zeroOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.duration.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="audio">
          <a:documentation>the kind of recording.</a:documentation>
          <choice>
            <value>audio</value>
            <a:documentation>audio recording</a:documentation>
            <value>video</value>
            <a:documentation>audio and video recording</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_equipment">
    <element name="equipment">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides technical details of the equipment and media used for
an audio or video recording used as the source for a spoken text. [8.2.  15.3.2. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_broadcast">
    <element name="broadcast">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes a broadcast used as the source of a spoken text. [8.2.  15.3.2. ]</a:documentation>
      <choice>
        <oneOrMore>
          <ref name="TEI_model.pLike"/>
        </oneOrMore>
        <ref name="TEI_model.biblLike"/>
        <ref name="TEI_recording"/>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_u">
    <element name="u">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(utterance) contains a stretch of speech usually preceded and followed by
silence or by a change of speaker. [8.3.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.timed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="trans" a:defaultValue="smooth">
          <a:documentation>(transition) indicates the nature of the transition between this utterance
          and the previous one.</a:documentation>
          <choice>
            <value>smooth</value>
            <a:documentation>this utterance begins without unusual pause or rapidity.</a:documentation>
            <value>latching</value>
            <a:documentation>this utterance begins with a markedly shorter pause than normal.</a:documentation>
            <value>overlap</value>
            <a:documentation>this utterance begins before the previous one has finished.</a:documentation>
            <value>pause</value>
            <a:documentation>this utterance begins after a noticeable pause.</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_pause">
    <element name="pause">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks a pause either between or within utterances. [8.3.2. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.timed.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_vocal">
    <element name="vocal">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks any vocalized but not necessarily lexical phenomenon, for
  example voiced pauses, non-lexical backchannels, etc. [8.3.3. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.descLike"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.timed.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="iterated" a:defaultValue="false">
          <a:documentation>indicates whether or not the phenomenon is repeated.</a:documentation>
          <ref name="TEI_data.xTruthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_kinesic">
    <element name="kinesic">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks any communicative phenomenon, not necessarily vocalized, for
  example a gesture, frown, etc. [8.3.3. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.descLike"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.timed.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="iterated" a:defaultValue="false">
          <a:documentation>indicates whether or not the phenomenon is
      repeated.</a:documentation>
          <ref name="TEI_data.xTruthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_incident">
    <element name="incident">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks any phenomenon or occurrence, not necessarily vocalized or
communicative, for example incidental noises or other events affecting
communication. [8.3.3. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.descLike"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.timed.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_writing">
    <element name="writing">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a passage of written text revealed to participants in the
  course of a spoken text. [8.3.4. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.timed.attributes"/>
      <ref name="TEI_att.source.attributes"/>
      <optional>
        <attribute name="gradual">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether the writing is revealed all at once or
	gradually.</a:documentation>
          <ref name="TEI_data.xTruthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_shift">
    <element name="shift">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks the point at which some paralinguistic feature of a series of
utterances by any one speaker changes. [8.3.6. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.ascribed.attributes"/>
      <optional>
        <attribute name="feature">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a
paralinguistic feature.</a:documentation>
          <choice>
            <value>tempo</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">speed of utterance.
    </a:documentation>
            <value>loud</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">loudness.
    </a:documentation>
            <value>pitch</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">pitch range.
    </a:documentation>
            <value>tension</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">tension or stress pattern.
    </a:documentation>
            <value>rhythm</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">rhythmic qualities.
    </a:documentation>
            <value>voice</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">voice quality.
    </a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="new" a:defaultValue="normal">
          <a:documentation>specifies the new state of the paralinguistic feature specified.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_model.divPart.spoken">
    <choice>
      <ref name="TEI_u"/>
    </choice>
  </define>
  <define name="TEI_model.divPart.spoken_alternation">
    <choice>
      <ref name="TEI_u"/>
    </choice>
  </define>
  <define name="TEI_model.divPart.spoken_sequence">
    <ref name="TEI_u"/>
  </define>
  <define name="TEI_model.divPart.spoken_sequenceOptional">
    <optional>
      <ref name="TEI_u"/>
    </optional>
  </define>
  <define name="TEI_model.divPart.spoken_sequenceOptionalRepeatable">
    <zeroOrMore>
      <ref name="TEI_u"/>
    </zeroOrMore>
  </define>
  <define name="TEI_model.divPart.spoken_sequenceRepeatable">
    <oneOrMore>
      <ref name="TEI_u"/>
    </oneOrMore>
  </define>
  <define name="TEI_att">
    <element name="att">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(attribute) contains the name of an attribute appearing within running text. [22. ]</a:documentation>
      <ref name="TEI_data.name"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="scheme" a:defaultValue="TEI">
          <a:documentation>supplies an identifier for the scheme in which this name is defined.
Sample values include: 1] TEI(text encoding initiative) ; 2] DBK(docbook) ; 3] XX(unknown) </a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_code">
    <element name="code">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains literal code from some formal language such as a
programming language.</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="lang">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(formal language) a name identifying the formal language in which  the
	code is expressed</a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_eg">
    <element name="eg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(example) contains any kind of illustrative example.  [22.4.4.  22.4.5. ]</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_egXML">
    <element name="egXML" ns="http://www.tei-c.org/ns/Examples">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(example of XML) contains a single well-formed XML fragment demonstrating the use of some XML element or
    attribute, in which the egXML element itself functions as the root element.  [22.1.1. ]</a:documentation>
      <oneOrMore>
        <choice>
          <text/>
          <ref name="TEI_macro.anyThingDefined"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.source.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="valid" a:defaultValue="true">
          <a:documentation>indicates the intended validity of the example with respect to
a schema.</a:documentation>
          <choice>
            <value>true</value>
            <a:documentation>the example is intended to be fully valid,
assuming that its root element, or a provided root element, 
could have been used as a possible root element in the schema concerned.</a:documentation>
            <value>feasible</value>
            <a:documentation>the example could be transformed into
a valid document by inserting any number of valid attributes and child
elements anywhere within it; or it is valid against a version of the
schema concerned in which the provision of character data, list, element, or attribute
values has been made optional.</a:documentation>
            <value>false</value>
            <a:documentation>the example is not intended to be valid,
and contains deliberate errors.</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_gi">
    <element name="gi">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(element name) contains the name (generic identifier) of an element. [22.  22.4.4. ]</a:documentation>
      <ref name="TEI_data.name"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="scheme" a:defaultValue="TEI">
          <a:documentation>supplies the name of the scheme in which this name is defined.
Sample values include: 1] TEI(text encoding initiative) ; 2] DBK(docbook) ; 3] XX(unknown) ; 4] Schematron; 5] HTML</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_ident">
    <element name="ident">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) contains an identifier or name for an object of some kind in a formal language. ident is used for tokens such as variable names, class names, type names, function names etc. in formal programming languages. [22.1.1. ]</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_tag">
    <element name="tag">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains text of a complete start- or end-tag, possibly including attribute specifications,
    but excluding the opening and closing markup delimiter characters. [22. ]</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the type of XML tag intended</a:documentation>
          <choice>
            <value>start</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a start-tag, with delimiters &lt; and &gt; is intended</a:documentation>
            <value>end</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">an end-tag, with delimiters &lt;/ and &gt; is intended</a:documentation>
            <value>empty</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a empty tag, with delimiters &lt; and /&gt; is intended</a:documentation>
            <value>pi</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a pi (processing instruction), with delimiters &lt;? and ?&gt; is intended</a:documentation>
            <value>comment</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a comment, with delimiters &lt;!-- and --&gt; is intended</a:documentation>
            <value>ms</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a marked-section, with delimiters &lt;[CDATA[ and ]]&gt; is intended</a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="scheme" a:defaultValue="TEI">
          <a:documentation>supplies the name of the schema in which this tag is defined.
Sample values include: 1] TEI(text encoding initiative) ; 2] DBK(docbook) ; 3] XX(unknown) ; 4] Schematron; 5] HTML</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_val">
    <element name="val">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value) contains a single attribute value. [22.  22.4.5. ]</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_specList">
    <element name="specList">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(specification list) marks where a list of descriptions is to be inserted into the prose documentation.</a:documentation>
      <oneOrMore>
        <ref name="TEI_specDesc"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_specDesc">
    <element name="specDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(specification description) indicates that a description of the specified element or class should be included at this
    point within a document.</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="key">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier) supplies the identifier of the documentary element or class for which a description is
        to be obtained.</a:documentation>
          <ref name="TEI_data.name"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="atts">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(attributes) supplies attribute names for which descriptions should additionally be obtained.</a:documentation>
          <list>
            <zeroOrMore>
              <ref name="TEI_data.name"/>
            </zeroOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_classRef">
    <element name="classRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to the specification for an attribute or model class which is to be included in a schema</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.readFrom.attributes"/>
      <attribute name="key">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the identifier used for the required class within the
	source indicated.</a:documentation>
        <data type="NCName"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_elementRef">
    <element name="elementRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to the specification for some element which is to be included in a schema</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.readFrom.attributes"/>
      <attribute name="key">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the identifier used for the required element within the
	source indicated.</a:documentation>
        <data type="NCName"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_macroRef">
    <element name="macroRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to the specification for some pattern which is to be included in a schema</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.readFrom.attributes"/>
      <attribute name="key">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the identifier used for the required pattern within the
	source indicated.</a:documentation>
        <data type="NCName"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_moduleRef">
    <element name="moduleRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(module reference) references a module which is to be incorporated into a schema.</a:documentation>
      <optional>
        <ref name="TEI_content"/>
      </optional>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="moduleRef-constraint-modref">
        <rule xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" context="tei:moduleRef">
          <report test="* and @key">
Child elements of <name/> are only allowed when an external module is being loaded
        </report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.readFrom.attributes"/>
      <optional>
        <attribute name="prefix">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a default prefix which will be
      prepended to all patterns from the imported module</a:documentation>
          <data type="NCName"/>
        </attribute>
      </optional>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="prefix-constraint-not-same-prefix">
        <rule xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" context="tei:moduleRef">
          <report test="//*[ not( generate-id(.) eq generate-id(      current() ) ) ]/@prefix = @prefix">The prefix attribute
	    of <name/> should not match that of any other
	    element (it would defeat the purpose)</report>
        </rule>
      </pattern>
      <choice>
        <optional>
          <attribute name="include">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a list of the elements which are to be copied from the
specified module into the schema being defined.</a:documentation>
            <list>
              <zeroOrMore>
                <data type="NCName"/>
              </zeroOrMore>
            </list>
          </attribute>
        </optional>
        <optional>
          <attribute name="except">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a list of the elements which are not to be copied from the
specified module into the schema being defined.</a:documentation>
            <list>
              <zeroOrMore>
                <data type="NCName"/>
              </zeroOrMore>
            </list>
          </attribute>
        </optional>
      </choice>
      <choice>
        <optional>
          <attribute name="key">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the name of a TEI module</a:documentation>
            <data type="NCName"/>
          </attribute>
        </optional>
        <optional>
          <attribute name="url">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(uniform resource locator) refers to a non-TEI module of RELAX NG code by external location </a:documentation>
            <ref name="TEI_data.pointer"/>
          </attribute>
        </optional>
      </choice>
      <empty/>
    </element>
  </define>
  <define name="TEI_moduleSpec">
    <element name="moduleSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(module specification) documents the structure, content, and purpose of a single
module, i.e. a named and externally visible group of declarations.</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.glossLike"/>
        </zeroOrMore>
        <oneOrMore>
          <ref name="TEI_model.descLike"/>
        </oneOrMore>
        <zeroOrMore>
          <ref name="TEI_exemplum"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_remarks"/>
        </optional>
        <zeroOrMore>
          <ref name="TEI_listRef"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.identified.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_schemaSpec">
    <element name="schemaSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(schema specification) generates a TEI-conformant schema and documentation for it.</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.glossLike"/>
            <ref name="TEI_model.descLike"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.oddRef"/>
            <ref name="TEI_model.oddDecl"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_constraintSpec"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.identified.attributes"/>
      <ref name="TEI_att.namespaceable.attributes"/>
      <ref name="TEI_att.readFrom.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="start" a:defaultValue="TEI">
          <a:documentation>specifies entry points to the schema, i.e. which elements
      may be used as the root of documents conforming to
      it. </a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.name"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="prefix">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a default prefix which will be prepended to all
      patterns relating to TEI elements, unless otherwise stated.</a:documentation>
          <choice>
            <value/>
            <ref name="TEI_data.name"/>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="targetLang">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(target language) specifies which language to use when creating
      the objects in a schema if names for elements or attributes are available in more
      than one language</a:documentation>
          <ref name="TEI_data.language"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="docLang">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(documentation language) specifies which languages to
      use when creating documentation if  the description for an element, attribute, class or macro
      is available in more than one language</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.language"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_specGrp">
    <element name="specGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(specification group) contains any convenient grouping of specifications for use within
  the current module.</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.oddDecl"/>
          <ref name="TEI_model.oddRef"/>
          <ref name="TEI_model.divPart"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_specGrpRef">
    <element name="specGrpRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference to a specification group) indicates that the declarations contained by the specGrp referenced should be
    inserted at this point.</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="target">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points at the specification group which logically belongs here.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_elementSpec">
    <element name="elementSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(element specification) documents the structure, content, and purpose of a single element type. [22.4.4.  22. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.glossLike"/>
            <ref name="TEI_model.descLike"/>
          </choice>
        </zeroOrMore>
        <optional>
          <ref name="TEI_classes"/>
        </optional>
        <optional>
          <ref name="TEI_content"/>
        </optional>
        <optional>
          <ref name="TEI_valList"/>
        </optional>
        <zeroOrMore>
          <ref name="TEI_constraintSpec"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_attList"/>
        </optional>
        <zeroOrMore>
          <ref name="TEI_exemplum"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_remarks"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_listRef"/>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="elementSpec-constraint-elementspec-in-module">
        <rule context="tei:elementSpec">
          <assert xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="not( @module )                or                //tei:moduleSpec[ @ident = current()/@module ]                or                //tei:moduleRef[ @key = current()/@module ]">
On element <name/> the value of the module attribute ("<value-of select="@module"/>")
should correspond to an existing module, via a moduleSpec or moduleRef</assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.identified.attributes"/>
      <ref name="TEI_att.namespaceable.attributes"/>
      <optional>
        <attribute name="prefix">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies a default prefix which will be prepended to all patterns
      relating to the element, unless otherwise stated. 
      </a:documentation>
          <choice>
            <value/>
            <ref name="TEI_data.name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_classSpec">
    <element name="classSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(class specification) contains reference information for a TEI element class; 
that is a group of 
  elements which appear together in  content models, or 
  which share some common attribute, or both.</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.glossLike"/>
            <ref name="TEI_model.descLike"/>
          </choice>
        </zeroOrMore>
        <optional>
          <ref name="TEI_classes"/>
        </optional>
        <zeroOrMore>
          <ref name="TEI_constraintSpec"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_attList"/>
        </optional>
        <zeroOrMore>
          <ref name="TEI_exemplum"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_remarks"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_listRef"/>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="classSpec-constraint-classspec-in-module">
        <rule context="tei:classSpec">
          <assert xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="not( @module )               or               //tei:moduleSpec[ @ident = current()/@module ]               or               //tei:moduleRef[ @key = current()/@module ]">Class
      <value-of select="@ident"/>: the value of the module attribute ("<value-of select="@module"/>") 
should correspond to an existing module, via a moduleSpec or moduleRef</assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.identified.attributes"/>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether this is a model class or an attribute class</a:documentation>
        <choice>
          <value>model</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(content model) members of this class appear in the same  content models</a:documentation>
          <value>atts</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(attributes) members of this class share common attributes</a:documentation>
        </choice>
      </attribute>
      <optional>
        <attribute name="generate">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates which alternation and sequence instantiations
	of a model class may be referenced. By default, all variations
	are permitted.</a:documentation>
          <list>
            <choice>
              <value>alternation</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class are alternatives</a:documentation>
              <value>sequence</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class are to be provided in sequence</a:documentation>
              <value>sequenceOptional</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided, in sequence,
	    but are optional</a:documentation>
              <value>sequenceOptionalRepeatable</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided one or more
	    times, in sequence, but are optional. </a:documentation>
              <value>sequenceRepeatable</value>
              <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided one or more times, in sequence</a:documentation>
            </choice>
            <optional>
              <choice>
                <value>alternation</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class are alternatives</a:documentation>
                <value>sequence</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class are to be provided in sequence</a:documentation>
                <value>sequenceOptional</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided, in sequence,
	    but are optional</a:documentation>
                <value>sequenceOptionalRepeatable</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided one or more
	    times, in sequence, but are optional. </a:documentation>
                <value>sequenceRepeatable</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided one or more times, in sequence</a:documentation>
              </choice>
            </optional>
            <optional>
              <choice>
                <value>alternation</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class are alternatives</a:documentation>
                <value>sequence</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class are to be provided in sequence</a:documentation>
                <value>sequenceOptional</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided, in sequence,
	    but are optional</a:documentation>
                <value>sequenceOptionalRepeatable</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided one or more
	    times, in sequence, but are optional. </a:documentation>
                <value>sequenceRepeatable</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided one or more times, in sequence</a:documentation>
              </choice>
            </optional>
            <optional>
              <choice>
                <value>alternation</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class are alternatives</a:documentation>
                <value>sequence</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class are to be provided in sequence</a:documentation>
                <value>sequenceOptional</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided, in sequence,
	    but are optional</a:documentation>
                <value>sequenceOptionalRepeatable</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided one or more
	    times, in sequence, but are optional. </a:documentation>
                <value>sequenceRepeatable</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided one or more times, in sequence</a:documentation>
              </choice>
            </optional>
            <optional>
              <choice>
                <value>alternation</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class are alternatives</a:documentation>
                <value>sequence</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class are to be provided in sequence</a:documentation>
                <value>sequenceOptional</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided, in sequence,
	    but are optional</a:documentation>
                <value>sequenceOptionalRepeatable</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided one or more
	    times, in sequence, but are optional. </a:documentation>
                <value>sequenceRepeatable</value>
                <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">members of the class may be provided one or more times, in sequence</a:documentation>
              </choice>
            </optional>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_macroSpec">
    <element name="macroSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(macro specification) documents the function and implementation of a pattern. </a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.glossLike"/>
            <ref name="TEI_model.descLike"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <choice>
            <ref name="TEI_content"/>
            <ref name="TEI_valList"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_constraintSpec"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_exemplum"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_remarks"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_listRef"/>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="macroSpec-constraint-macrospec-in-module">
        <rule context="tei:macroSpec">
          <assert xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="not( @module )               or               //tei:moduleSpec[ @ident = current()/@module ]               or               //tei:moduleRef[ @key = current()/@module ]">Macro <value-of select="@ident"/>: the value of the module attribute  ("<value-of select="@module"/>")
should correspond to an existing module, via a moduleSpec or moduleRef</assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.identified.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates which type of entity should be generated, when an ODD
	processor is generating a module using XML DTD syntax.</a:documentation>
          <choice>
            <value>pe</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(parameter entity) </a:documentation>
            <value>dt</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(datatype entity) </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_remarks">
    <element name="remarks">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any commentary or discussion about the usage of an element, attribute, class, or
    entity not otherwise documented within the containing element. [22.4.4.  22.4.5.  22.4.6.  22.4.7. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_model.pLike"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.translatable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_listRef">
    <element name="listRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of references) supplies a list of significant references to places where this element is discussed, in the
    current document or elsewhere.</a:documentation>
      <oneOrMore>
        <ref name="TEI_ptr"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_exemplum">
    <element name="exemplum">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups an example demonstrating the use of an element along with optional paragraphs of
    commentary. [22.4.4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.pLike"/>
        </zeroOrMore>
        <choice>
          <ref name="TEI_egXML"/>
          <ref name="TEI_eg"/>
        </choice>
        <zeroOrMore>
          <ref name="TEI_model.pLike"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.translatable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_classes">
    <element name="classes">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies all the classes of which the documented element or
class is a member or subclass. [22.4.4.  22.4.6. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_memberOf"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="mode" a:defaultValue="replace">
          <a:documentation>specifies the effect of this declaration on its parent
    module.</a:documentation>
          <choice>
            <value>change</value>
            <a:documentation>this declaration changes the declaration of the same
    name in the current definition</a:documentation>
            <value>replace</value>
            <a:documentation>this declaration replaces the declaration of the same
    name in the current definition</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_memberOf">
    <element name="memberOf">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies class membership of the documented element or class.</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="key">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the identifier for a class of which the documented element or class is a
        member or subclass</a:documentation>
          <ref name="TEI_data.name"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="mode" a:defaultValue="add">
          <a:documentation>specifies the effect of this declaration on its parent module.</a:documentation>
          <choice>
            <value>add</value>
            <a:documentation>this declaration is added to the current definitions</a:documentation>
            <value>delete</value>
            <a:documentation>this declaration and all of its children are removed from the current setup</a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="max">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the maximum number of times the element can occur in elements which use this model class in their content model</a:documentation>
          <ref name="TEI_data.numeric"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="min">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the minumum number of times the element must occur in elements which use this model class in their content model</a:documentation>
          <ref name="TEI_data.numeric"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_equiv">
    <element name="equiv">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(equivalent) specifies a component which is considered equivalent to the parent element, either by
    co-reference, or by external link. [22.4.4.  22.4.5.  22.4.6.  22.4.7. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.internetMedia.attributes"/>
      <optional>
        <attribute name="name">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a single word which follows the rules defining a
        legal XML name (see ), naming the underlying concept of which the parent is a representation.</a:documentation>
          <ref name="TEI_data.name"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="uri">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(uniform resource identifier) references the underlying concept of which the parent is a representation by means of
        some external identifier</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="filter">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">references an external script which contains a method to transform instances of this
        element to canonical TEI </a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_altIdent">
    <element name="altIdent">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(alternate identifier) supplies the recommended XML name for an element, class,
  attribute, etc. in some language.</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_content">
    <element name="content">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(content model) contains the text of a declaration for the schema
documented. [22.4.4. ]</a:documentation>
      <zeroOrMore>
        <group>
          <ref name="TEI_macro.schemaPattern"/>
        </group>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="autoPrefix" a:defaultValue="true">
          <a:documentation>controls whether or not pattern names generated in the
corresponding RELAXNG schema source are automatically prefixed to
avoid potential nameclashes. </a:documentation>
          <choice>
            <value>true</value>
            <a:documentation>Each name referenced in e.g. a rng:ref
	  element within a content model is automatically prefixed by
	  the value of the prefix attribute on the current
	  schemaSpec
               </a:documentation>
            <value>false</value>
            <a:documentation>No prefixes are added: 
 any prefix required by the value of the prefix attribute on the current
	  schemaSpec must therefore be supplied explicitly, as appropriate. </a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_constraint">
    <element name="constraint">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (constraint rules) the formal rules of a constraint</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_anySchematron"/>
          <ref name="TEI_anyISOSchematron"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_constraintSpec">
    <element name="constraintSpec">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (constraint on schema) contains  a constraint, expressed in some formal syntax,
  which cannot be expressed in the structural content model [22.4.4. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_model.descLike"/>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="TEI_model.glossLike"/>
      </zeroOrMore>
      <optional>
        <ref name="TEI_constraint"/>
      </optional>
      <ns xmlns="http://purl.oclc.org/dsdl/schematron" prefix="s" uri="http://www.ascc.net/xml/schematron"/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="constraintSpec-constraint-sch">
        <rule context="tei:constraintSpec">
          <sch:report xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="tei:constraint/s:* and    not(@scheme='schematron')">
	Rules in the Schematron 1.* language must be inside
	a constraint with a value of 'schematron' on the scheme attribute
      </sch:report>
        </rule>
      </pattern>
      <ns xmlns="http://purl.oclc.org/dsdl/schematron" prefix="sch" uri="http://purl.oclc.org/dsdl/schematron"/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="constraintSpec-constraint-isosch">
        <rule context="tei:constraintSpec">
          <sch:report xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="tei:constraint/sch:* and    not(@scheme='isoschematron')">
	Rules in the ISO Schematron language must be inside
	a constraint with a value of 'isoschematron' on the scheme attribute
      </sch:report>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.identified.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <attribute name="scheme">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the name of the language in which the constraints
      are defined</a:documentation>
        <choice>
          <value>schematron</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (Schematron) </a:documentation>
          <value>isoschematron</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (ISO Schematron) </a:documentation>
          <value>xsl</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (XSLT) </a:documentation>
          <value>private</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> (private constraint language) </a:documentation>
        </choice>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_attList">
    <element name="attList">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains documentation for all the attributes associated with this element, as a series of
      attDef elements. [22.4.4.  22.4.6. ]</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_attRef"/>
          <ref name="TEI_attDef"/>
          <ref name="TEI_attList"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="org" a:defaultValue="group">
          <a:documentation>(organization) specifies whether all the attributes in the list are available (org="group") or only one
        of them (org="choice")</a:documentation>
          <choice>
            <value>group</value>
            <a:documentation>grouped</a:documentation>
            <value>choice</value>
            <a:documentation>alternated</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_attDef">
    <element name="attDef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(attribute definition) contains the definition of a single attribute. [22.4.5. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.glossLike"/>
            <ref name="TEI_model.descLike"/>
          </choice>
        </zeroOrMore>
        <optional>
          <ref name="TEI_datatype"/>
        </optional>
        <zeroOrMore>
          <ref name="TEI_constraintSpec"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_defaultVal"/>
        </optional>
        <optional>
          <choice>
            <ref name="TEI_valList"/>
            <oneOrMore>
              <ref name="TEI_valDesc"/>
            </oneOrMore>
          </choice>
        </optional>
        <zeroOrMore>
          <ref name="TEI_exemplum"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="TEI_remarks"/>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="attDef-constraint-attDefContents">
        <rule context="tei:attDef">
          <assert xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="   @mode eq 'change'       or @mode eq 'delete'       or tei:datatype       or tei:valList[@type='closed']       ">Attribute: the definition of the @<value-of select="@ident"/> attribute in the <value-of select="ancestor::*[@ident][1]/@ident"/>
                  <value-of select="' '"/>
                  <value-of select="local-name(ancestor::*[@ident][1])"/> should have a closed valList or a datatype</assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.identified.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="usage" a:defaultValue="opt">
          <a:documentation>specifies the optionality of the attribute.</a:documentation>
          <choice>
            <value>req</value>
            <a:documentation>(required) </a:documentation>
            <value>mwa</value>
            <a:documentation>(mandatory when applicable ) </a:documentation>
            <value>rec</value>
            <a:documentation>(recommended ) </a:documentation>
            <value>rwa</value>
            <a:documentation>(recommended when applicable ) </a:documentation>
            <value>opt</value>
            <a:documentation>(optional ) </a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="ns" a:defaultValue="http://www.tei-c.org/ns/1.0">
          <a:documentation>(namespace) specifies the namespace to which this attribute belongs</a:documentation>
          <ref name="TEI_data.namespace"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_attRef">
    <element name="attRef">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(attribute pointer) points to the definition of an attribute or group of attributes.</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="name">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the name of the pattern defining the attribute(s)</a:documentation>
        <ref name="TEI_data.word"/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_datatype">
    <element name="datatype">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the declared value for an attribute, by referring to
  any datatype defined by the chosen schema language. [1.4.2.  22.4.5. ]</a:documentation>
      <zeroOrMore>
        <group>
          <ref name="TEI_macro.schemaPattern"/>
        </group>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="minOccurs" a:defaultValue="1">
          <a:documentation>(minimum number of occurences) indicates the minimum number of times this datatype may
      occur in the specification of the attribute being defined</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="maxOccurs" a:defaultValue="1">
          <a:documentation>(maximum number of occurences) indicates the maximum number of times this datatype may
      occur in the specification of the attribute being defined</a:documentation>
          <choice>
            <ref name="TEI_data.count"/>
            <value>unbounded</value>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_defaultVal">
    <element name="defaultVal">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(default value) specifies the default declared value for an attribute. [22.4.5. ]</a:documentation>
      <text/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_valDesc">
    <element name="valDesc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value description) specifies any semantic or syntactic constraint on the value that
an attribute may take, additional to the information carried by the
datatype element. [22.4.5. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.translatable.attributes"/>
      <ref name="TEI_att.combinable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_valItem">
    <element name="valItem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents a single value in a predefined list of values. [22.4.5. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.descLike"/>
          <ref name="TEI_model.glossLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.combinable.attributes"/>
      <attribute name="ident">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the value concerned.</a:documentation>
        <text/>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_valList">
    <element name="valList">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value list) contains one or more valItem elements defining
  possible values. [22.4.5. ]</a:documentation>
      <zeroOrMore>
        <ref name="TEI_valItem"/>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.combinable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="open">
          <a:documentation>specifies the extensibility of the list of values specified. </a:documentation>
          <choice>
            <value>closed</value>
            <a:documentation>only the values specified are permitted.</a:documentation>
            <value>semi</value>
            <a:documentation>(semi-open) all the values specified should be supported, but other values are legal and
            software should have appropriate fallback processing for them. </a:documentation>
            <value>open</value>
            <a:documentation>the values specified are sample values only.</a:documentation>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.combinable.attributes">
    <ref name="TEI_att.combinable.attribute.mode"/>
  </define>
  <define name="TEI_att.combinable.attribute.mode">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="mode" a:defaultValue="add">
        <a:documentation>specifies the effect of this declaration on its parent
    object.</a:documentation>
        <choice>
          <value>add</value>
          <a:documentation>this declaration is added to the current definitions</a:documentation>
          <value>delete</value>
          <a:documentation>if present already, the whole of the declaration 
	  for this object is  removed from the current setup</a:documentation>
          <value>change</value>
          <a:documentation>this declaration changes the declaration of the same
    name in the current definition</a:documentation>
          <value>replace</value>
          <a:documentation>this declaration replaces the declaration of the same
    name in the current definition</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.identified.attributes">
    <ref name="TEI_att.combinable.attributes"/>
    <ref name="TEI_att.identified.attribute.ident"/>
    <ref name="TEI_att.identified.attribute.predeclare"/>
    <ref name="TEI_att.identified.attribute.module"/>
    <ref name="TEI_att.identified.attribute.status"/>
  </define>
  <define name="TEI_att.identified.attribute.ident">
    <attribute name="ident">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the identifier by which this element may be referenced.</a:documentation>
      <ref name="TEI_data.name"/>
    </attribute>
  </define>
  <define name="TEI_att.identified.attribute.predeclare">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="predeclare" a:defaultValue="false">
        <a:documentation>says whether this object should be predeclared in the
      tei infrastructure module.</a:documentation>
        <ref name="TEI_data.truthValue"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.identified.attribute.module">
    <optional>
      <attribute name="module">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a name for the module in which this object is to
      be declared.</a:documentation>
        <data type="NCName"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.identified.attribute.status">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="status" a:defaultValue="stable">
        <a:documentation>indicates the current status of the object identified with
respect to the current version of the TEI Guidelines.</a:documentation>
        <choice>
          <value>deprecated</value>
          <a:documentation>the item is not recommended for use,
and may be withdrawn at a future release.</a:documentation>
          <value>unstable</value>
          <a:documentation>the item is new and still under
review.</a:documentation>
          <value>changed</value>
          <a:documentation>the item has changed significantly since the
preceding version.</a:documentation>
          <value>stable</value>
          <a:documentation>the item has not recently changed and is
not expected to do so except for correction of any errors.</a:documentation>
        </choice>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.namespaceable.attributes">
    <ref name="TEI_att.namespaceable.attribute.ns"/>
  </define>
  <define name="TEI_att.namespaceable.attribute.ns">
    <optional>
      <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="ns" a:defaultValue="http://www.tei-c.org/ns/1.0">
        <a:documentation>(namespace) specifies the namespace to which this element belongs</a:documentation>
        <ref name="TEI_data.namespace"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_model.rdgLike">
    <choice>
      <ref name="TEI_rdg"/>
    </choice>
  </define>
  <define name="TEI_app">
    <element name="app">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(apparatus entry) contains one entry in a critical apparatus, with an optional
lemma and usually one or more reading or a note on the relevant passage. [12.1.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_lem"/>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
          <optional>
            <ref name="TEI_wit"/>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </optional>
        </optional>
        <zeroOrMore>
          <choice>
            <group>
              <ref name="TEI_model.rdgLike"/>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
              <optional>
                <ref name="TEI_wit"/>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </optional>
            </group>
            <group>
              <ref name="TEI_rdgGrp"/>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
              <optional>
                <ref name="TEI_wit"/>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </optional>
            </group>
          </choice>
        </zeroOrMore>
      </group>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="app-constraint-only1lem">
        <rule context="tei:app">
          <sch:assert xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="count( descendant::tei:lem[ generate-id(    current() ) = generate-id(    ancestor::tei:app[1] ) ]) &lt;       2">
Only one &lt;lem&gt; element may appear within a single  apparatus
entry, whether it appears outside a &lt;rdgGrp&gt;
element or within it.</sch:assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the variation contained in this element according to
some convenient typology.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="from">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the beginning of the lemma in the base text, if
necessary.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="to">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the endpoint of the lemma in the base text, if
necessary.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="loc">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(location) indicates the location of the variation, when the
location-referenced method of apparatus markup is used.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_listApp">
    <element name="listApp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(list of apparatus entries) contains a list of apparatus entries.  [12.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.headLike"/>
        </zeroOrMore>
        <oneOrMore>
          <choice>
            <ref name="TEI_app"/>
            <ref name="TEI_listApp"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_lem">
    <element name="lem">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(lemma) contains the lemma, or base text, of a textual variation. [12.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.inter"/>
          <ref name="TEI_model.global"/>
          <ref name="TEI_model.rdgPart"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.textCritical.attributes"/>
      <ref name="TEI_att.witnessed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_rdg">
    <element name="rdg">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reading) contains a single reading within a textual variation. [12.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.inter"/>
          <ref name="TEI_model.global"/>
          <ref name="TEI_model.rdgPart"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.textCritical.attributes"/>
      <ref name="TEI_att.witnessed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_rdgGrp">
    <element name="rdgGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reading group) within a textual variation,
groups two or more readings perceived to have a genetic
relationship or other affinity. [12.1. ]</a:documentation>
      <group>
        <oneOrMore>
          <choice>
            <group>
              <ref name="TEI_rdgGrp"/>
              <optional>
                <ref name="TEI_wit"/>
              </optional>
            </group>
            <zeroOrMore>
              <group>
                <optional>
                  <group>
                    <ref name="TEI_lem"/>
                    <optional>
                      <ref name="TEI_wit"/>
                    </optional>
                  </group>
                </optional>
                <group>
                  <ref name="TEI_model.rdgLike"/>
                  <optional>
                    <ref name="TEI_wit"/>
                  </optional>
                </group>
              </group>
            </zeroOrMore>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.textCritical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_witDetail">
    <element name="witDetail">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(witness detail) gives further information about a particular witness, or
witnesses, to a particular reading. [12.1. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.placement.attributes"/>
      <ref name="TEI_att.responsibility.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <attribute name="wit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(witnesses) indicates the sigil or sigla for the witnesses to which the
detail refers.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the type of information given about the witness.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_wit">
    <element name="wit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a list of one or more sigla of witnesses attesting a
given reading, in a textual variation. [12.1.4. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.rdgPart.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_listWit">
    <element name="listWit">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(witness list) lists definitions for all the witnesses referred to by a critical
  apparatus, optionally grouped hierarchically. [12.1. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_model.headLike"/>
        </optional>
        <oneOrMore>
          <choice>
            <ref name="TEI_witness"/>
            <ref name="TEI_listWit"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_witness">
    <element name="witness">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains either a description of a single witness referred to
within the critical apparatus, or a list of witnesses which is to be
referred to by a single sigil. [12.1. ]</a:documentation>
      <ref name="TEI_macro.limitedContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.sortable.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_witStart">
    <element name="witStart">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(fragmented witness start) indicates the beginning, or resumption, of the text of a
fragmentary witness. [12.1.5. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.rdgPart.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_witEnd">
    <element name="witEnd">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(fragmented witness end) indicates the end, or suspension, of the text of a fragmentary
witness. [12.1.5. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.rdgPart.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_lacunaStart">
    <element name="lacunaStart">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the beginning of a lacuna in the text of a mostly
complete textual witness. [12.1.5. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.rdgPart.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_lacunaEnd">
    <element name="lacunaEnd">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the end of a lacuna in a mostly complete textual
witness. [12.1.5. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.rdgPart.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_variantEncoding">
    <element name="variantEncoding">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">declares the method used to encode text-critical variants. [12.1.1. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="method">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates which method is used to encode the apparatus of
variants.</a:documentation>
        <choice>
          <value>location-referenced</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">apparatus uses line numbers or other canonical reference scheme
referenced in a base text.</a:documentation>
          <value>double-end-point</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">apparatus indicates the precise locations of the beginning and
ending of each lemma relative to a base text.</a:documentation>
          <value>parallel-segmentation</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">alternate readings of a passage are given in parallel in the
text; no notion of a base text is necessary.</a:documentation>
        </choice>
      </attribute>
      <attribute name="location">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether the apparatus appears within the running text
or external to it.</a:documentation>
        <choice>
          <value>internal</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">apparatus appears within the running text.</a:documentation>
          <value>external</value>
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">apparatus appears outside the base text.</a:documentation>
        </choice>
      </attribute>
      <empty/>
    </element>
  </define>
  <define name="TEI_model.rdgPart">
    <choice>
      <ref name="TEI_wit"/>
      <ref name="TEI_witStart"/>
      <ref name="TEI_witEnd"/>
      <ref name="TEI_lacunaStart"/>
      <ref name="TEI_lacunaEnd"/>
    </choice>
  </define>
  <define name="TEI_att.rdgPart.attributes">
    <ref name="TEI_att.rdgPart.attribute.wit"/>
  </define>
  <define name="TEI_att.rdgPart.attribute.wit">
    <optional>
      <attribute name="wit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(witness or witnesses) contains a list of one or more sigla indicating the witnesses
which begin or end at this point.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.witnessed.attributes">
    <ref name="TEI_att.witnessed.attribute.wit"/>
  </define>
  <define name="TEI_att.witnessed.attribute.wit">
    <optional>
      <attribute name="wit">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(witness or witnesses) contains a list of one or more pointers indicating the witnesses
which attest to a given reading.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.textCritical.attributes">
    <ref name="TEI_att.responsibility.attributes"/>
    <ref name="TEI_att.textCritical.attribute.type"/>
    <ref name="TEI_att.textCritical.attribute.cause"/>
    <ref name="TEI_att.textCritical.attribute.varSeq"/>
    <ref name="TEI_att.textCritical.attribute.hand"/>
  </define>
  <define name="TEI_att.textCritical.attribute.type">
    <optional>
      <attribute name="type">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the reading according to some useful typology.
Sample values include: 1] substantive; 2] orthographic</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.textCritical.attribute.cause">
    <optional>
      <attribute name="cause">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the cause for the variant reading, according to
any appropriate typology of possible origins.
Sample values include: 1] homeoteleuton; 2] homeoarchy; 3] paleographicConfusion; 4] haplography; 5] dittography; 6] falseEmendation</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.textCritical.attribute.varSeq">
    <optional>
      <attribute name="varSeq">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(variant sequence) provides a number indicating the position of this reading in a
sequence, when there is reason to presume a sequence to the variants
on any one lemma.</a:documentation>
        <ref name="TEI_data.count"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.textCritical.attribute.hand">
    <optional>
      <attribute name="hand">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies the hand responsible for a particular reading in the
witness.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_TEI">
    <element name="TEI">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI document) contains a single TEI-conformant document,
comprising a TEI header and a text, either in isolation or as part of a
teiCorpus element. [4.  15.1. ]</a:documentation>
      <group>
        <ref name="TEI_teiHeader"/>
        <choice>
          <group>
            <oneOrMore>
              <ref name="TEI_model.resourceLike"/>
            </oneOrMore>
            <optional>
              <ref name="TEI_text"/>
            </optional>
          </group>
          <ref name="TEI_text"/>
        </choice>
      </group>
      <ns xmlns="http://purl.oclc.org/dsdl/schematron" prefix="tei" uri="http://www.tei-c.org/ns/1.0"/>
      <ns xmlns="http://purl.oclc.org/dsdl/schematron" prefix="rng" uri="http://relaxng.org/ns/structure/1.0"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="version">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the major version number of the TEI Guidelines against
      which this document is valid.</a:documentation>
          <ref name="TEI_data.version"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_text">
    <element name="text">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a single text of any kind, whether unitary or composite, for example a poem or
    drama, a collection of essays, a novel, a dictionary, or a corpus sample. [4.  15.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_front"/>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </optional>
        <choice>
          <ref name="TEI_body"/>
          <ref name="TEI_group"/>
        </choice>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_back"/>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_body">
    <element name="body">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text body) contains the whole body of a single unitary text, excluding any front or back matter. [4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
        <optional>
          <group>
            <group>
              <ref name="TEI_model.divTop"/>
            </group>
            <zeroOrMore>
              <choice>
                <ref name="TEI_model.global"/>
                <ref name="TEI_model.divTop"/>
              </choice>
            </zeroOrMore>
          </group>
        </optional>
        <optional>
          <group>
            <group>
              <ref name="TEI_model.divGenLike"/>
            </group>
            <zeroOrMore>
              <choice>
                <ref name="TEI_model.global"/>
                <ref name="TEI_model.divGenLike"/>
              </choice>
            </zeroOrMore>
          </group>
        </optional>
        <group>
          <choice>
            <oneOrMore>
              <group>
                <group>
                  <ref name="TEI_model.divLike"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="TEI_model.global"/>
                    <ref name="TEI_model.divGenLike"/>
                  </choice>
                </zeroOrMore>
              </group>
            </oneOrMore>
            <oneOrMore>
              <group>
                <group>
                  <ref name="TEI_model.div1Like"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="TEI_model.global"/>
                    <ref name="TEI_model.divGenLike"/>
                  </choice>
                </zeroOrMore>
              </group>
            </oneOrMore>
            <group>
              <oneOrMore>
                <group>
                  <ref name="TEI_model.common"/>
                </group>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </oneOrMore>
              <optional>
                <choice>
                  <oneOrMore>
                    <group>
                      <group>
                        <ref name="TEI_model.divLike"/>
                      </group>
                      <zeroOrMore>
                        <choice>
                          <ref name="TEI_model.global"/>
                          <ref name="TEI_model.divGenLike"/>
                        </choice>
                      </zeroOrMore>
                    </group>
                  </oneOrMore>
                  <oneOrMore>
                    <group>
                      <group>
                        <ref name="TEI_model.div1Like"/>
                      </group>
                      <zeroOrMore>
                        <choice>
                          <ref name="TEI_model.global"/>
                          <ref name="TEI_model.divGenLike"/>
                        </choice>
                      </zeroOrMore>
                    </group>
                  </oneOrMore>
                </choice>
              </optional>
            </group>
          </choice>
        </group>
        <zeroOrMore>
          <group>
            <group>
              <ref name="TEI_model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </group>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_group">
    <element name="group">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the body of a composite text, grouping together a sequence of distinct texts (or
    groups of such texts) which are regarded as a unit for some purpose, for example the collected
    works of an author, a sequence of prose essays, etc. [4.  4.3.1.  15.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <group>
          <choice>
            <ref name="TEI_text"/>
            <ref name="TEI_group"/>
          </choice>
          <zeroOrMore>
            <choice>
              <ref name="TEI_text"/>
              <ref name="TEI_group"/>
              <ref name="TEI_model.global"/>
            </choice>
          </zeroOrMore>
        </group>
        <zeroOrMore>
          <ref name="TEI_model.divBottom"/>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_floatingText">
    <element name="floatingText">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a single text of any kind, whether unitary or composite, which interrupts the text
    containing it at any point and after which the surrounding text resumes. [4.3.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_front"/>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </optional>
        <choice>
          <ref name="TEI_body"/>
          <ref name="TEI_group"/>
        </choice>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
        <optional>
          <ref name="TEI_back"/>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_div">
    <element name="div">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text division) contains a subdivision of the front, body, or back of a text. [4.1. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <optional>
          <choice>
            <group>
              <oneOrMore>
                <choice>
                  <ref name="TEI_model.divLike"/>
                  <ref name="TEI_model.divGenLike"/>
                </choice>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </oneOrMore>
            </group>
            <group>
              <oneOrMore>
                <group>
                  <ref name="TEI_model.common"/>
                </group>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="TEI_model.divLike"/>
                  <ref name="TEI_model.divGenLike"/>
                </choice>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </zeroOrMore>
            </group>
          </choice>
          <zeroOrMore>
            <group>
              <ref name="TEI_model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.divLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_div1">
    <element name="div1">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-1 text division) contains a first-level subdivision of the front, body, or back of a text. [4.1.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <optional>
          <choice>
            <oneOrMore>
              <choice>
                <ref name="TEI_model.div2Like"/>
                <ref name="TEI_model.divGenLike"/>
              </choice>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </oneOrMore>
            <group>
              <oneOrMore>
                <group>
                  <ref name="TEI_model.common"/>
                </group>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="TEI_model.div2Like"/>
                  <ref name="TEI_model.divGenLike"/>
                </choice>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </zeroOrMore>
            </group>
          </choice>
          <zeroOrMore>
            <group>
              <ref name="TEI_model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.divLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_div2">
    <element name="div2">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-2 text division) contains a second-level subdivision of the front, body, or back of a
 text. [4.1.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <optional>
          <choice>
            <oneOrMore>
              <choice>
                <ref name="TEI_model.div3Like"/>
                <ref name="TEI_model.divGenLike"/>
              </choice>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </oneOrMore>
            <group>
              <oneOrMore>
                <group>
                  <ref name="TEI_model.common"/>
                </group>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="TEI_model.div3Like"/>
                  <ref name="TEI_model.divGenLike"/>
                </choice>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </zeroOrMore>
            </group>
          </choice>
          <zeroOrMore>
            <group>
              <ref name="TEI_model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.divLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_div3">
    <element name="div3">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-3 text division) contains a third-level subdivision of the front, body, or back of a text. [4.1.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <optional>
          <choice>
            <oneOrMore>
              <choice>
                <ref name="TEI_model.div4Like"/>
                <ref name="TEI_model.divGenLike"/>
              </choice>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </oneOrMore>
            <group>
              <oneOrMore>
                <group>
                  <ref name="TEI_model.common"/>
                </group>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="TEI_model.div4Like"/>
                  <ref name="TEI_model.divGenLike"/>
                </choice>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </zeroOrMore>
            </group>
          </choice>
          <zeroOrMore>
            <group>
              <ref name="TEI_model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.divLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_div4">
    <element name="div4">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-4 text division) contains a fourth-level subdivision of the front, body, or back of a text. [4.1.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <optional>
          <choice>
            <oneOrMore>
              <choice>
                <ref name="TEI_model.div5Like"/>
                <ref name="TEI_model.divGenLike"/>
              </choice>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </oneOrMore>
            <group>
              <oneOrMore>
                <group>
                  <ref name="TEI_model.common"/>
                </group>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="TEI_model.div5Like"/>
                  <ref name="TEI_model.divGenLike"/>
                </choice>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </zeroOrMore>
            </group>
          </choice>
          <zeroOrMore>
            <group>
              <ref name="TEI_model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.divLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_div5">
    <element name="div5">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-5 text division) contains a fifth-level subdivision of the front, body, or back of a text. [4.1.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <optional>
          <choice>
            <oneOrMore>
              <choice>
                <ref name="TEI_model.div6Like"/>
                <ref name="TEI_model.divGenLike"/>
              </choice>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </oneOrMore>
            <group>
              <oneOrMore>
                <group>
                  <ref name="TEI_model.common"/>
                </group>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="TEI_model.div6Like"/>
                  <ref name="TEI_model.divGenLike"/>
                </choice>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </zeroOrMore>
            </group>
          </choice>
          <zeroOrMore>
            <group>
              <ref name="TEI_model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.divLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_div6">
    <element name="div6">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-6 text division) contains a sixth-level subdivision of the front, body, or back of a text. [4.1.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <optional>
          <choice>
            <oneOrMore>
              <choice>
                <ref name="TEI_model.div7Like"/>
                <ref name="TEI_model.divGenLike"/>
              </choice>
              <zeroOrMore>
                <ref name="TEI_model.global"/>
              </zeroOrMore>
            </oneOrMore>
            <group>
              <oneOrMore>
                <group>
                  <ref name="TEI_model.common"/>
                </group>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </oneOrMore>
              <zeroOrMore>
                <choice>
                  <ref name="TEI_model.div7Like"/>
                  <ref name="TEI_model.divGenLike"/>
                </choice>
                <zeroOrMore>
                  <ref name="TEI_model.global"/>
                </zeroOrMore>
              </zeroOrMore>
            </group>
          </choice>
          <zeroOrMore>
            <group>
              <ref name="TEI_model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.divLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_div7">
    <element name="div7">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(level-7 text division) contains the smallest possible subdivision of the front, body or back of a text, larger than
    a paragraph. [4.1.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.divTop"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <optional>
          <oneOrMore>
            <group>
              <ref name="TEI_model.common"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </oneOrMore>
          <zeroOrMore>
            <group>
              <ref name="TEI_model.divBottom"/>
            </group>
            <zeroOrMore>
              <ref name="TEI_model.global"/>
            </zeroOrMore>
          </zeroOrMore>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.divLike.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_trailer">
    <element name="trailer">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a closing title or footer appearing at the end of a division of a text.  [4.2.4.  4.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_byline">
    <element name="byline">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the primary statement of responsibility given for a work
on its title page or at the head or end of the work. [4.2.2.  4.5. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_docAuthor"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_dateline">
    <element name="dateline">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a brief description of the place, date, time, etc. of production of a letter,
    newspaper story, or other work, prefixed or suffixed to it as a kind of heading or trailer.  [4.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_argument">
    <element name="argument">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a formal list or prose description of the topics addressed by
	a subdivision of a text. [4.2.  4.6. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.global"/>
            <ref name="TEI_model.headLike"/>
          </choice>
        </zeroOrMore>
        <oneOrMore>
          <group>
            <ref name="TEI_model.common"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_epigraph">
    <element name="epigraph">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a quotation, anonymous or attributed, appearing at
  the start or end of a section or on a title page.  [4.2.3.  4.2.  4.6. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.common"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_opener">
    <element name="opener">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups together dateline, byline, salutation, and similar phrases appearing as a preliminary
    group at the start of a division, especially of a letter. [4.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_argument"/>
          <ref name="TEI_byline"/>
          <ref name="TEI_dateline"/>
          <ref name="TEI_epigraph"/>
          <ref name="TEI_salute"/>
          <ref name="TEI_signed"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_closer">
    <element name="closer">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups together salutations, datelines, and similar phrases appearing as a final group at
    the end of a division, especially of a letter. [4.2.2.  4.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_signed"/>
          <ref name="TEI_dateline"/>
          <ref name="TEI_salute"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_salute">
    <element name="salute">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(salutation) contains a salutation or greeting prefixed to a foreword, dedicatory epistle, or other
    division of a text, or the salutation in the closing of a letter, preface, etc. [4.2.2. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_signed">
    <element name="signed">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(signature) contains the closing salutation, etc., appended to a foreword,
dedicatory epistle, or other division of a text.  [4.2.2. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_postscript">
    <element name="postscript">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a postscript, e.g. to a letter. [4.2. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.global"/>
            <ref name="TEI_model.divTopPart"/>
          </choice>
        </zeroOrMore>
        <group>
          <ref name="TEI_model.common"/>
        </group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.global"/>
            <ref name="TEI_model.common"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <group>
            <ref name="TEI_model.divBottomPart"/>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_titlePage">
    <element name="titlePage">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title page) contains the title page of a text, appearing within the front or back matter.  [4.6. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
        <group>
          <ref name="TEI_model.titlepagePart"/>
        </group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.titlepagePart"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the title page according to any convenient typology.</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_docTitle">
    <element name="docTitle">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document title) contains the title of a document, including all its
constituents, as given on a title page. [4.6. ]</a:documentation>
      <group>
        <zeroOrMore>
          <ref name="TEI_model.global"/>
        </zeroOrMore>
        <oneOrMore>
          <ref name="TEI_titlePart"/>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_titlePart">
    <element name="titlePart">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a subsection or division of the title of a work, as
indicated on a title page. [4.6. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="main">
          <a:documentation>specifies the role of this subdivision of the title.
Suggested values include: 1] main; 2] sub(subordinate) ; 3] alt(alternate) ; 4] short; 5] desc(descriptive) </a:documentation>
          <choice>
            <value>main</value>
            <a:documentation>main title of the work
        </a:documentation>
            <value>sub</value>
            <a:documentation>(subordinate) subtitle  of the work
        </a:documentation>
            <value>alt</value>
            <a:documentation>(alternate) alternative title  of the work
        </a:documentation>
            <value>short</value>
            <a:documentation>abbreviated form of title</a:documentation>
            <value>desc</value>
            <a:documentation>(descriptive) descriptive paraphrase of the work 
   </a:documentation>
            <data type="Name"/>
          </choice>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_docAuthor">
    <element name="docAuthor">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document author) contains the name of the author of the document, as given on the
title page (often but not always contained in a byline). [4.6. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.canonical.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_imprimatur">
    <element name="imprimatur">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a formal statement authorizing the publication of a work, sometimes required to
    appear on a title page or its verso. [4.6. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_docEdition">
    <element name="docEdition">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document edition) contains an edition statement as presented on a title page of a
document. [4.6. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_docImprint">
    <element name="docImprint">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document imprint) contains the imprint statement (place and date of publication,
publisher name), as given
(usually) at the foot of a title page. [4.6. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.phrase"/>
          <ref name="TEI_pubPlace"/>
          <ref name="TEI_docDate"/>
          <ref name="TEI_publisher"/>
          <ref name="TEI_model.global"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_docDate">
    <element name="docDate">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(document date) contains the date of a document, as given
(usually) on a title page. [4.6. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="when">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the value of the date in standard form, i.e. YYYY-MM-DD.</a:documentation>
          <ref name="TEI_data.temporal.w3c"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_front">
    <element name="front">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(front matter) contains any prefatory matter (headers,
title page, prefaces, dedications, etc.)
found  at the start of a document, before the main body. [4.6.  4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.frontPart"/>
            <ref name="TEI_model.pLike.front"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <group>
          <optional>
            <choice>
              <group>
                <group>
                  <ref name="TEI_model.div1Like"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="TEI_model.frontPart"/>
                    <ref name="TEI_model.div1Like"/>
                    <ref name="TEI_model.global"/>
                  </choice>
                </zeroOrMore>
              </group>
              <group>
                <group>
                  <ref name="TEI_model.divLike"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="TEI_model.frontPart"/>
                    <ref name="TEI_model.divLike"/>
                    <ref name="TEI_model.global"/>
                  </choice>
                </zeroOrMore>
              </group>
            </choice>
          </optional>
        </group>
        <group>
          <optional>
            <group>
              <ref name="TEI_model.divBottomPart"/>
            </group>
            <zeroOrMore>
              <choice>
                <ref name="TEI_model.divBottomPart"/>
                <ref name="TEI_model.global"/>
              </choice>
            </zeroOrMore>
          </optional>
        </group>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_back">
    <element name="back">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(back matter) contains any appendixes, etc. following the main part of a text. [4.7.  4. ]</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.frontPart"/>
            <ref name="TEI_model.pLike.front"/>
            <ref name="TEI_model.global"/>
          </choice>
        </zeroOrMore>
        <group>
          <optional>
            <choice>
              <group>
                <group>
                  <ref name="TEI_model.div1Like"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="TEI_model.frontPart"/>
                    <ref name="TEI_model.div1Like"/>
                    <ref name="TEI_model.global"/>
                  </choice>
                </zeroOrMore>
              </group>
              <group>
                <group>
                  <ref name="TEI_model.divLike"/>
                </group>
                <zeroOrMore>
                  <choice>
                    <ref name="TEI_model.frontPart"/>
                    <ref name="TEI_model.divLike"/>
                    <ref name="TEI_model.global"/>
                  </choice>
                </zeroOrMore>
              </group>
            </choice>
          </optional>
        </group>
        <group>
          <optional>
            <group>
              <ref name="TEI_model.divBottomPart"/>
            </group>
            <zeroOrMore>
              <choice>
                <ref name="TEI_model.divBottomPart"/>
                <ref name="TEI_model.global"/>
              </choice>
            </zeroOrMore>
          </optional>
        </group>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_facsimile">
    <element name="facsimile">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a representation of some written source in the form of
a set of images rather than as transcribed or encoded text. [11.1. ]</a:documentation>
      <group>
        <optional>
          <ref name="TEI_front"/>
        </optional>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.graphicLike"/>
            <ref name="TEI_surface"/>
            <ref name="TEI_surfaceGrp"/>
          </choice>
        </oneOrMore>
        <optional>
          <ref name="TEI_back"/>
        </optional>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_sourceDoc">
    <element name="sourceDoc">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> contains a transcription or other representation of a single
 source document potentially forming part of a dossier
 génétique or collection of sources.</a:documentation>
      <group>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.global"/>
            <ref name="TEI_model.graphicLike"/>
            <ref name="TEI_surface"/>
            <ref name="TEI_surfaceGrp"/>
          </choice>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.global.facs.attributes">
    <ref name="TEI_att.global.facs.attribute.facs"/>
  </define>
  <define name="TEI_att.global.facs.attribute.facs">
    <optional>
      <attribute name="facs">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(facsimile) points to all or part of an image which corresponds with the content of the element.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.global.change.attributes">
    <ref name="TEI_att.global.change.attribute.change"/>
  </define>
  <define name="TEI_att.global.change.attribute.change">
    <optional>
      <attribute name="change">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to one or more change elements documenting
      a state or revision campaign to which the element bearing this
      attribute and its children have been assigned by the encoder.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.pointer"/>
          </oneOrMore>
        </list>
      </attribute>
    </optional>
  </define>
  <define name="TEI_surface">
    <element name="surface">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines a written surface as a two-dimensional 
coordinate space, optionally grouping one or more graphic representations of
that space, zones of interest within that space, and transcriptions of the
  writing within them.</a:documentation>
      <group>
        <zeroOrMore>
          <choice>
            <ref name="TEI_model.global"/>
            <ref name="TEI_model.labelLike"/>
            <ref name="TEI_model.graphicLike"/>
          </choice>
        </zeroOrMore>
        <zeroOrMore>
          <group>
            <choice>
              <ref name="TEI_zone"/>
              <ref name="TEI_line"/>
              <ref name="TEI_surface"/>
              <ref name="TEI_surfaceGrp"/>
            </choice>
          </group>
          <zeroOrMore>
            <ref name="TEI_model.global"/>
          </zeroOrMore>
        </zeroOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.coordinated.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="attachment">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the method by which this surface is or was
         connected to the main surface
Sample values include: 1] glued; 2] pinned; 3] sewn</a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="flipping">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates whether the
      surface is attached and folded in such a way as to provide two
      writing surfaces</a:documentation>
          <ref name="TEI_data.truthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_surfaceGrp">
    <element name="surfaceGrp">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines any kind of useful grouping of written surfaces, for
  example the recto and verso of a single leaf, which the encoder
  wishes to treat as a single unit. </a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_model.global"/>
          <ref name="TEI_surface"/>
          <ref name="TEI_surfaceGrp"/>
        </choice>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.coordinated.attributes"/>
      <ref name="TEI_att.declaring.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.coordinated.attributes">
    <ref name="TEI_att.coordinated.attribute.start"/>
    <ref name="TEI_att.coordinated.attribute.ulx"/>
    <ref name="TEI_att.coordinated.attribute.uly"/>
    <ref name="TEI_att.coordinated.attribute.lrx"/>
    <ref name="TEI_att.coordinated.attribute.lry"/>
  </define>
  <define name="TEI_att.coordinated.attribute.start">
    <optional>
      <attribute name="start">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the element within a transcription of the text
containing at least the start of the writing represented by this zone
or surface.</a:documentation>
        <ref name="TEI_data.pointer"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.coordinated.attribute.ulx">
    <optional>
      <attribute name="ulx">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the x coordinate value for the upper left corner of a
rectangular space.</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.coordinated.attribute.uly">
    <optional>
      <attribute name="uly">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the y coordinate value for the upper left corner of a
rectangular space.</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.coordinated.attribute.lrx">
    <optional>
      <attribute name="lrx">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the x coordinate value for the lower right corner of a
rectangular space.</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.coordinated.attribute.lry">
    <optional>
      <attribute name="lry">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the y coordinate value for the lower right corner of a
rectangular space.</a:documentation>
        <ref name="TEI_data.numeric"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_zone">
    <element name="zone">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">defines any two-dimensional area within a surface
element. </a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.graphicLike"/>
          <ref name="TEI_model.global"/>
          <ref name="TEI_surface"/>
          <ref name="TEI_model.linePart"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.coordinated.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="points">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies a two dimensional area within the bounding box
specified by the other attributes by means of
a series of pairs of numbers, each of which gives the x,y coordinates
of a point on a line enclosing the area.</a:documentation>
          <list>
            <ref name="TEI_data.point"/>
            <ref name="TEI_data.point"/>
            <ref name="TEI_data.point"/>
            <zeroOrMore>
              <ref name="TEI_data.point"/>
            </zeroOrMore>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="rotate" a:defaultValue="0">
          <a:documentation>indicates the amount by which this zone has been
         rotated clockwise, with respect to the normal orientation of
         the parent surface element as implied by the
         dimensions given in the msDesc element or by the
         coordinates of the surface itself. The orientation
         is expressed in arc degrees.</a:documentation>
          <ref name="TEI_data.count"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_addSpan">
    <element name="addSpan">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(added span of text) marks the beginning of a longer sequence of text added by an
  author, scribe, annotator or corrector (see also add). [11.3.1.4. ]</a:documentation>
      <empty/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="addSpan-constraint-spanTo">
        <rule context="tei:addSpan">
          <sch:assert xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="@spanTo">The spanTo= attribute of <sch:name/> is required.</sch:assert>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="addSpan-constraint-spanTo_fr">
        <rule context="tei:addSpan">
          <sch:assert xmlns:s="http://www.ascc.net/xml/schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="http://www.tei-c.org/ns/1.0" test="@spanTo">L'attribut spanTo est requis.</sch:assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <ref name="TEI_att.placement.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_damage">
    <element name="damage">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an area of damage to the text witness. [11.3.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.damaged.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_damageSpan">
    <element name="damageSpan">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(damaged span of text) marks the beginning of a longer sequence of text which is
  damaged in some way but still legible. [11.3.3.1. ]</a:documentation>
      <empty/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="damageSpan-constraint-spanTo">
        <rule context="tei:damageSpan">
          <assert xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@spanTo">
The @spanTo attribute of <name/> is required.</assert>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="damageSpan-constraint-spanTo_fr">
        <rule context="tei:damageSpan">
          <assert xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@spanTo">L'attribut spanTo est requis.</assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.damaged.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_delSpan">
    <element name="delSpan">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(deleted span of text) marks the beginning of a longer sequence of text deleted,
marked as deleted, or otherwise signaled as superfluous or spurious by an
author, scribe, annotator, or corrector. [11.3.1.4. ]</a:documentation>
      <empty/>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="delSpan-constraint-spanTo">
        <rule context="tei:delSpan">
          <assert xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@spanTo">The spanTo= attribute of <name/> is required.</assert>
        </rule>
      </pattern>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="delSpan-constraint-spanTo_fr">
        <rule context="tei:delSpan">
          <assert xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="@spanTo">L'attribut spanTo est requis.</assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_ex">
    <element name="ex">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(editorial expansion) contains a sequence of letters added by an editor or
  transcriber when expanding an abbreviation. [11.3.1.2. ]</a:documentation>
      <ref name="TEI_macro.xtext"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_fw">
    <element name="fw">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(forme work) contains a running head (e.g. a header, footer), catchword, or
  similar material appearing on the current page. [11.6. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.placement.attributes"/>
      <optional>
        <attribute name="type">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the material encoded according to some useful typology.
Sample values include: 1] header; 2] footer; 3] pageNum(page number) ; 4] lineNum(line number) ; 5] sig(signature) ; 6] catch(catchword) </a:documentation>
          <ref name="TEI_data.enumerated"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_handNotes">
    <element name="handNotes">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one or more handNote elements documenting the
different hands identified within the source texts. [11.3.2.1. ]</a:documentation>
      <oneOrMore>
        <ref name="TEI_handNote"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_handShift">
    <element name="handShift">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks the beginning of a sequence of text written in a new
hand, or the beginning of a scribal stint. [11.3.2.1. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.handFeatures.attributes"/>
      <ref name="TEI_att.responsibility.attributes"/>
      <optional>
        <attribute name="new">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies the new hand.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_am">
    <element name="am">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(abbreviation marker) contains a sequence of letters or signs present in an
  abbreviation which are omitted or replaced in the expanded form of
  the abbreviation. [11.3.1.2. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.gLike"/>
          <ref name="TEI_model.pPart.transcriptional"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_restore">
    <element name="restore">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates restoration of text to an earlier state by
cancellation of an editorial or authorial marking or instruction. [11.3.1.6. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_space">
    <element name="space">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the location of a significant space in the copy text. [11.5.1. ]</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.descLike"/>
          <ref name="TEI_model.certLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.dimensions.attributes"/>
      <optional>
        <attribute name="dim">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(dimension) indicates whether the space is horizontal or vertical.</a:documentation>
          <choice>
            <value>horizontal</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the space is horizontal.</a:documentation>
            <value>vertical</value>
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the space is vertical.</a:documentation>
          </choice>
        </attribute>
      </optional>
      <optional>
        <attribute name="resp">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsible party) indicates the individual responsible for identifying and measuring
the space.</a:documentation>
          <ref name="TEI_data.pointer"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_subst">
    <element name="subst">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(substitution) groups one or more deletions with one or more additions when
  the combination is to be regarded as a single intervention in the text.</a:documentation>
      <oneOrMore>
        <choice>
          <ref name="TEI_add"/>
          <ref name="TEI_del"/>
          <ref name="TEI_model.milestoneLike"/>
        </choice>
      </oneOrMore>
      <pattern xmlns="http://purl.oclc.org/dsdl/schematron" id="subst-constraint-substContents1">
        <rule context="tei:subst">
          <assert xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" test="child::tei:add and child::tei:del"><name/> must have at least one child add and at least one child del</assert>
        </rule>
      </pattern>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_substJoin">
    <element name="substJoin">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(substitution join) identifies a series of  possibly fragmented additions, deletions or other revisions on a manuscript that combine to make up a single intervention in the text</a:documentation>
      <zeroOrMore>
        <choice>
          <ref name="TEI_model.descLike"/>
          <ref name="TEI_model.certLike"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.pointing.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_supplied">
    <element name="supplied">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signifies text supplied by the transcriber or editor for any
  reason, typically because the original cannot be read because of
  physical damage or loss to the original. [11.3.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <optional>
        <attribute name="reason">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates why the text has had to be supplied.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_surplus">
    <element name="surplus">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks text present in the source which the editor believes to
  be superfluous or redundant. [11.3.3.1. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.editLike.attributes"/>
      <optional>
        <attribute name="reason">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the grounds for believing this text to be superfluous.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.word"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_line">
    <element name="line">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains the transcription of a topographic line in the source
   document</a:documentation>
      <zeroOrMore>
        <choice>
          <text/>
          <ref name="TEI_model.global"/>
          <ref name="TEI_model.linePart"/>
        </choice>
      </zeroOrMore>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.coordinated.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_listTranspose">
    <element name="listTranspose">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies a list of transpositions, each of which is  indicated at some point in
   a document typically by means of metamarks.</a:documentation>
      <oneOrMore>
        <ref name="TEI_transpose"/>
      </oneOrMore>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_metamark">
    <element name="metamark">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains or describes any kind of graphic or written signal
   within a document the function of which is to determine how it
   should be read rather than forming part of the actual content of
   the document.</a:documentation>
      <ref name="TEI_macro.specialPara"/>
      <ref name="TEI_att.spanning.attributes"/>
      <ref name="TEI_att.placement.attributes"/>
      <ref name="TEI_att.global.attributes"/>
      <optional>
        <attribute name="function">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes the function (for example  status, insertion,
	 deletion, transposition) of the mark.</a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies one or more elements to which the function
	 indicated by the metamark applies. </a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_mod">
    <element name="mod">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">represents any kind of modification identified within a single document.</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_redo">
    <element name="redo">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates one or more cancelled interventions in a
		  document which have subsequently been
		  marked as reaffirmed or repeated.</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <optional>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to one or more elements representing the
	 interventions which are being reasserted.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_retrace">
    <element name="retrace">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a sequence of writing which has been retraced, for
      example by over-inking, to clarify or fix it.</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_transpose">
    <element name="transpose">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> describes a single textual transposition as an ordered list
   of at least two pointers specifying the order in which the elements
   indicated should be re-combined. </a:documentation>
      <group>
        <ref name="TEI_ptr"/>
        <oneOrMore>
          <ref name="TEI_ptr"/>
        </oneOrMore>
      </group>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_undo">
    <element name="undo">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates one or more marked-up interventions in a document
   which have subsequently been marked for cancellation.</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.spanning.attributes"/>
      <ref name="TEI_att.transcriptional.attributes"/>
      <optional>
        <attribute name="target">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to one or more elements representing the
	 interventions which are to be reverted or undone.</a:documentation>
          <list>
            <oneOrMore>
              <ref name="TEI_data.pointer"/>
            </oneOrMore>
          </list>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_metDecl">
    <element name="metDecl">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(metrical notation declaration) documents the notation employed to represent a metrical pattern when this is specified as
    the value of a met, real, or rhyme attribute on any structural
    element of a metrical text (e.g. lg, l, or seg). [6.5.  6.3. ]</a:documentation>
      <choice>
        <oneOrMore>
          <choice>
            <ref name="TEI_model.pLike"/>
            <ref name="TEI_model.noteLike"/>
          </choice>
        </oneOrMore>
        <oneOrMore>
          <ref name="TEI_metSym"/>
        </oneOrMore>
      </choice>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.declarable.attributes"/>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="type" a:defaultValue="met real">
          <a:documentation>indicates whether the notation conveys the abstract metrical form, its actual prosodic
        realization, or the rhyme scheme, or some combination thereof.</a:documentation>
          <list>
            <choice>
              <value>met</value>
              <a:documentation>(met attribute) declaration applies to the abstract metrical form recorded on the met
            attribute</a:documentation>
              <value>real</value>
              <a:documentation>(real attribute) declaration applies to the actual realization of the conventional metrical structure
            recorded on the real attribute</a:documentation>
              <value>rhyme</value>
              <a:documentation>(rhyme attribute) declaration applies to the rhyme scheme recorded on the rhyme attribute</a:documentation>
            </choice>
            <optional>
              <choice>
                <value>met</value>
                <a:documentation>(met attribute) declaration applies to the abstract metrical form recorded on the met
            attribute</a:documentation>
                <value>real</value>
                <a:documentation>(real attribute) declaration applies to the actual realization of the conventional metrical structure
            recorded on the real attribute</a:documentation>
                <value>rhyme</value>
                <a:documentation>(rhyme attribute) declaration applies to the rhyme scheme recorded on the rhyme attribute</a:documentation>
              </choice>
            </optional>
            <optional>
              <choice>
                <value>met</value>
                <a:documentation>(met attribute) declaration applies to the abstract metrical form recorded on the met
            attribute</a:documentation>
                <value>real</value>
                <a:documentation>(real attribute) declaration applies to the actual realization of the conventional metrical structure
            recorded on the real attribute</a:documentation>
                <value>rhyme</value>
                <a:documentation>(rhyme attribute) declaration applies to the rhyme scheme recorded on the rhyme attribute</a:documentation>
              </choice>
            </optional>
          </list>
        </attribute>
      </optional>
      <optional>
        <attribute name="pattern">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(regular expression pattern) specifies a regular expression defining any value that is legal for this notation.</a:documentation>
          <ref name="TEI_data.pattern"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_metSym">
    <element name="metSym">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(metrical notation symbol) documents the intended significance of a particular character or character sequence within a
    metrical notation, either explicitly or in terms of other symbol elements in the same metDecl. [6.5. ]</a:documentation>
      <ref name="TEI_macro.phraseSeq.limited"/>
      <ref name="TEI_att.global.attributes"/>
      <attribute name="value">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies the character or character sequence being documented.</a:documentation>
        <list>
          <oneOrMore>
            <ref name="TEI_data.word"/>
          </oneOrMore>
        </list>
      </attribute>
      <optional>
        <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" name="terminal" a:defaultValue="true">
          <a:documentation>specifies whether the symbol is defined in terms of other symbols (terminal
        is set to false) or in prose (terminal is set to true).</a:documentation>
          <ref name="TEI_data.truthValue"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_att.metrical.attributes">
    <ref name="TEI_att.metrical.attribute.met"/>
    <ref name="TEI_att.metrical.attribute.real"/>
    <ref name="TEI_att.metrical.attribute.rhyme"/>
  </define>
  <define name="TEI_att.metrical.attribute.met">
    <optional>
      <attribute name="met">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(metrical structure, conventional) contains a user-specified encoding for the conventional
metrical structure of the element.</a:documentation>
        <data type="token"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.metrical.attribute.real">
    <optional>
      <attribute name="real">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(metrical structure, realized) contains a user-specified encoding for the actual realization
of the conventional metrical structure applicable to the element.</a:documentation>
        <data type="token"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.metrical.attribute.rhyme">
    <optional>
      <attribute name="rhyme">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rhyme scheme) specifies the rhyme scheme applicable to a group of verse lines.</a:documentation>
        <data type="token"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_att.enjamb.attributes">
    <ref name="TEI_att.enjamb.attribute.enjamb"/>
  </define>
  <define name="TEI_att.enjamb.attribute.enjamb">
    <optional>
      <attribute name="enjamb">
        <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(enjambement) indicates that the end of a verse line is marked by enjambement.
Sample values include: 1] no; 2] yes; 3] weak; 4] strong</a:documentation>
        <ref name="TEI_data.enumerated"/>
      </attribute>
    </optional>
  </define>
  <define name="TEI_caesura">
    <element name="caesura">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks the point at which a metrical line may be divided. [6.2. ]</a:documentation>
      <empty/>
      <ref name="TEI_att.global.attributes"/>
      <empty/>
    </element>
  </define>
  <define name="TEI_rhyme">
    <element name="rhyme">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">marks the rhyming part of a metrical line. [6.4. ]</a:documentation>
      <ref name="TEI_macro.paraContent"/>
      <ref name="TEI_att.global.attributes"/>
      <ref name="TEI_att.typed.attributes"/>
      <optional>
        <attribute name="label">
          <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides a label to identify which part of a rhyme scheme this rhyming string
        instantiates.</a:documentation>
          <ref name="TEI_data.word"/>
        </attribute>
      </optional>
      <empty/>
    </element>
  </define>
  <define name="TEI_fallback">
    <element name="fallback" ns="http://www.example.org/cannot/really/use/XInclude">
      <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
      <oneOrMore>
        <text/>
      </oneOrMore>
    </element>
  </define>
  <start>
    <choice>
      <ref name="TEI_p"/>
      <ref name="TEI_egXML"/>
    </choice>
  </start>
</grammar>
