Name
action
Synopsis
This element is a wrapper for other XForms Actions. It contains child elements that are executed in sequence.
action can be used like this:
<action ev:event="DOMActivate"> <setvalue ref="email/contact" value="email/admin"/> <message level="ephemeral">Synchronized email addresses</message> </action>
Note
One concept that comes into play in more advanced XForms scenarios is what the specification calls "deferred updates.” This feature is intended to reduce the potentially expensive computation that can occur through an XForms Action, as changes to the instance data can trigger a display refresh, a recalculation, a revalidation, or a reconstruction of the dependencies.
Deferred updates occur only through the action
container element. It can be thought of as a switch that temporarily
turns off the expensive processing, handles the child elements, and
then catches up on any processing that still needs to be done. In
this way, for instance, a series of insert
actions, when placed inside an action element,
wouldn’t require a full recalculation for each
insert—just one to ensure consistency at the end.
Deferred updates apply to
insert,
delete, and setvalue.
Warning
Because of the way the XML Events defaulting works, placing
ev:event attributes on XForms Action elements
inside action will have no effect. Instead, the
attribute should be placed on the action element
itself—the XForms Actions as child elements will still run
within the context of the action.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access