<!-- ==============================================================
      SVG12-RNG | XLink attributes
     ============================================================== -->

<grammar ns='http://www.w3.org/2000/svg'
         xml:lang='en'
         xmlns='http://relaxng.org/ns/structure/1.0'
         xmlns:xlink='http://www.w3.org/1999/xlink'
         xmlns:a='http://relaxng.org/ns/compatibility/annotations/1.0'
         datatypeLibrary='http://www.w3.org/2001/XMLSchema-datatypes'
         >


  <define name='SVG.XLinkBase.attrib' combine='interleave'>
    <optional>
      <attribute name='xlink:type' a:defaultValue='simple'>
        <value>simple</value>
      </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>
  </define>




  <define name='SVG.XLink.attrib' combine='interleave'>
    <optional>
      <attribute name='xlink:href'>
        <ref name='URI.datatype'/>
      </attribute>
    </optional>
    <optional>
      <attribute name='xlink:show' a:defaultValue='other'>
        <value>other</value>
      </attribute>
    </optional>
    <optional>
      <attribute name='xlink:actuate' a:defaultValue='onLoad'>
        <value>onLoad</value>
      </attribute>
    </optional>
    <ref name='SVG.XLinkBase.attrib'/>
  </define>




  <define name='SVG.XLinkRequired.attrib' combine='interleave'>
    <attribute name='xlink:href'>
      <ref name='URI.datatype'/>
    </attribute>
    <optional>
      <attribute name='xlink:show' a:defaultValue='other'>
        <value>other</value>
      </attribute>
    </optional>
    <optional>
      <attribute name='xlink:actuate' a:defaultValue='onLoad'>
        <value>onLoad</value>
      </attribute>
    </optional>
    <ref name='SVG.XLinkBase.attrib'/>
  </define>




  <define name='SVG.XLinkEmbed.attrib' combine='interleave'>
    <attribute name='xlink:href'>
      <ref name='URI.datatype'/>
    </attribute>
    <optional>
      <attribute name='xlink:show' a:defaultValue='embed'>
        <value>embed</value>
      </attribute>
    </optional>
    <optional>
      <attribute name='xlink:actuate' a:defaultValue='onLoad'>
        <value>onLoad</value>
      </attribute>
    </optional>
    <ref name='SVG.XLinkBase.attrib'/>
  </define>




  <define name='SVG.XLinkReplace.attrib' combine='interleave'>
    <attribute name='xlink:href'>
      <ref name='URI.datatype'/>
    </attribute>
    <optional>
      <attribute name='xlink:show' a:defaultValue='replace'>
        <choice>
          <value>new</value>
          <value>replace</value>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute name='xlink:actuate' a:defaultValue='onRequest'>
        <value>onRequest</value>
      </attribute>
    </optional>
    <ref name='SVG.XLinkBase.attrib'/>
  </define>

</grammar>
