Thanks a lot to you both for your thorough research and analysis! Very good finds in Orbeon and the XForms specs.
Some default
attribute seems attractive. However, if we have to support events+actions anyway (for setlocation, value-change-events), and want to keep odk-instance-first-load
we're not really solving anything. We're just adding convenience for XML hand-coders (and inconvenience for us poor developers).
Yes, very good point. I think it would/should not fire on those. The double event listener seems like a good solution (so die-hard XML Form coders can decide whether they want defaults in those instances).
I'm very intrigued by @LN's marvellous find of the context()
function in XForms 1.1 and the interpretation of Single Node binding
. I don't understand the underlying issue that they are solving with context()
yet (e.g. when thinking about a calculate inside a repeat where the context is (in) the repeat instance - why did the setvalue
element have this issue and a calculation did not?). Will try to wrap my head around this.
Yes I think this is okay for events + actions (though you could definitely create problems with poor form design, e.g. make sections irrelevant while the user is laboring to enter data in them). Here is the discussion.