<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.w3.org/1999/xhtml"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns="http://www.w3.org/1999/xhtml">

  <xs:annotation>
    <xs:documentation>
      This is the XML Schema Intrinsic Events module for XHTML
      $Id: xhtml-events-1.xsd,v 1.2 2004/01/15 06:01:40 speruvem Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
      Intrinsic Event Attributes
      These are the event attributes defined in HTML 4,
      Section 18.2.3 "Intrinsic Events".
    </xs:documentation>
    <xs:documentation
       source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_intrinsiceventsmodule"/>
  </xs:annotation>

  <xs:attributeGroup name="Events.attrib">
    <xs:attribute name="onclick" type="Script"/>
    <xs:attribute name="ondblclick" type="Script"/>
    <xs:attribute name="onmousedown" type="Script"/>
    <xs:attribute name="onmouseup" type="Script"/>
    <xs:attribute name="onmouseover" type="Script"/>
    <xs:attribute name="onmousemove" type="Script"/>
    <xs:attribute name="onmouseout" type="Script"/>
    <xs:attribute name="onkeypress" type="Script"/>
    <xs:attribute name="onkeydown" type="Script"/>
    <xs:attribute name="onkeyup" type="Script"/>
  </xs:attributeGroup>

<!--
    additional attributes on anchor element
-->
  <xs:attributeGroup name="a.events.attlist">
    <xs:attribute name="onfocus" type="Script"/>
    <xs:attribute name="onblur" type="Script"/>
  </xs:attributeGroup>

<!--
    additional attributes on form element
-->
  <xs:attributeGroup name="form.events.attlist">
    <xs:attribute name="onsubmit" type="Script"/>
    <xs:attribute name="onreset" type="Script"/>
  </xs:attributeGroup>

<!--
    additional attributes on label element
-->
  <xs:attributeGroup name="label.events.attlist">
    <xs:attribute name="onfocus" type="Script"/>
    <xs:attribute name="onblur" type="Script"/>
  </xs:attributeGroup>

<!--
    additional attributes on input element
-->
  <xs:attributeGroup name="input.events.attlist">
    <xs:attribute name="onfocus" type="Script"/>
    <xs:attribute name="onblur" type="Script"/>
    <xs:attribute name="onselect" type="Script"/>
    <xs:attribute name="onchange" type="Script"/>
  </xs:attributeGroup>

<!--
    additional attributes on select element
-->
  <xs:attributeGroup name="select.events.attlist">
    <xs:attribute name="onfocus" type="Script"/>
    <xs:attribute name="onblur" type="Script"/>
    <xs:attribute name="onchange" type="Script"/>
  </xs:attributeGroup>

<!--
    additional attributes on textarea element
-->
  <xs:attributeGroup name="textarea.events.attlist">
    <xs:attribute name="onfocus" type="Script"/>
    <xs:attribute name="onblur" type="Script"/>
    <xs:attribute name="onselect" type="Script"/>
    <xs:attribute name="onchange" type="Script"/>
  </xs:attributeGroup>

<!--
    additional attributes on button element
-->
  <xs:attributeGroup name="button.events.attlist">
    <xs:attribute name="onfocus" type="Script"/>
    <xs:attribute name="onblur" type="Script"/>
  </xs:attributeGroup>

<!--
    additional attributes on body element
-->
  <xs:attributeGroup name="body.events.attlist">
    <xs:attribute name="onload" type="Script"/>
    <xs:attribute name="onunload" type="Script"/>
  </xs:attributeGroup>

<!--
    additional attributes on area element
-->
  <xs:attributeGroup name="area.events.attlist">
    <xs:attribute name="onfocus" type="Script"/>
    <xs:attribute name="onblur" type="Script"/>
  </xs:attributeGroup>


<!--
   Global Events Attributes
-->
  <xs:attribute name="onclick" type="Script"/>
  <xs:attribute name="ondblclick" type="Script"/>
  <xs:attribute name="onmousedown" type="Script"/>
  <xs:attribute name="onmouseup" type="Script"/>
  <xs:attribute name="onmouseover" type="Script"/>
  <xs:attribute name="onmousemove" type="Script"/>
  <xs:attribute name="onmouseout" type="Script"/>
  <xs:attribute name="onkeypress" type="Script"/>
  <xs:attribute name="onkeydown" type="Script"/>
  <xs:attribute name="onkeyup" type="Script"/>

  <xs:attributeGroup name="Global.events.attrib">
    <xs:attribute ref="onclick"/>
    <xs:attribute ref="ondblclick"/>
    <xs:attribute ref="onmousedown"/>
    <xs:attribute ref="onmouseup"/>
    <xs:attribute ref="onmouseover"/>
    <xs:attribute ref="onmousemove"/>
    <xs:attribute ref="onmouseout"/>
    <xs:attribute ref="onkeypress"/>
    <xs:attribute ref="onkeydown"/>
    <xs:attribute ref="onkeyup"/>
  </xs:attributeGroup>

</xs:schema>
