Xforms Technology

What are XForms?

XForms are an MVC-based declarative client-based technology for capture, validation, calculation and assessment of user data. In application they're a cross between a spreadsheet and XSLT.

XForms are defined by an open W3C standard that will become standard in XHTML 2.0, but their implementation is already available for all browsers via a tiny (77KB) GPLed javascript or tinier (60KB) Flash module.

Purpose

Thin client XForms can

For all these application behaviours XForms require no client or server-side procedural code or scripts - they are pure declarative XML.

Architecture

XForms architecture is based on a spreadsheet-like declarative calculation model that keeps track of computational dependencies so chained calculations properly resolve themselves in unison with changing input data. Calculation resolutions can include CRUD operations on the underlying XML model as well as all the usual arithmetic and logical calculations on all the usual datatypes.

XForms use XML to define model data, XPath to bind to XHTML user interface views, and XML Events to adorn this binding with GUI and programmatic controllers. This creates the classic MVC application pattern - any GUI gesture can be mapped to recalculation, revalidation, refresh, scrolling, filtering, or other behaviours of repeating line item tables, and to declare and execute embedded Editors, Unit Tests, and User Acceptance Tests for these mappings - directly in the XML without any procedural scripting.

Pub-sub logic is also fully realizable with XML Events, removing the need for a client-side procedural application backbone. This is not to say XForms is intended to replace all scripting - there will likely still be scripts for GUI special effects and exotic validations. But economical replacement of about 80% of procedural scripting is plausible. And this is just scratching the surface.

Interoperation

As a standard XForms are platform and device independent. As part of XHTML 2.0 they automatically integrate with

Likewise XForms input is not restricted to keyboard and mouse but can take input from


See also: XformsApplications


EditText of this page (last edited July 24, 2005) or FindPage with title or text search