Multitasking algorithms in XForms
Coordination, progress, priority
John M. Boyer
User interaction with the XML data layer of an XHTML document can be orchestrated by XForms, a hybrid markup language that includes declarative, imperative, and event-driven features. XForms actions provide form authors with the ability to solve basic data manipulation use cases such as changing data values as well as copying and deleting elements. However, XForms action scripting is also a Turing-complete language for XML data manipulation during user interaction, and this paper examines more advanced use cases involving conditional logic, loops, and nested loops. For processor-intensive algorithms, this paper presents multitasking techniques to control execution without blocking other algorithms nor the main thread of user interaction, to monitor execution progress, and to dynamically set task execution priorities.