You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-cvs@xml.apache.org by je...@apache.org on 2006/02/04 11:14:52 UTC

svn commit: r374855 [3/4] - in /xml/commons/branches/external-extended/java/external: ./ src/org/w3c/css/ src/org/w3c/css/sac/ src/org/w3c/css/sac/helpers/ src/org/w3c/dom/events/ src/org/w3c/dom/smil/ src/org/w3c/dom/svg/

Modified: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/Event.java
URL: http://svn.apache.org/viewcvs/xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/Event.java?rev=374855&r1=374854&r2=374855&view=diff
==============================================================================
--- xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/Event.java (original)
+++ xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/Event.java Sat Feb  4 02:10:57 2006
@@ -1,79 +1,88 @@
 /*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ * Copyright (c) 2003 World Wide Web Consortium,
+ *
+ * (Massachusetts Institute of Technology, European Research Consortium for
+ * Informatics and Mathematics, Keio University). All Rights Reserved. This
+ * work is distributed under the W3C(r) Software License [1] in the hope that
+ * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  */
 
 package org.w3c.dom.events;
 
 /**
- * The <code>Event</code> interface is used to provide contextual information 
- * about an event to the handler processing the event. An object which 
- * implements the <code>Event</code> interface is generally passed as the 
- * first parameter to an event handler. More specific context information is 
- * passed to event handlers by deriving additional interfaces from 
+ *  The <code>Event</code> interface is used to provide contextual information 
+ * about an event to the listener processing the event. An object which 
+ * implements the <code>Event</code> interface is passed as the parameter to 
+ * an <code>EventListener</code>. More specific context information is 
+ * passed to event listeners by deriving additional interfaces from 
  * <code>Event</code> which contain information directly relating to the 
- * type of event they accompany. These derived interfaces are also 
+ * type of event they represent. These derived interfaces are also 
  * implemented by the object passed to the event listener. 
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
+ * <p> To create an instance of the <code>Event</code> interface, use the 
+ * <code>DocumentEvent.createEvent("Event")</code> method call. 
+ * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>.
  * @since DOM Level 2
  */
 public interface Event {
     // PhaseType
     /**
-     * The current event phase is the capturing phase.
+     *  The current event phase is the capture phase. 
      */
     public static final short CAPTURING_PHASE           = 1;
     /**
-     * The event is currently being evaluated at the target 
-     * <code>EventTarget</code>.
+     *  The current event is in the target phase, i.e. it is being evaluated 
+     * at the event target. 
      */
     public static final short AT_TARGET                 = 2;
     /**
-     * The current event phase is the bubbling phase.
+     *  The current event phase is the bubbling phase. 
      */
     public static final short BUBBLING_PHASE            = 3;
 
     /**
-     * The name of the event (case-insensitive). The name must be an XML name.
+     *  The name should be an <a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName'>NCName</a> as defined in [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>]
+     *  and is case-sensitive. 
+     * <br> If the attribute <code>Event.namespaceURI</code> is different from 
+     * <code>null</code>, this attribute represents a local name. 
      */
     public String getType();
 
     /**
-     * Used to indicate the <code>EventTarget</code> to which the event was 
-     * originally dispatched. 
+     *  Used to indicate the event target. This attribute contains the target 
+     * node when used with the . 
      */
     public EventTarget getTarget();
 
     /**
-     * Used to indicate the <code>EventTarget</code> whose 
+     *  Used to indicate the <code>EventTarget</code> whose 
      * <code>EventListeners</code> are currently being processed. This is 
-     * particularly useful during capturing and bubbling. 
+     * particularly useful during the capture and bubbling phases. This 
+     * attribute could contain the target node or a target ancestor when 
+     * used with the . 
      */
     public EventTarget getCurrentTarget();
 
     /**
-     * Used to indicate which phase of event flow is currently being 
-     * evaluated. 
+     *  Used to indicate which phase of event flow is currently being 
+     * accomplished. 
      */
     public short getEventPhase();
 
     /**
-     * Used to indicate whether or not an event is a bubbling event. If the 
-     * event can bubble the value is true, else the value is false. 
+     *  Used to indicate whether or not an event is a bubbling event. If the 
+     * event can bubble the value is <code>true</code>, otherwise the value 
+     * is <code>false</code>. 
      */
     public boolean getBubbles();
 
     /**
-     * Used to indicate whether or not an event can have its default action 
-     * prevented. If the default action can be prevented the value is true, 
-     * else the value is false. 
+     *  Used to indicate whether or not an event can have its default action 
+     * prevented (see also ). If the default action can be prevented the 
+     * value is <code>true</code>, otherwise the value is <code>false</code>
+     * . 
      */
     public boolean getCancelable();
 
@@ -81,61 +90,120 @@
      *  Used to specify the time (in milliseconds relative to the epoch) at 
      * which the event was created. Due to the fact that some systems may 
      * not provide this information the value of <code>timeStamp</code> may 
-     * be not available for all events. When not available, a value of 0 
-     * will be returned. Examples of epoch time are the time of the system 
-     * start or 0:0:0 UTC 1st January 1970. 
+     * be not available for all events. When not available, a value of 
+     * <code>0</code> will be returned. Examples of epoch time are the time 
+     * of the system start or 0:0:0 UTC 1st January 1970. 
      */
     public long getTimeStamp();
 
     /**
-     * The <code>stopPropagation</code> method is used prevent further 
-     * propagation of an event during event flow. If this method is called 
-     * by any <code>EventListener</code> the event will cease propagating 
-     * through the tree. The event will complete dispatch to all listeners 
-     * on the current <code>EventTarget</code> before event flow stops. This 
-     * method may be used during any stage of event flow.
+     *  This method is used to prevent event listeners of the same group to be 
+     * triggered but its effect is deferred until all event listeners 
+     * attached on the <code>currentTarget</code> have been triggered (see 
+     * ). Once it has been called, further calls to that method have no 
+     * additional effect. 
+     * <p ><b>Note:</b>  This method does not prevent the default action from 
+     * being invoked; use <code>preventDefault</code> for that effect. 
      */
     public void stopPropagation();
 
     /**
-     * If an event is cancelable, the <code>preventDefault</code> method is 
+     *  If an event is cancelable, the <code>preventDefault</code> method is 
      * used to signify that the event is to be canceled, meaning any default 
      * action normally taken by the implementation as a result of the event 
-     * will not occur. If, during any stage of event flow, the 
-     * <code>preventDefault</code> method is called the event is canceled. 
-     * Any default action associated with the event will not occur. Calling 
-     * this method for a non-cancelable event has no effect. Once 
-     * <code>preventDefault</code> has been called it will remain in effect 
-     * throughout the remainder of the event's propagation. This method may 
-     * be used during any stage of event flow. 
+     * will not occur (see also ), and thus independently of event groups. 
+     * Calling this method for a non-cancelable event has no effect. 
+     * <p ><b>Note:</b>  This method does not stop the event propagation; use 
+     * <code>stopPropagation</code> or <code>stopImmediatePropagation</code> 
+     * for that effect. 
      */
     public void preventDefault();
 
     /**
-     * The <code>initEvent</code> method is used to initialize the value of an 
-     * <code>Event</code> created through the <code>DocumentEvent</code> 
-     * interface. This method may only be called before the 
-     * <code>Event</code> has been dispatched via the 
-     * <code>dispatchEvent</code> method, though it may be called multiple 
-     * times during that phase if necessary. If called multiple times the 
-     * final invocation takes precedence. If called from a subclass of 
-     * <code>Event</code> interface only the values specified in the 
-     * <code>initEvent</code> method are modified, all other attributes are 
-     * left unchanged.
-     * @param eventTypeArg Specifies the event type. This type may be any 
-     *   event type currently defined in this specification or a new event 
-     *   type.. The string must be an XML name. Any new event type must not 
-     *   begin with any upper, lower, or mixed case version of the string 
-     *   "DOM". This prefix is reserved for future DOM event sets. It is 
-     *   also strongly recommended that third parties adding their own 
-     *   events use their own prefix to avoid confusion and lessen the 
-     *   probability of conflicts with other new events.
-     * @param canBubbleArg Specifies whether or not the event can bubble.
-     * @param cancelableArg Specifies whether or not the event's default 
-     *   action can be prevented.
+     *  The <code>initEvent</code> method is used to initialize the value of 
+     * an <code>Event</code> created through the 
+     * <code>DocumentEvent.createEvent</code> method. This method may only 
+     * be called before the <code>Event</code> has been dispatched via the 
+     * <code>EventTarget.dispatchEvent()</code> method. If the method is 
+     * called several times before invoking 
+     * <code>EventTarget.dispatchEvent</code>, only the final invocation 
+     * takes precedence. This method has no effect if called after the event 
+     * has been dispatched. If called from a subclass of the 
+     * <code>Event</code> interface only the values specified in this method 
+     * are modified, all other attributes are left unchanged. 
+     * <br> This method sets the <code>Event.type</code> attribute to 
+     * <code>eventTypeArg</code>, and <code>Event.namespaceURI</code> to 
+     * <code>null</code>. To initialize an event with a namespace URI, use 
+     * the <code>Event.initEventNS(namespaceURIArg, eventTypeArg, ...)</code>
+     *  method. 
+     * @param eventTypeArg  Specifies <code>Event.type</code>. 
+     * @param canBubbleArg  Specifies <code>Event.bubbles</code>. This 
+     *   parameter overrides the intrinsic bubbling behavior of the event. 
+     * @param cancelableArg  Specifies <code>Event.cancelable</code>. This 
+     *   parameter overrides the intrinsic cancelable behavior of the event. 
      */
     public void initEvent(String eventTypeArg, 
                           boolean canBubbleArg, 
                           boolean cancelableArg);
+
+    /**
+     *  The namespace URI associated with this event at creation time, or 
+     * <code>null</code> if it is unspecified. 
+     * <br> For events initialized with a DOM Level 2 Events method, such as 
+     * <code>Event.initEvent()</code>, this is always <code>null</code>. 
+     * @since DOM Level 3
+     */
+    public String getNamespaceURI();
+
+    /**
+     *  This method will always return <code>false</code>, unless the event 
+     * implements the <code>CustomEvent</code> interface. 
+     * @return  <code>false</code>, unless the event object implements the 
+     *   <code>CustomEvent</code> interface. 
+     * @since DOM Level 3
+     */
+    public boolean isCustom();
+
+    /**
+     *  This method is used to prevent event listeners of the same group to be 
+     * triggered and, unlike <code>stopPropagation</code> its effect is 
+     * immediate (see ). Once it has been called, further calls to that 
+     * method have no additional effect. 
+     * <p ><b>Note:</b>  This method does not prevent the default action from 
+     * being invoked; use <code>Event.preventDefault()</code> for that 
+     * effect. 
+     * @since DOM Level 3
+     */
+    public void stopImmediatePropagation();
+
+    /**
+     *  This method will return <code>true</code> if the method 
+     * <code>Event.preventDefault()</code> has been called for this event, 
+     * <code>false</code> otherwise. 
+     * @return  <code>true</code> if <code>Event.preventDefault()</code> has 
+     *   been called for this event. 
+     * @since DOM Level 3
+     */
+    public boolean isDefaultPrevented();
+
+    /**
+     *  The <code>initEventNS</code> method is used to initialize the value of 
+     * an <code>Event</code> object and has the same behavior as 
+     * <code>Event.initEvent()</code>. 
+     * @param namespaceURIArg  Specifies <code>Event.namespaceuRI</code>, the 
+     *   namespace URI associated with this event, or <code>null</code> if 
+     *   no namespace. 
+     * @param eventTypeArg  Specifies <code>Event.type</code>, the local name 
+     *   of the event type.
+     * @param canBubbleArg  Refer to the <code>Event.initEvent()</code> 
+     *   method for a description of this parameter.
+     * @param cancelableArg  Refer to the <code>Event.initEvent()</code> 
+     *   method for a description of this parameter. 
+     * @since DOM Level 3
+     */
+    public void initEventNS(String namespaceURIArg, 
+                            String eventTypeArg, 
+                            boolean canBubbleArg, 
+                            boolean cancelableArg);
 
 }

Modified: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventException.java
URL: http://svn.apache.org/viewcvs/xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventException.java?rev=374855&r1=374854&r2=374855&view=diff
==============================================================================
--- xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventException.java (original)
+++ xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventException.java Sat Feb  4 02:10:57 2006
@@ -1,13 +1,13 @@
 /*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ * Copyright (c) 2003 World Wide Web Consortium,
+ *
+ * (Massachusetts Institute of Technology, European Research Consortium for
+ * Informatics and Mathematics, Keio University). All Rights Reserved. This
+ * work is distributed under the W3C(r) Software License [1] in the hope that
+ * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  */
 
 package org.w3c.dom.events;
@@ -15,7 +15,7 @@
 /**
  *  Event operations may throw an <code>EventException</code> as specified in 
  * their method descriptions. 
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
+ * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>.
  * @since DOM Level 2
  */
 public class EventException extends RuntimeException {
@@ -26,11 +26,16 @@
     public short   code;
     // EventExceptionCode
     /**
-     *  If the <code>Event</code>'s type was not specified by initializing the 
-     * event before the method was called. Specification of the Event's type 
-     * as <code>null</code> or an empty string will also trigger this 
-     * exception. 
+     *  If the <code>Event.type</code> was not specified by initializing the 
+     * event before the method was called. Specification of the 
+     * <code>Event.type</code> as <code>null</code> or an empty string will 
+     * also trigger this exception. 
      */
     public static final short UNSPECIFIED_EVENT_TYPE_ERR = 0;
+    /**
+     *  If the <code>Event</code> object is already dispatched in the tree. 
+     * @since DOM Level 3
+     */
+    public static final short DISPATCH_REQUEST_ERR      = 1;
 
 }

Modified: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventListener.java
URL: http://svn.apache.org/viewcvs/xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventListener.java?rev=374855&r1=374854&r2=374855&view=diff
==============================================================================
--- xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventListener.java (original)
+++ xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventListener.java Sat Feb  4 02:10:57 2006
@@ -1,40 +1,39 @@
 /*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ * Copyright (c) 2003 World Wide Web Consortium,
+ *
+ * (Massachusetts Institute of Technology, European Research Consortium for
+ * Informatics and Mathematics, Keio University). All Rights Reserved. This
+ * work is distributed under the W3C(r) Software License [1] in the hope that
+ * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  */
 
 package org.w3c.dom.events;
 
 /**
- *  The <code>EventListener</code> interface is the primary method for 
- * handling events. Users implement the <code>EventListener</code> interface 
- * and register their listener on an <code>EventTarget</code> using the 
- * <code>AddEventListener</code> method. The users should also remove their 
- * <code>EventListener</code> from its <code>EventTarget</code> after they 
- * have completed using the listener. 
- * <p> When a <code>Node</code> is copied using the <code>cloneNode</code> 
- * method the <code>EventListener</code>s attached to the source 
- * <code>Node</code> are not attached to the copied <code>Node</code>. If 
- * the user wishes the same <code>EventListener</code>s to be added to the 
- * newly created copy the user must add them manually. 
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
+ *  The <code>EventListener</code> interface is the primary way for handling 
+ * events. Users implement the <code>EventListener</code> interface and 
+ * register their event listener on an <code>EventTarget</code>. The users 
+ * should also remove their <code>EventListener</code> from its 
+ * <code>EventTarget</code> after they have completed using the listener. 
+ * <p> Copying a <code>Node</code>, with methods such as 
+ * <code>Node.cloneNode</code> or <code>Range.cloneContents</code>, does not 
+ * copy the event listeners attached to it. Event listeners must be attached 
+ * to the newly created <code>Node</code> afterwards if so desired. 
+ * <p> Moving a <code>Node</code>, with methods <code>Document.adoptNode</code>
+ * , <code>Node.appendChild</code>, or <code>Range.extractContents</code>, 
+ * does not affect the event listeners attached to it. 
+ * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>.
  * @since DOM Level 2
  */
 public interface EventListener {
     /**
-     *  This method is called whenever an event occurs of the type for which 
-     * the <code> EventListener</code> interface was registered. 
+     *  This method is called whenever an event occurs of the event type for 
+     * which the <code>EventListener</code> interface was registered. 
      * @param evt  The <code>Event</code> contains contextual information 
-     *   about the event. It also contains the <code>stopPropagation</code> 
-     *   and <code>preventDefault</code> methods which are used in 
-     *   determining the event's flow and default action. 
+     *   about the event. 
      */
     public void handleEvent(Event evt);
 

Modified: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventTarget.java
URL: http://svn.apache.org/viewcvs/xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventTarget.java?rev=374855&r1=374854&r2=374855&view=diff
==============================================================================
--- xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventTarget.java (original)
+++ xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/EventTarget.java Sat Feb  4 02:10:57 2006
@@ -1,102 +1,202 @@
 /*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ * Copyright (c) 2003 World Wide Web Consortium,
+ *
+ * (Massachusetts Institute of Technology, European Research Consortium for
+ * Informatics and Mathematics, Keio University). All Rights Reserved. This
+ * work is distributed under the W3C(r) Software License [1] in the hope that
+ * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  */
 
 package org.w3c.dom.events;
 
 /**
- *  The <code>EventTarget</code> interface is implemented by all 
- * <code>Nodes</code> in an implementation which supports the DOM Event 
- * Model. Therefore, this interface can be obtained by using 
- * binding-specific casting methods on an instance of the <code>Node</code> 
- * interface. The interface allows registration and removal of 
- * <code>EventListeners</code> on an <code>EventTarget</code> and dispatch 
- * of events to that <code>EventTarget</code>.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
+ *  The <code>EventTarget</code> interface is implemented by all the objects 
+ * which could be event targets in an implementation which supports the . 
+ * The interface allows registration, removal or query of event listeners, 
+ * and dispatch of events to an event target. 
+ * <p> When used with , this interface is implemented by all target nodes and 
+ * target ancestors, i.e. all DOM <code>Nodes</code> of the tree support 
+ * this interface when the implementation conforms to DOM Level 3 Events 
+ * and, therefore, this interface can be obtained by using binding-specific 
+ * casting methods on an instance of the <code>Node</code> interface. 
+ * <p> Invoking <code>addEventListener</code> or 
+ * <code>addEventListenerNS</code> multiple times on the same 
+ * <code>EventTarget</code> with the same parameters (
+ * <code>namespaceURI</code>, <code>type</code>, <code>listener</code>, and 
+ * <code>useCapture</code>) is considered to be a no-op and thus 
+ * independently of the event group. They do not cause the 
+ * <code>EventListener</code> to be called more than once and do not cause a 
+ * change in the triggering order. In order to guarantee that an event 
+ * listener will be added to the event target for the specified event group, 
+ * one needs to invoke <code>removeEventListener</code> or 
+ * <code>removeEventListenerNS</code> first. 
+ * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>.
  * @since DOM Level 2
  */
 public interface EventTarget {
     /**
-     * This method allows the registration of event listeners on the event 
-     * target. If an <code>EventListener</code> is added to an 
-     * <code>EventTarget</code> while it is processing an event, it will not 
-     * be triggered by the current actions but may be triggered during a 
-     * later stage of event flow, such as the bubbling phase. 
-     * <br> If multiple identical <code>EventListener</code>s are registered 
-     * on the same <code>EventTarget</code> with the same parameters the 
-     * duplicate instances are discarded. They do not cause the 
-     * <code>EventListener</code> to be called twice and since they are 
-     * discarded they do not need to be removed with the 
-     * <code>removeEventListener</code> method. 
-     * @param type The event type for which the user is registering
-     * @param listener The <code>listener</code> parameter takes an interface 
-     *   implemented by the user which contains the methods to be called 
-     *   when the event occurs.
-     * @param useCapture If true, <code>useCapture</code> indicates that the 
-     *   user wishes to initiate capture. After initiating capture, all 
-     *   events of the specified type will be dispatched to the registered 
-     *   <code>EventListener</code> before being dispatched to any 
-     *   <code>EventTargets</code> beneath them in the tree. Events which 
-     *   are bubbling upward through the tree will not trigger an 
-     *   <code>EventListener</code> designated to use capture.
+     *  This method allows the registration of an event listener in the 
+     * default group and, depending on the <code>useCapture</code> 
+     * parameter, on the capture phase of the DOM event flow or its target 
+     * and bubbling phases. 
+     * @param type  Specifies the <code>Event.type</code> associated with the 
+     *   event for which the user is registering. 
+     * @param listener  The <code>listener</code> parameter takes an object 
+     *   implemented by the user which implements the 
+     *   <code>EventListener</code> interface and contains the method to be 
+     *   called when the event occurs. 
+     * @param useCapture  If true, <code>useCapture</code> indicates that the 
+     *   user wishes to add the event listener for the capture phase only, 
+     *   i.e. this event listener will not be triggered during the target 
+     *   and bubbling phases. If <code>false</code>, the event listener will 
+     *   only be triggered during the target and bubbling phases. 
      */
     public void addEventListener(String type, 
                                  EventListener listener, 
                                  boolean useCapture);
 
     /**
-     * This method allows the removal of event listeners from the event 
-     * target. If an <code>EventListener</code> is removed from an 
-     * <code>EventTarget</code> while it is processing an event, it will not 
-     * be triggered by the current actions. <code>EventListener</code>s can 
-     * never be invoked after being removed.
-     * <br>Calling <code>removeEventListener</code> with arguments which do 
+     *  This method allows the removal of event listeners from the default 
+     * group. 
+     * <br> Calling <code>removeEventListener</code> with arguments which do 
      * not identify any currently registered <code>EventListener</code> on 
-     * the <code>EventTarget</code> has no effect.
-     * @param type Specifies the event type of the <code>EventListener</code> 
-     *   being removed. 
-     * @param listener The <code>EventListener</code> parameter indicates the 
-     *   <code>EventListener </code> to be removed. 
-     * @param useCapture Specifies whether the <code>EventListener</code> 
-     *   being removed was registered as a capturing listener or not. If a 
-     *   listener was registered twice, one with capture and one without, 
-     *   each must be removed separately. Removal of a capturing listener 
-     *   does not affect a non-capturing version of the same listener, and 
-     *   vice versa. 
+     * the <code>EventTarget</code> has no effect. 
+     * @param type  Specifies the <code>Event.type</code> for which the user 
+     *   registered the event listener. 
+     * @param listener  The <code>EventListener</code> to be removed. 
+     * @param useCapture  Specifies whether the <code>EventListener</code> 
+     *   being removed was registered for the capture phase or not. If a 
+     *   listener was registered twice, once for the capture phase and once 
+     *   for the target and bubbling phases, each must be removed 
+     *   separately. Removal of an event listener registered for the capture 
+     *   phase does not affect the same event listener registered for the 
+     *   target and bubbling phases, and vice versa. 
      */
     public void removeEventListener(String type, 
                                     EventListener listener, 
                                     boolean useCapture);
 
     /**
-     * This method allows the dispatch of events into the implementations 
-     * event model. Events dispatched in this manner will have the same 
-     * capturing and bubbling behavior as events dispatched directly by the 
-     * implementation. The target of the event is the 
-     * <code> EventTarget</code> on which <code>dispatchEvent</code> is 
-     * called. 
-     * @param evt Specifies the event type, behavior, and contextual 
-     *   information to be used in processing the event.
-     * @return The return value of <code>dispatchEvent</code> indicates 
-     *   whether any of the listeners which handled the event called 
-     *   <code>preventDefault</code>. If <code>preventDefault</code> was 
-     *   called the value is false, else the value is true. 
+     *  This method allows the dispatch of events into the implementation's 
+     * event model. The event target of the event is the 
+     * <code>EventTarget</code> object on which <code>dispatchEvent</code> 
+     * is called. 
+     * @param evt  The event to be dispatched. 
+     * @return  Indicates whether any of the listeners which handled the 
+     *   event called <code>Event.preventDefault()</code>. If 
+     *   <code>Event.preventDefault()</code> was called the returned value 
+     *   is <code>false</code>, else it is <code>true</code>. 
      * @exception EventException
-     *   UNSPECIFIED_EVENT_TYPE_ERR: Raised if the <code>Event</code>'s type 
+     *    UNSPECIFIED_EVENT_TYPE_ERR: Raised if the <code>Event.type</code> 
      *   was not specified by initializing the event before 
      *   <code>dispatchEvent</code> was called. Specification of the 
-     *   <code>Event</code>'s type as <code>null</code> or an empty string 
-     *   will also trigger this exception.
+     *   <code>Event.type</code> as <code>null</code> or an empty string 
+     *   will also trigger this exception. 
+     *   <br> DISPATCH_REQUEST_ERR: Raised if the <code>Event</code> object is 
+     *   already being dispatched in the tree. 
+     *   <br> NOT_SUPPORTED_ERR: Raised if the <code>Event</code> object has 
+     *   not been created using <code>DocumentEvent.createEvent()</code> or 
+     *   does not support the interface <code>CustomEvent</code>. 
+     * @version DOM Level 3
      */
     public boolean dispatchEvent(Event evt)
                                  throws EventException;
+
+    /**
+     *  This method allows the registration of an event listener in a 
+     * specified group or the default group and, depending on the 
+     * <code>useCapture</code> parameter, on the capture phase of the DOM 
+     * event flow or its target and bubbling phases. 
+     * @param namespaceURI  Specifies the <code>Event.namespaceURI</code> 
+     *   associated with the event for which the user is registering. 
+     * @param type  Specifies the <code>Event.type</code> associated with the 
+     *   event for which the user is registering. 
+     * @param listener  The <code>listener</code> parameter takes an object 
+     *   implemented by the user which implements the 
+     *   <code>EventListener</code> interface and contains the method to be 
+     *   called when the event occurs. 
+     * @param useCapture  If true, <code>useCapture</code> indicates that the 
+     *   user wishes to add the event listener for the capture phase only, 
+     *   i.e. this event listener will not be triggered during the target 
+     *   and bubbling phases. If <code>false</code>, the event listener will 
+     *   only be triggered during the target and bubbling phases. 
+     * @param evtGroup  The object that represents the event group to 
+     *   associate with the <code>EventListener</code> (see also ). Use 
+     *   <code>null</code> to attach the event listener to the default 
+     *   group. 
+     * @since DOM Level 3
+     */
+    public void addEventListenerNS(String namespaceURI, 
+                                   String type, 
+                                   EventListener listener, 
+                                   boolean useCapture, 
+                                   Object evtGroup);
+
+    /**
+     *  This method allows the removal of an event listener, independently of 
+     * the associated event group. 
+     * <br> Calling <code>removeEventListenerNS</code> with arguments which do 
+     * not identify any currently registered <code>EventListener</code> on 
+     * the <code>EventTarget</code> has no effect. 
+     * @param namespaceURI  Specifies the <code>Event.namespaceURI</code> 
+     *   associated with the event for which the user registered the event 
+     *   listener. 
+     * @param type  Specifies the <code>Event.type</code> associated with the 
+     *   event for which the user registered the event listener. 
+     * @param listener  The <code>EventListener</code> parameter indicates 
+     *   the <code>EventListener</code> to be removed. 
+     * @param useCapture  Specifies whether the <code>EventListener</code> 
+     *   being removed was registered for the capture phase or not. If a 
+     *   listener was registered twice, once for the capture phase and once 
+     *   for the target and bubbling phases, each must be removed 
+     *   separately. Removal of an event listener registered for the capture 
+     *   phase does not affect the same event listener registered for the 
+     *   target and bubbling phases, and vice versa. 
+     * @since DOM Level 3
+     */
+    public void removeEventListenerNS(String namespaceURI, 
+                                      String type, 
+                                      EventListener listener, 
+                                      boolean useCapture);
+
+    /**
+     *  This method allows the DOM application to know if an event listener, 
+     * attached to this <code>EventTarget</code> or one of its ancestors, 
+     * will be triggered by the specified event type during the dispatch of 
+     * the event to this event target or one of its descendants. 
+     * @param namespaceURI  Specifies the <code>Event.namespaceURI</code> 
+     *   associated with the event. 
+     * @param type  Specifies the <code>Event.type</code> associated with the 
+     *   event. 
+     * @return  <code>true</code> if an event listener will be triggered on 
+     *   the <code>EventTarget</code> with the specified event type, 
+     *   <code>false</code> otherwise. 
+     * @since DOM Level 3
+     */
+    public boolean willTriggerNS(String namespaceURI, 
+                                 String type);
+
+    /**
+     *  This method allows the DOM application to know if this 
+     * <code>EventTarget</code> contains an event listener registered for 
+     * the specified event type. This is useful for determining at which 
+     * nodes within a hierarchy altered handling of specific event types has 
+     * been introduced, but should not be used to determine whether the 
+     * specified event type triggers an event listener (see 
+     * <code>EventTarget.willTriggerNS()</code>). 
+     * @param namespaceURI  Specifies the <code>Event.namespaceURI</code> 
+     *   associated with the event. 
+     * @param type  Specifies the <code>Event.type</code> associated with the 
+     *   event. 
+     * @return  <code>true</code> if an event listener is registered on this 
+     *   <code>EventTarget</code> for the specified event type, 
+     *   <code>false</code> otherwise. 
+     * @since DOM Level 3
+     */
+    public boolean hasEventListenerNS(String namespaceURI, 
+                                      String type);
 
 }

Added: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/KeyboardEvent.java
URL: http://svn.apache.org/viewcvs/xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/KeyboardEvent.java?rev=374855&view=auto
==============================================================================
--- xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/KeyboardEvent.java (added)
+++ xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/KeyboardEvent.java Sat Feb  4 02:10:57 2006
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2003 World Wide Web Consortium,
+ *
+ * (Massachusetts Institute of Technology, European Research Consortium for
+ * Informatics and Mathematics, Keio University). All Rights Reserved. This
+ * work is distributed under the W3C(r) Software License [1] in the hope that
+ * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+ */
+
+package org.w3c.dom.events;
+
+import org.w3c.dom.views.AbstractView;
+
+/**
+ *  The <code>KeyboardEvent</code> interface provides specific contextual 
+ * information associated with keyboard devices. Each keyboard event 
+ * references a key using an identifier. Keyboard events are commonly 
+ * directed at the element that has the focus. 
+ * <p> The <code>KeyboardEvent</code> interface provides convenient attributes 
+ * for some common modifiers keys: <code>KeyboardEvent.ctrlKey</code>, 
+ * <code>KeyboardEvent.shiftKey</code>, <code>KeyboardEvent.altKey</code>, 
+ * <code>KeyboardEvent.metaKey</code>. These attributes are equivalent to 
+ * use the method 
+ * <code>KeyboardEvent.getModifierState(keyIdentifierArg)</code> with 
+ * "Control", "Shift", "Alt", or "Meta" respectively. 
+ * <p> To create an instance of the <code>KeyboardEvent</code> interface, use 
+ * the <code>DocumentEvent.createEvent("KeyboardEvent")</code> method call. 
+ * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>.
+ * @since DOM Level 3
+ */
+public interface KeyboardEvent extends UIEvent {
+    // KeyLocationCode
+    /**
+     *  The key activation is not distinguished as the left or right version 
+     * of the key, and did not originate from the numeric keypad (or did not 
+     * originate with a virtual key corresponding to the numeric keypad). 
+     * Example: the 'Q' key on a PC 101 Key US keyboard. 
+     */
+    public static final int DOM_KEY_LOCATION_STANDARD = 0x00;
+    /**
+     *  The key activated is in the left key location (there is more than one 
+     * possible location for this key). Example: the left Shift key on a PC 
+     * 101 Key US keyboard. 
+     */
+    public static final int DOM_KEY_LOCATION_LEFT     = 0x01;
+    /**
+     *  The key activation is in the right key location (there is more than 
+     * one possible location for this key). Example: the right Shift key on 
+     * a PC 101 Key US keyboard. 
+     */
+    public static final int DOM_KEY_LOCATION_RIGHT    = 0x02;
+    /**
+     *  The key activation originated on the numeric keypad or with a virtual 
+     * key corresponding to the numeric keypad. Example: the '1' key on a PC 
+     * 101 Key US keyboard located on the numeric pad. 
+     */
+    public static final int DOM_KEY_LOCATION_NUMPAD   = 0x03;
+
+    /**
+     *  <code>keyIdentifier</code> holds the identifier of the key. The key 
+     * identifiers are defined in Appendix A.2 "". Implementations that are 
+     * unable to identify a key must use the key identifier 
+     * <code>"Unidentified"</code>. 
+     */
+    public String getKeyIdentifier();
+
+    /**
+     *  The <code>keyLocation</code> attribute contains an indication of the 
+     * location of they key on the device, as described in . 
+     */
+    public int getKeyLocation();
+
+    /**
+     *  <code>true</code> if the control (Ctrl) key modifier is activated. 
+     */
+    public boolean getCtrlKey();
+
+    /**
+     *  <code>true</code> if the shift (Shift) key modifier is activated. 
+     */
+    public boolean getShiftKey();
+
+    /**
+     *  <code>true</code> if the alternative (Alt) key modifier is activated. 
+     * <p ><b>Note:</b>  The Option key modifier on Macintosh systems must be 
+     * represented using this key modifier. 
+     */
+    public boolean getAltKey();
+
+    /**
+     *  <code>true</code> if the meta (Meta) key modifier is activated. 
+     * <p ><b>Note:</b>  The Command key modifier on Macintosh systems must be 
+     * represented using this key modifier. 
+     */
+    public boolean getMetaKey();
+
+    /**
+     *  This methods queries the state of a modifier using a key identifier. 
+     * See also . 
+     * @param keyIdentifierArg  A modifier key identifier. Common modifier 
+     *   keys are <code>"Alt"</code>, <code>"AltGraph"</code>, 
+     *   <code>"CapsLock"</code>, <code>"Control"</code>, <code>"Meta"</code>
+     *   , <code>"NumLock"</code>, <code>"Scroll"</code>, or 
+     *   <code>"Shift"</code>. 
+     * <p ><b>Note:</b>    If an application wishes to distinguish between 
+     *   right and left modifiers, this information could be deduced using 
+     *   keyboard events and <code>KeyboardEvent.keyLocation</code>. 
+     * @return  <code>true</code> if it is modifier key and the modifier is 
+     *   activated, <code>false</code> otherwise. 
+     */
+    public boolean getModifierState(String keyIdentifierArg);
+
+    /**
+     *  The <code>initKeyboardEvent</code> method is used to initialize the 
+     * value of a <code>KeyboardEvent</code> object and has the same 
+     * behavior as <code>UIEvent.initUIEvent()</code>. The value of 
+     * <code>UIEvent.detail</code> remains undefined. 
+     * @param typeArg  Refer to the <code>UIEvent.initUIEvent()</code> method 
+     *   for a description of this parameter. 
+     * @param canBubbleArg  Refer to the <code>UIEvent.initUIEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param cancelableArg  Refer to the <code>UIEvent.initUIEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param viewArg  Refer to the <code>UIEvent.initUIEvent()</code> method 
+     *   for a description of this parameter. 
+     * @param keyIdentifierArg  Specifies 
+     *   <code>KeyboardEvent.keyIdentifier</code>. 
+     * @param keyLocationArg  Specifies <code>KeyboardEvent.keyLocation</code>
+     *   . 
+     * @param modifiersList  A <a href='http://www.w3.org/TR/2000/REC-xml-20001006#NT-S'>white space</a> separated list of modifier key identifiers to be activated on this 
+     *   object. 
+     */
+    public void initKeyboardEvent(String typeArg, 
+                                  boolean canBubbleArg, 
+                                  boolean cancelableArg, 
+                                  AbstractView viewArg, 
+                                  String keyIdentifierArg, 
+                                  int keyLocationArg, 
+                                  String modifiersList);
+
+    /**
+     *  The <code>initKeyboardEventNS</code> method is used to initialize the 
+     * value of a <code>KeyboardEvent</code> object and has the same 
+     * behavior as <code>UIEvent.initUIEventNS()</code>. The value of 
+     * <code>UIEvent.detail</code> remains undefined. 
+     * @param namespaceURI  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param typeArg  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param canBubbleArg  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param cancelableArg  Refer to the <code>UIEvent.initUIEventNS()</code>
+     *    method for a description of this parameter. 
+     * @param viewArg  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param keyIdentifierArg  Refer to the 
+     *   <code>KeyboardEvent.initKeyboardEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param keyLocationArg  Refer to the 
+     *   <code>KeyboardEvent.initKeyboardEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param modifiersList  A <a href='http://www.w3.org/TR/2000/REC-xml-20001006#NT-S'>white space</a> separated list of modifier key identifiers to be activated on this 
+     *   object. As an example, <code>"Control Alt"</code> will activated 
+     *   the control and alt modifiers. 
+     */
+    public void initKeyboardEventNS(String namespaceURI, 
+                                    String typeArg, 
+                                    boolean canBubbleArg, 
+                                    boolean cancelableArg, 
+                                    AbstractView viewArg, 
+                                    String keyIdentifierArg, 
+                                    int keyLocationArg, 
+                                    String modifiersList);
+
+}

Propchange: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/KeyboardEvent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MouseEvent.java
URL: http://svn.apache.org/viewcvs/xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MouseEvent.java?rev=374855&r1=374854&r2=374855&view=diff
==============================================================================
--- xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MouseEvent.java (original)
+++ xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MouseEvent.java Sat Feb  4 02:10:57 2006
@@ -1,13 +1,13 @@
 /*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ * Copyright (c) 2003 World Wide Web Consortium,
+ *
+ * (Massachusetts Institute of Technology, European Research Consortium for
+ * Informatics and Mathematics, Keio University). All Rights Reserved. This
+ * work is distributed under the W3C(r) Software License [1] in the hope that
+ * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  */
 
 package org.w3c.dom.events;
@@ -17,18 +17,18 @@
 /**
  * The <code>MouseEvent</code> interface provides specific contextual 
  * information associated with Mouse events.
- * <p>The <code>detail</code> attribute inherited from <code>UIEvent</code> 
- * indicates the number of times a mouse button has been pressed and 
- * released over the same screen location during a user action. The 
- * attribute value is 1 when the user begins this action and increments by 1 
- * for each full sequence of pressing and releasing. If the user moves the 
- * mouse between the mousedown and mouseup the value will be set to 0, 
- * indicating that no click is occurring.
- * <p>In the case of nested elements mouse events are always targeted at the 
+ * <p> In the case of nested elements mouse events are always targeted at the 
  * most deeply nested element. Ancestors of the targeted element may use 
- * bubbling to obtain notification of mouse events which occur within its 
- * descendent elements.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
+ * bubbling to obtain notification of mouse events which occur within theirs 
+ * descendent elements. 
+ * <p> To create an instance of the <code>MouseEvent</code> interface, use the 
+ * <code>DocumentEvent.createEvent("MouseEvent")</code> method call. 
+ * <p ><b>Note:</b>  When initializing <code>MouseEvent</code> objects using 
+ * <code>initMouseEvent</code> or <code>initMouseEventNS</code>, 
+ * implementations should use the client coordinates <code>clientX</code> 
+ * and <code>clientY</code> for calculation of other coordinates (such as 
+ * target coordinates exposed by DOM Level 0 implementations). 
+ * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>.
  * @since DOM Level 2
  */
 public interface MouseEvent extends UIEvent {
@@ -57,44 +57,46 @@
     public int getClientY();
 
     /**
-     * Used to indicate whether the 'ctrl' key was depressed during the firing 
-     * of the event.
+     *  <code>true</code> if the control (Ctrl) key modifier is activated. 
      */
     public boolean getCtrlKey();
 
     /**
-     * Used to indicate whether the 'shift' key was depressed during the 
-     * firing of the event.
+     *  <code>true</code> if the shift (Shift) key modifier is activated. 
      */
     public boolean getShiftKey();
 
     /**
-     * Used to indicate whether the 'alt' key was depressed during the firing 
-     * of the event. On some platforms this key may map to an alternative 
-     * key name.
+     *  <code>true</code> if the alt (alternative) key modifier is activated. 
+     * <p ><b>Note:</b>  The Option key modifier on Macintosh systems must be 
+     * represented using this key modifier. 
      */
     public boolean getAltKey();
 
     /**
-     * Used to indicate whether the 'meta' key was depressed during the firing 
-     * of the event. On some platforms this key may map to an alternative 
-     * key name.
+     *  <code>true</code> if the meta (Meta) key modifier is activated. 
+     * <p ><b>Note:</b>  The Command key modifier on Macintosh system must be 
+     * represented using this meta key. 
      */
     public boolean getMetaKey();
 
     /**
-     * During mouse events caused by the depression or release of a mouse 
+     *  During mouse events caused by the depression or release of a mouse 
      * button, <code>button</code> is used to indicate which mouse button 
-     * changed state. The values for <code>button</code> range from zero to 
-     * indicate the left button of the mouse, one to indicate the middle 
-     * button if present, and two to indicate the right button. For mice 
-     * configured for left handed use in which the button actions are 
-     * reversed the values are instead read from right to left.
+     * changed state. <code>0</code> indicates the normal button of the 
+     * mouse (in general on the left or the one button on Macintosh mice, 
+     * used to activate a button or select text). <code>2</code> indicates 
+     * the contextual property (in general on the right, used to display a 
+     * context menu) button of the mouse if present. <code>1</code> 
+     * indicates the extra (in general in the middle and often combined with 
+     * the mouse wheel) button. Some mice may provide or simulate more 
+     * buttons, and values higher than <code>2</code> can be used to 
+     * represent such buttons. 
      */
     public short getButton();
 
     /**
-     * Used to identify a secondary <code>EventTarget</code> related to a UI 
+     *  Used to identify a secondary <code>EventTarget</code> related to a UI 
      * event. Currently this attribute is used with the mouseover event to 
      * indicate the <code>EventTarget</code> which the pointing device 
      * exited and with the mouseout event to indicate the 
@@ -103,39 +105,30 @@
     public EventTarget getRelatedTarget();
 
     /**
-     * The <code>initMouseEvent</code> method is used to initialize the value 
-     * of a <code>MouseEvent</code> created through the 
-     * <code>DocumentEvent</code> interface. This method may only be called 
-     * before the <code>MouseEvent</code> has been dispatched via the 
-     * <code>dispatchEvent</code> method, though it may be called multiple 
-     * times during that phase if necessary. If called multiple times, the 
-     * final invocation takes precedence.
-     * @param typeArg Specifies the event type.
-     * @param canBubbleArg Specifies whether or not the event can bubble.
-     * @param cancelableArg Specifies whether or not the event's default 
-     *   action can be prevented.
-     * @param viewArg Specifies the <code>Event</code>'s 
-     *   <code>AbstractView</code>.
-     * @param detailArg Specifies the <code>Event</code>'s mouse click count.
-     * @param screenXArg Specifies the <code>Event</code>'s screen x 
-     *   coordinate
-     * @param screenYArg Specifies the <code>Event</code>'s screen y 
-     *   coordinate
-     * @param clientXArg Specifies the <code>Event</code>'s client x 
-     *   coordinate
-     * @param clientYArg Specifies the <code>Event</code>'s client y 
-     *   coordinate
-     * @param ctrlKeyArg Specifies whether or not control key was depressed 
-     *   during the <code>Event</code>.
-     * @param altKeyArg Specifies whether or not alt key was depressed during 
-     *   the <code>Event</code>.
-     * @param shiftKeyArg Specifies whether or not shift key was depressed 
-     *   during the <code>Event</code>.
-     * @param metaKeyArg Specifies whether or not meta key was depressed 
-     *   during the <code>Event</code>.
-     * @param buttonArg Specifies the <code>Event</code>'s mouse button.
-     * @param relatedTargetArg Specifies the <code>Event</code>'s related 
-     *   <code>EventTarget</code>.
+     *  The <code>initMouseEvent</code> method is used to initialize the value 
+     * of a <code>MouseEvent</code> object and has the same behavior as 
+     * <code>UIEvent.initUIEvent()</code>. 
+     * @param typeArg  Refer to the <code>UIEvent.initUIEvent()</code> method 
+     *   for a description of this parameter. 
+     * @param canBubbleArg  Refer to the <code>UIEvent.initUIEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param cancelableArg  Refer to the <code>UIEvent.initUIEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param viewArg  Refer to the <code>UIEvent.initUIEvent()</code> method 
+     *   for a description of this parameter. 
+     * @param detailArg  Refer to the <code>UIEvent.initUIEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param screenXArg  Specifies <code>MouseEvent.screenX</code>. 
+     * @param screenYArg  Specifies <code>MouseEvent.screenY</code>. 
+     * @param clientXArg  Specifies <code>MouseEvent.clientX</code>. 
+     * @param clientYArg  Specifies <code>MouseEvent.clientY</code>. 
+     * @param ctrlKeyArg  Specifies <code>MouseEvent.ctrlKey</code>. 
+     * @param altKeyArg  Specifies <code>MouseEvent.altKey</code>. 
+     * @param shiftKeyArg  Specifies <code>MouseEvent.shiftKey</code>. 
+     * @param metaKeyArg  Specifies <code>MouseEvent.metaKey</code>. 
+     * @param buttonArg  Specifies <code>MouseEvent.button</code>. 
+     * @param relatedTargetArg  Specifies 
+     *   <code>MouseEvent.relatedTarget</code>. 
      */
     public void initMouseEvent(String typeArg, 
                                boolean canBubbleArg, 
@@ -152,5 +145,75 @@
                                boolean metaKeyArg, 
                                short buttonArg, 
                                EventTarget relatedTargetArg);
+
+    /**
+     *  This methods queries the state of a modifier using a key identifier. 
+     * See also . 
+     * @param keyIdentifierArg  A modifier key identifier, as defined by the 
+     *   <code>KeyboardEvent.keyIdentifier</code> attribute. Common modifier 
+     *   keys are <code>"Alt"</code>, <code>"AltGraph"</code>, 
+     *   <code>"CapsLock"</code>, <code>"Control"</code>, <code>"Meta"</code>
+     *   , <code>"NumLock"</code>, <code>"Scroll"</code>, or 
+     *   <code>"Shift"</code>. 
+     * <p ><b>Note:</b>    If an application wishes to distinguish between 
+     *   right and left modifiers, this information could be deduced using 
+     *   keyboard events and <code>KeyboardEvent.keyLocation</code>. 
+     * @return  <code>true</code> if it is modifier key and the modifier is 
+     *   activated, <code>false</code> otherwise. 
+     * @since DOM Level 3
+     */
+    public boolean getModifierState(String keyIdentifierArg);
+
+    /**
+     *  The <code>initMouseEventNS</code> method is used to initialize the 
+     * value of a <code>MouseEvent</code> object and has the same behavior 
+     * as <code>UIEvent.initUIEventNS()</code>. 
+     * @param namespaceURI  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param typeArg  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param canBubbleArg  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param cancelableArg  Refer to the <code>UIEvent.initUIEventNS()</code>
+     *    method for a description of this parameter. 
+     * @param viewArg  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param detailArg  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param screenXArg  Refer to the 
+     *   <code>MouseEvent.initMouseEvent()</code> method for a description 
+     *   of this parameter. 
+     * @param screenYArg  Refer to the 
+     *   <code>MouseEvent.initMouseEvent()</code> method for a description 
+     *   of this parameter. 
+     * @param clientXArg  Refer to the 
+     *   <code>MouseEvent.initMouseEvent()</code> method for a description 
+     *   of this parameter. 
+     * @param clientYArg  Refer to the 
+     *   <code>MouseEvent.initMouseEvent()</code> method for a description 
+     *   of this parameter. 
+     * @param buttonArg  Refer to the <code>MouseEvent.initMouseEvent()</code>
+     *    method for a description of this parameter. 
+     * @param relatedTargetArg  Refer to the 
+     *   <code>MouseEvent.initMouseEvent()</code> method for a description 
+     *   of this parameter. 
+     * @param modifiersList  A <a href='http://www.w3.org/TR/2000/REC-xml-20001006#NT-S'>white space</a> separated list of modifier key identifiers to be activated on this 
+     *   object. As an example, <code>"Control Alt"</code> will activated 
+     *   the control and alt modifiers. 
+     * @since DOM Level 3
+     */
+    public void initMouseEventNS(String namespaceURI, 
+                                 String typeArg, 
+                                 boolean canBubbleArg, 
+                                 boolean cancelableArg, 
+                                 AbstractView viewArg, 
+                                 int detailArg, 
+                                 int screenXArg, 
+                                 int screenYArg, 
+                                 int clientXArg, 
+                                 int clientYArg, 
+                                 short buttonArg, 
+                                 EventTarget relatedTargetArg, 
+                                 String modifiersList);
 
 }

Modified: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MutationEvent.java
URL: http://svn.apache.org/viewcvs/xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MutationEvent.java?rev=374855&r1=374854&r2=374855&view=diff
==============================================================================
--- xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MutationEvent.java (original)
+++ xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MutationEvent.java Sat Feb  4 02:10:57 2006
@@ -1,13 +1,13 @@
 /*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ * Copyright (c) 2003 World Wide Web Consortium,
+ *
+ * (Massachusetts Institute of Technology, European Research Consortium for
+ * Informatics and Mathematics, Keio University). All Rights Reserved. This
+ * work is distributed under the W3C(r) Software License [1] in the hope that
+ * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  */
 
 package org.w3c.dom.events;
@@ -17,7 +17,9 @@
 /**
  * The <code>MutationEvent</code> interface provides specific contextual 
  * information associated with Mutation events. 
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
+ * <p> To create an instance of the <code>MutationEvent</code> interface, use 
+ * the <code>DocumentEvent.createEvent("MutationEvent")</code> method call. 
+ * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>.
  * @since DOM Level 2
  */
 public interface MutationEvent extends Event {
@@ -42,59 +44,70 @@
      * <code>relatedNode</code> is the changed parent. If an event is 
      * instead dispatched to a subtree indicating a node was changed within 
      * it, the <code>relatedNode</code> is the changed node. In the case of 
-     * the DOMAttrModified event it indicates the <code>Attr</code> node 
-     * which was modified, added, or removed. 
+     * the 
+     * <code>{"http://www.w3.org/2001/xml-events", "DOMAttrModified"}</code> 
+     * event it indicates the <code>Attr</code> node which was modified, 
+     * added, or removed. 
      */
     public Node getRelatedNode();
 
     /**
      *  <code>prevValue</code> indicates the previous value of the 
-     * <code>Attr</code> node in DOMAttrModified events, and of the 
-     * <code>CharacterData</code> node in DOMCharacterDataModified events. 
+     * <code>Attr</code> node in 
+     * <code>{"http://www.w3.org/2001/xml-events", "DOMAttrModified"}</code> 
+     * events, and of the <code>CharacterData</code> node in 
+     * <code>{"http://www.w3.org/2001/xml-events", "DOMCharacterDataModified"}</code>
+     *  events. 
      */
     public String getPrevValue();
 
     /**
      *  <code>newValue</code> indicates the new value of the <code>Attr</code> 
-     * node in DOMAttrModified events, and of the <code>CharacterData</code> 
-     * node in DOMCharacterDataModified events. 
+     * node in 
+     * <code>{"http://www.w3.org/2001/xml-events", "DOMAttrModified"}</code> 
+     * events, and of the <code>CharacterData</code> node in 
+     * <code>{"http://www.w3.org/2001/xml-events", "DOMCharacterDataModified"}</code>
+     *  events. 
      */
     public String getNewValue();
 
     /**
      *  <code>attrName</code> indicates the name of the changed 
-     * <code>Attr</code> node in a DOMAttrModified event. 
+     * <code>Attr</code> node in a 
+     * <code>{"http://www.w3.org/2001/xml-events", "DOMAttrModified"}</code> 
+     * event. 
      */
     public String getAttrName();
 
     /**
      *  <code>attrChange</code> indicates the type of change which triggered 
-     * the DOMAttrModified event. The values can be <code>MODIFICATION</code>
-     * , <code>ADDITION</code>, or <code>REMOVAL</code>. 
+     * the 
+     * <code>{"http://www.w3.org/2001/xml-events", "DOMAttrModified"}</code> 
+     * event. The values can be <code>MODIFICATION</code>, 
+     * <code>ADDITION</code>, or <code>REMOVAL</code>. 
      */
     public short getAttrChange();
 
     /**
-     * The <code>initMutationEvent</code> method is used to initialize the 
-     * value of a <code>MutationEvent</code> created through the 
-     * <code>DocumentEvent</code> interface. This method may only be called 
-     * before the <code>MutationEvent</code> has been dispatched via the 
-     * <code>dispatchEvent</code> method, though it may be called multiple 
-     * times during that phase if necessary. If called multiple times, the 
-     * final invocation takes precedence.
-     * @param typeArg Specifies the event type.
-     * @param canBubbleArg Specifies whether or not the event can bubble.
-     * @param cancelableArg Specifies whether or not the event's default 
-     *   action can be prevented.
-     * @param relatedNodeArg Specifies the <code>Event</code>'s related Node.
-     * @param prevValueArg Specifies the <code>Event</code>'s 
-     *   <code>prevValue</code> attribute. This value may be null.
-     * @param newValueArg Specifies the <code>Event</code>'s 
-     *   <code>newValue</code> attribute. This value may be null.
-     * @param attrNameArg Specifies the <code>Event</code>'s 
-     *   <code>attrName</code> attribute. This value may be null.
-     * @param attrChangeArg Specifies the <code>Event</code>'s 
-     *   <code>attrChange</code> attribute
+     *  The <code>initMutationEvent</code> method is used to initialize the 
+     * value of a <code>MutationEvent</code> object and has the same 
+     * behavior as <code>Event.initEvent()</code>. 
+     * @param typeArg  Refer to the <code>Event.initEvent()</code> method for 
+     *   a description of this parameter. 
+     * @param canBubbleArg  Refer to the <code>Event.initEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param cancelableArg  Refer to the <code>Event.initEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param relatedNodeArg  Specifies <code>MutationEvent.relatedNode</code>
+     *   . 
+     * @param prevValueArg  Specifies <code>MutationEvent.prevValue</code>. 
+     *   This value may be null. 
+     * @param newValueArg  Specifies <code>MutationEvent.newValue</code>. 
+     *   This value may be null. 
+     * @param attrNameArg  Specifies <code>MutationEvent.attrname</code>. 
+     *   This value may be null. 
+     * @param attrChangeArg  Specifies <code>MutationEvent.attrChange</code>. 
+     *   This value may be null. 
      */
     public void initMutationEvent(String typeArg, 
                                   boolean canBubbleArg, 
@@ -104,5 +117,44 @@
                                   String newValueArg, 
                                   String attrNameArg, 
                                   short attrChangeArg);
+
+    /**
+     *  The <code>initMutationEventNS</code> method is used to initialize the 
+     * value of a <code>MutationEvent</code> object and has the same 
+     * behavior as <code>Event.initEventNS()</code>. 
+     * @param namespaceURI  Refer to the <code>Event.initEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param typeArg  Refer to the <code>Event.initEventNS()</code> method 
+     *   for a description of this parameter. 
+     * @param canBubbleArg  Refer to the <code>Event.initEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param cancelableArg  Refer to the <code>Event.initEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param relatedNodeArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param prevValueArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param newValueArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param attrNameArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param attrChangeArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @since DOM Level 3
+     */
+    public void initMutationEventNS(String namespaceURI, 
+                                    String typeArg, 
+                                    boolean canBubbleArg, 
+                                    boolean cancelableArg, 
+                                    Node relatedNodeArg, 
+                                    String prevValueArg, 
+                                    String newValueArg, 
+                                    String attrNameArg, 
+                                    short attrChangeArg);
 
 }

Added: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MutationNameEvent.java
URL: http://svn.apache.org/viewcvs/xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MutationNameEvent.java?rev=374855&view=auto
==============================================================================
--- xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MutationNameEvent.java (added)
+++ xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MutationNameEvent.java Sat Feb  4 02:10:57 2006
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2003 World Wide Web Consortium,
+ *
+ * (Massachusetts Institute of Technology, European Research Consortium for
+ * Informatics and Mathematics, Keio University). All Rights Reserved. This
+ * work is distributed under the W3C(r) Software License [1] in the hope that
+ * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+ */
+
+package org.w3c.dom.events;
+
+import org.w3c.dom.Node;
+
+/**
+ *  The <code>MutationNameEvent</code> interface provides specific contextual 
+ * information associated with Mutation name event types. 
+ * <p> To create an instance of the <code>MutationNameEvent</code> interface, 
+ * use the <code>Document.createEvent("MutationNameEvent")</code> method 
+ * call. 
+ * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>.
+ * @since DOM Level 3
+ */
+public interface MutationNameEvent extends MutationEvent {
+    /**
+     *  The previous value of the <code>relatedNode</code>'s 
+     * <code>namespaceURI</code>. 
+     */
+    public String getPrevNamespaceURI();
+
+    /**
+     *  The previous value of the <code>relatedNode</code>'s 
+     * <code>nodeName</code>. 
+     */
+    public String getPrevNodeName();
+
+    /**
+     *  The <code>initMutationNameEvent</code> method is used to initialize 
+     * the value of a <code>MutationNameEvent</code> object and has the same 
+     * behavior as <code>MutationEvent.initMutationEvent()</code>. 
+     * @param typeArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param canBubbleArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param cancelableArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param relatedNodeArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param prevNamespaceURIArg  Specifies 
+     *   <code>MutationNameEvent.prevNamespaceURI</code>. This value may be 
+     *   <code>null</code>.
+     * @param prevNodeNameArg  Specifies 
+     *   <code>MutationNameEvent.prevNodeName</code>. 
+     * @since DOM Level 3
+     */
+    public void initMutationNameEvent(String typeArg, 
+                                      boolean canBubbleArg, 
+                                      boolean cancelableArg, 
+                                      Node relatedNodeArg, 
+                                      String prevNamespaceURIArg, 
+                                      String prevNodeNameArg);
+
+    /**
+     *  The <code>initMutationNameEventNS</code> method is used to initialize 
+     * the value of a <code>MutationNameEvent</code> object and has the same 
+     * behavior as <code>MutationEvent.initMutationEventNS()</code>. 
+     * @param namespaceURI  Refer to the 
+     *   <code>MutationEvent.initMutationEventNS()</code> method for a 
+     *   description of this parameter. 
+     * @param typeArg  Refer to the 
+     *   <code>MutationEvent.initMutationEventNS()</code> method for a 
+     *   description of this parameter. 
+     * @param canBubbleArg  Refer to the 
+     *   <code>MutationEvent.initMutationEventNS()</code> method for a 
+     *   description of this parameter. 
+     * @param cancelableArg  Refer to the 
+     *   <code>MutationEvent.initMutationEventNS()</code> method for a 
+     *   description of this parameter. 
+     * @param relatedNodeArg  Refer to the 
+     *   <code>MutationEvent.initMutationEventNS()</code> method for a 
+     *   description of this parameter. 
+     * @param prevNamespaceURIArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @param prevNodeNameArg  Refer to the 
+     *   <code>MutationEvent.initMutationEvent()</code> method for a 
+     *   description of this parameter. 
+     * @since DOM Level 3
+     */
+    public void initMutationNameEventNS(String namespaceURI, 
+                                        String typeArg, 
+                                        boolean canBubbleArg, 
+                                        boolean cancelableArg, 
+                                        Node relatedNodeArg, 
+                                        String prevNamespaceURIArg, 
+                                        String prevNodeNameArg);
+
+}

Propchange: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/MutationNameEvent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/TextEvent.java
URL: http://svn.apache.org/viewcvs/xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/TextEvent.java?rev=374855&view=auto
==============================================================================
--- xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/TextEvent.java (added)
+++ xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/TextEvent.java Sat Feb  4 02:10:57 2006
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2003 World Wide Web Consortium,
+ *
+ * (Massachusetts Institute of Technology, European Research Consortium for
+ * Informatics and Mathematics, Keio University). All Rights Reserved. This
+ * work is distributed under the W3C(r) Software License [1] in the hope that
+ * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+ */
+
+package org.w3c.dom.events;
+
+import org.w3c.dom.views.AbstractView;
+
+/**
+ * The <code>TextEvent</code> interface provides specific contextual 
+ * information associated with Text Events. 
+ * <p> To create an instance of the <code>TextEvent</code> interface, use the 
+ * <code>DocumentEvent.createEvent("TextEvent")</code> method call. 
+ * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>.
+ * @since DOM Level 3
+ */
+public interface TextEvent extends UIEvent {
+    /**
+     *  <code>data</code> holds the value of the characters generated by the 
+     * character device. This may be a single Unicode character or a 
+     * non-empty sequence of Unicode characters [Unicode]. Characters should be normalized as defined by the Unicode 
+     * normalization form NFC, defined in [<a href='http://www.unicode.org/unicode/reports/tr15/'>UTR #15</a>]. This 
+     * attribute cannot be null or contain the empty string. 
+     */
+    public String getData();
+
+    /**
+     *  The <code>initTextEvent</code> method is used to initialize the value 
+     * of a <code>TextEvent</code> object and has the same behavior as 
+     * <code>UIEvent.initUIEvent()</code>. The value of 
+     * <code>UIEvent.detail</code> remains undefined. 
+     * @param typeArg  Refer to the <code>UIEvent.initUIEvent()</code> method 
+     *   for a description of this parameter. 
+     * @param canBubbleArg  Refer to the <code>UIEvent.initUIEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param cancelableArg  Refer to the <code>UIEvent.initUIEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param viewArg  Refer to the <code>UIEvent.initUIEvent()</code> method 
+     *   for a description of this parameter. 
+     * @param dataArg  Specifies <code>TextEvent.data</code>. 
+     */
+    public void initTextEvent(String typeArg, 
+                              boolean canBubbleArg, 
+                              boolean cancelableArg, 
+                              AbstractView viewArg, 
+                              String dataArg);
+
+    /**
+     *  The <code>initTextEventNS</code> method is used to initialize the 
+     * value of a <code>TextEvent</code> object and has the same behavior as 
+     * <code>UIEvent.initUIEventNS()</code>. The value of 
+     * <code>UIEvent.detail</code> remains undefined. 
+     * @param namespaceURI  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param type  Refer to the <code>UIEvent.initUIEventNS()</code> method 
+     *   for a description of this parameter. 
+     * @param canBubbleArg  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param cancelableArg  Refer to the <code>UIEvent.initUIEventNS()</code>
+     *    method for a description of this parameter. 
+     * @param viewArg  Refer to the <code>UIEvent.initUIEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param dataArg  Refer to the <code>TextEvent.initTextEvent()</code> 
+     *   method for a description of this parameter. 
+     */
+    public void initTextEventNS(String namespaceURI, 
+                                String type, 
+                                boolean canBubbleArg, 
+                                boolean cancelableArg, 
+                                AbstractView viewArg, 
+                                String dataArg);
+
+}

Propchange: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/TextEvent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/UIEvent.java
URL: http://svn.apache.org/viewcvs/xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/UIEvent.java?rev=374855&r1=374854&r2=374855&view=diff
==============================================================================
--- xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/UIEvent.java (original)
+++ xml/commons/branches/external-extended/java/external/src/org/w3c/dom/events/UIEvent.java Sat Feb  4 02:10:57 2006
@@ -1,13 +1,13 @@
 /*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ * Copyright (c) 2003 World Wide Web Consortium,
+ *
+ * (Massachusetts Institute of Technology, European Research Consortium for
+ * Informatics and Mathematics, Keio University). All Rights Reserved. This
+ * work is distributed under the W3C(r) Software License [1] in the hope that
+ * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  */
 
 package org.w3c.dom.events;
@@ -15,9 +15,11 @@
 import org.w3c.dom.views.AbstractView;
 
 /**
- * The <code>UIEvent</code> interface provides specific contextual information 
- * associated with User Interface events.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
+ *  The <code>UIEvent</code> interface provides specific contextual 
+ * information associated with User Interface events. 
+ * <p> To create an instance of the <code>UIEvent</code> interface, use the 
+ * <code>DocumentEvent.createEvent("UIEvent")</code> method call. 
+ * <p>See also the <a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model (DOM) Level 3 Events Specification</a>.
  * @since DOM Level 2
  */
 public interface UIEvent extends Event {
@@ -34,25 +36,47 @@
     public int getDetail();
 
     /**
-     * The <code>initUIEvent</code> method is used to initialize the value of 
-     * a <code>UIEvent</code> created through the <code>DocumentEvent</code> 
-     * interface. This method may only be called before the 
-     * <code>UIEvent</code> has been dispatched via the 
-     * <code>dispatchEvent</code> method, though it may be called multiple 
-     * times during that phase if necessary. If called multiple times, the 
-     * final invocation takes precedence.
-     * @param typeArg Specifies the event type.
-     * @param canBubbleArg Specifies whether or not the event can bubble.
-     * @param cancelableArg Specifies whether or not the event's default 
-     *   action can be prevented.
-     * @param viewArg Specifies the <code>Event</code>'s 
-     *   <code>AbstractView</code>.
-     * @param detailArg Specifies the <code>Event</code>'s detail.
+     *  The <code>initUIEvent</code> method is used to initialize the value of 
+     * a <code>UIEvent</code> object and has the same behavior as 
+     * <code>Event.initEvent()</code>. 
+     * @param typeArg  Refer to the <code>Event.initEvent()</code> method for 
+     *   a description of this parameter. 
+     * @param canBubbleArg  Refer to the <code>Event.initEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param cancelableArg  Refer to the <code>Event.initEvent()</code> 
+     *   method for a description of this parameter. 
+     * @param viewArg Specifies <code>UIEvent.view</code>.
+     * @param detailArg Specifies <code>UIEvent.detail</code>.
      */
     public void initUIEvent(String typeArg, 
                             boolean canBubbleArg, 
                             boolean cancelableArg, 
                             AbstractView viewArg, 
                             int detailArg);
+
+    /**
+     *  The <code>initUIEventNS</code> method is used to initialize the value 
+     * of a <code>UIEvent</code> object and has the same behavior as 
+     * <code>Event.initEventNS()</code>. 
+     * @param namespaceURI  Refer to the <code>Event.initEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param typeArg  Refer to the <code>Event.initEventNS()</code> method 
+     *   for a description of this parameter. 
+     * @param canBubbleArg  Refer to the <code>Event.initEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param cancelableArg  Refer to the <code>Event.initEventNS()</code> 
+     *   method for a description of this parameter. 
+     * @param viewArg  Refer to the <code>UIEvent.initUIEvent()</code> method 
+     *   for a description of this parameter. 
+     * @param detailArg  Refer to the <code>UIEvent.initUIEvent()</code> 
+     *   method for a description of this parameter. 
+     * @since DOM Level 3
+     */
+    public void initUIEventNS(String namespaceURI, 
+                              String typeArg, 
+                              boolean canBubbleArg, 
+                              boolean cancelableArg, 
+                              AbstractView viewArg, 
+                              int detailArg);
 
 }