XML Events and XForms

I have a few XML Events issues that may need to be resolved.

When I first came across Section 4.3.1 on 'DOM Mutation Events', I
(mistakenly) assumed that the event fired in response to external access
of the instance data. Several points:

1) A reference to the XML Events spec would be good in Section 4.3.1.

2) Practically speaking, how is external access to the instance data
provided?  Or is it internal to the XForms processor?

3) The XML Events spec defines DOM mutation events for structure changes
like insert or delete element as well as simple content changes like
character data or attribute value changes.  Does this include changes
made by XForms-specific actions like insert, delete and setvalue?

In reading the spec, one is unlikely to get that impression because
nothing in Section 10 suggests that DOM mutation events will fire.  Why
else would these actions have been specified to fire recalculate,
revalidate and refresh events?

However, if the first sentence of Section 4.3.1 is taken literally, then
the recalculate-revalidate-refresh event sequences generated by actions
are redundant with those that will naturally occur in reponse to DOM
mutation events.

On the other hand, wouldn't it be better to do a sequence of insert,
delete or setvalue actions, followed by a single
recalculate-revalidate-refresh?  If so, then we would need the
following:

A. Recalculate-revalidate-refresh only in DOM mutation events.
B. A way to set up a single listener that can fire multiple actions (If
we can't do this already, then I'd say a big oversight has occurred, so
I'm sure it's possible, but I just need an example of how to do it).
C. An action that turns off or on the recalculate-revalidate-refresh for
DOM mutation events (this is the only new thing in this list).
D. Actions that fire each of recalculate, revalidate and refresh events
(we already have these)
E. An action fires an event to rebuild the computational dependencies
(which I am adding, and which got me into this mess in the first place).

4) XML Events defines many types of events.  With respect to listeners
on instance data, I assume that only mutation events occur.  With
respect to XForms UI, I assume that only user interface, mouse, key and
mutation events occur (i.e. no HTML events).

Why are there no 'key' events in XML events?  What is the per-keystroke
event model for XForms?  And, if the user cuts or pastes text, what
events occur?

Why is there no metronome?  I seem to only be able to set a listener for
events generated by a user, but where is the event that fires from the
clock?  This can be very useful in some forms, especially if the
listener can be configured (e.g. the metronome fires every millisecond,
but the listener generates an event every X milliseconds).

5) The mutation events are underspecified.  Does 'subtreeModified' fire
for all ancestors of a changed, inserted or removed node?  Does
characterDataModified fire on the text node that changes or its parent
element?

Thanks,
John Boyer

Received on Monday, 27 May 2002 19:54:24 UTC