DRAFT: Comments on XML Event 2 Editor's Draft


XML Events 2 updates XML Events by transitioning to providing an XML
surfacing of the DOM Level 3 underlying event API, and by adding a Handlers
module where one was not provided in XML Events 1. There is some discussion
as to the possibility of using XML Events 2 over the DOM Level 2 API
instead and this would be of interest to flesh out to provide more guidance
to implementors.

The Informative introduction to the document continues to provide a loose
description of the basic DOM event lifecycle -- a description which leaves
too much ambiguity to be useful as it currently stands, and requires
readers to delve into the underlying DOM Event Recommendations in order to
really understand how things work.  For example, the paragraph begining
"Event flow in DOM3":

   capture phase processing is described as passing down the tree from the
   root to the target -- the underlying DOM3 description makes clear that
   capture phase processing ends at the target's parent element.
   handlers are described as being attachable to any node including root
   and target in "either" phase, when the target in particular participates
   in all three phases ("either" pertaining to a possible set of only two
   "a handler can only listen for one phase, to listen for both..." --
   again the language describing phases has not been updated from XML
   Events 1 adequately to reflect the "at-target" phase as a first-class
   part of the event lifecycle.  Further more, a handler using "default"
   processing will listen to two phases (target and bubble) so again this
   language needs to be updated to reflect the more careful semantics of
   DOM3 phasing.
   likewise, the diagram implies graphically that the capture and bubble
   phase processes extend to the target.  The DOM3 document indicates more
   clearly (using dashed line notation) that these phases do not include
   the target but terminate/originate respectively at the target's parent.


There is a casual comment about the draft supporting "chameleon" elements
and attributes (needs reference for those unfamiliar with this pattern) --
but then comments that it's not clear what the implications are for
implementors...can more be said here???


Observer and targetid are IDREFS -- limited to the current document.
Handler is a URI allowing for references to external documents.  What is
the rationale for treating these two cases differently?  Is there an option
for observer and targetid to refer to external documents?

Section 3.1 on the listener element, the last paragraph of the targetid
attribute mentions that the author should use observer="link1" and no taret
for the desired bubbling behavior.  The key aspect of the example is to
drop the target, thus observer="para1" as originally coded would work in
this case as well...just a bit confusing for the reader.

At the end of 3.1 there is a note relating to similarities with event
processing in SMIL -- which seems out of place in this document, at least
where the note occurs.  A more complete comparison of event lifecycles in
other XML languages would indeed be of great interest, and suggestions for
how to use XML Events 2 in various profiles or subsets to support them
would be also great guidance for those not currently thinking in terms of
XML or DOM events.


No comments


There is an Editor's note about the need for compelling use cases for
allowing context to be specified.  For discussion -- we we in XForms have
any such requirements?

Charles Wiecha
Manager, Multichannel Web Interaction
IBM T.J. Watson Research Center
P.O. Box 704
Yorktown Heights, N.Y.  10598
Phone: (914) 784-6180, T/L 863-6180, Cell: (914) 320-2614

Received on Tuesday, 10 June 2008 15:05:33 UTC