Event marking and dispatch

During recalculate, the following events are marked for dispatch:

  xforms-required or xforms-optional for required;
  xforms-readonly or xforms-readwrite for readonly;
  xforms-enabled or xforms-disabled for relevant.

During revalidate the following events are marked for dispatch:

   xforms-valid or xforms-invalid

Then in refresh we say:

"If the value of any bound instance data node has changed since the last  
refresh (such as by user interaction, a setvalue action, or as a result of  
a recalculate), then the xforms-value-changed event must be marked for  
dispatch to the bound controls, along with all of the appropriate model  
item property notification events (xforms-optional or xforms-required,  
xforms-readwrite or xforms-readonly, and xforms-enabled or  
xforms-disabled) that have also changed as a result."

followed by

"Marked notification events are dispatched to the controls bound to the  
nodes that originated the events. The notification events  
xforms-out-of-range or xforms-in-range must also be dispatched as  
appropriate. There is no defined ordering for the events."

This seems poorly described.

I think that recalculate should be responsible for marking:

   xforms-required/optional
   xforms-readonly/readwrite
   xforms-enabled/disabled

as at present, plus

   xforms-value-changed

revalidate should be responsible for marking:

   xforms-valid or xforms-invalid

refresh should be responsible for marking:

   xforms-out-of-range/in-range

and for dispatching them all.

Agree?

Steven

Received on Wednesday, 10 May 2017 14:52:17 UTC