
<!-- ==============================================================
      SVG12-RNG | Handler
     ============================================================== -->

<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'
         xmlns:ev='http://www.w3.org/2001/xml-events'
         datatypeLibrary='http://www.w3.org/2001/XMLSchema-datatypes'
         >


  <define name='SVG.Handler.class'>
    <choice>
      <ref name='handler'/>
    </choice>
  </define>


  <define name='handler'>
    <element name='handler'>
      <ref name='attlist.handler'/>
      <ref name='SVG.handler.content'/>
    </element>
  </define>

  <define name='attlist.handler' combine='interleave'>
    <ref name='SVG.Core.attrib'/>
    <attribute name='ev:event'>
      <choice>
        <data type='NMTOKEN'/>
        <data type='QName'/>
      </choice>
    </attribute>
    <attribute name='type'>
      <ref name='ContentType.datatype'/>
    </attribute>
  </define>

  <define name='SVG.handler.content'>
    <choice>
      <group>
        <ref name='SVG.XLinkRequired.attrib'/>
        <ref name='ANY.wildcardElement.class'/>
      </group>
      <text/>
    </choice>
  </define>

</grammar>
