<?xml version="1.0" encoding="utf-8"?>
<!-- $Id: documentevent.xml 225913 2001-06-01 11:15:37Z dims $ -->
<!-- DocumentEvent interface -->

  <interface name="DocumentEvent" id="Events-DocumentEvent" since="DOM Level 2">
    <descr>
      <p>
      The <code>DocumentEvent</code> interface provides a mechanism by
      which the user can create an Event of a type supported by the implementation.
      It is expected that the <code>DocumentEvent</code> interface will be implemented
      on the same object which implements the <code>Document</code> interface in an
      implementation which supports the Event model.
      </p>
    </descr>

    <method name="createEvent" id="Events-DocumentEvent-createEvent">
     <descr>
     <p></p>
     </descr>
     <parameters>
      <param name="eventType" type="DOMString" attr="in">
	    <descr>
        <p>The <code>eventType</code> parameter specifies the type of <code>Event</code> interface
        to be created.  If the <code>Event</code> interface specified is supported by the implementation 
        this method will return a new <code>Event</code> of the interface type requested.  If the 
        <code>Event</code> is to be dispatched via the <code>dispatchEvent</code> method the 
        appropriate event init method must be called after creation in order to initialize
        the <code>Event</code>'s values.  As an example, a user wishing to synthesize some kind of 
        <code>UIEvent</code> would call <code>createEvent</code> with the parameter "UIEvents".  The 
        <code>initUIEvent</code> method could then be called on the newly created <code>UIEvent</code>
        to set the specific type of UIEvent to be dispatched and set its context information.</p>
        <p>The <code>createEvent</code> method is used in creating <code>Event</code>s when it is either 
        inconvenient or unnecessary for the
        user to create an <code>Event</code> themselves.  In cases where the implementation provided
        <code>Event</code> is insufficient, users may supply their own <code>Event</code>
        implementations for use with the <code>dispatchEvent</code> method.</p>
      </descr>
      </param>
     </parameters>
     <returns type="Event">
       <descr><p>The newly created <code>Event</code></p></descr>
     </returns>
     <raises>
      <exception name="DOMException">
	      <descr><p>NOT_SUPPORTED_ERR: Raised if the implementation does not support
        the type of <code>Event</code> interface requested</p>
        </descr>
      </exception>
     </raises>
    </method>

  </interface>
