What Are XForms

From W3C XForms Group Wiki (Public)

What Are XForms?

Traditional HTML Web forms don't separate the purpose from the presentation of a form. XForms, in contrast, are comprised of separate sections that describe what the form does, and how the form looks. This allows for flexible presentation options, including classic XHTML forms, to be attached to an XML form definition.

The following illustrates how a single device-independent XML form definition, called the XForms Model, has the capability to work with a variety of standard or proprietary user interfaces:

arch1.png
diagram showing an XForms Model puzzle piece potentailly connecting to many possible user interface puzzle pieces: XForms, XHTML, WML, and proprietary"

The XForms User Interface provides a standard set of visual controls that are targeted toward replacing today's XHTML form controls. These form controls are directly usable inside XHTML and other XML documents, like SVG. Other groups, such as the Voice Browser Working Group, may also independently develop user interface components for XForms.

An important concept in XForms is that forms collect data, which is expressed as XML instance data. Among other duties, the XForms Model describes the structure of the instance data. This is important, since like XML, forms represent a structured interchange of data. Workflow, auto-fill, and pre-fill form applications are supported through the use of instance data.

Finally, there needs to be a channel for instance data to flow to and from the XForms Processor. For this, the XForms Submit Protocol defines how XForms send and receive data, including the ability to suspend and resume the completion of a form.

The following illustration summarizes the main aspects of XForms:

arch2.png
[Diagram of the connected XForms Model and XForms User Interface puzzle pieces. Below that, a double-headed arrow labeled XForms Submit Protocol. Below that, a document icon labeled XML Instance Data]