0

Question about dispatching MIPS from inheritance

When we apply inheritance from readonly and relevant we might mark the nodes for dispatching as the state changes. But what happens if a node is irrelevant because of inheritance then in the same recalculate cycle the node which made it irrelevant becomes relevant and marks the node for dispatching xforms-enabled but then another ancestor node makes it irrelevant again hence its state is identical to the beginning. Should this toggle back and forth result in an xforms-disabled or should there be no events? In the following testcase we start out by having level[1] irrelevant and level[2] and level[3] irrelevant by inheritance. Changing the apply level will move the irrelevance to level[1+/data/apply]. So select 1 will make level[2] irrelevant, level[3] irrelevant by inheritance and level[1] relevant. In the events element all the xforms-disabled and xforms-enabled are outputed from the controls to see what events is fired. The question is then what events are dispatched when changing the level. If we move apply 0->1 will be see:

  1. level[1]-xforms-enabled, level[2]-xforms-disabled, level[3]-xforms-disabled
  2. level[1]-xforms-enabled

Value[1]:
Value[2]:
Value[3]:
Relevant level: 0 0 1 1 2 2
The incoming disabled/enabled events on value (first is last):