
<!-- ==============================================================
      SVG12-RNG | Graphical Events attributes
     ============================================================== -->

<grammar ns='http://www.w3.org/2000/svg'
         xml:lang='en'
         xmlns='http://relaxng.org/ns/structure/1.0'
         xmlns:a='http://relaxng.org/ns/compatibility/annotations/1.0'
         datatypeLibrary='http://www.w3.org/2001/XMLSchema-datatypes'
         >

  <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' combine='interleave'>
    <optional>
      <attribute name='onload'>
        <ref name='Script.datatype'/>
      </attribute>
    </optional>
  </define>

  <define name='SVG.GraphicalEvents.attrib' combine='interleave'>
    <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'/>
  </define>

</grammar>
