XFORMS: THE FUTURE OF WEB I/O


XFORMS: THE FUTURE OF WEB I/O

When developing Web-based applications, the process of designing the input screens, or forms, can be not only tedious but also complex. Different access mechanisms such as traditional Web browsers, PDAs, XML, and other proprietary applications can cause you to create many implementations for your forms. A new protocol, called XForms, aims to simplify the many faces of Web forms.

OUT WITH THE OLD

There are a few problems with the current methodology behind Web-based forms. To start with, these methods are very focused on a particular challenge, how to capture data via the handful of formats available from a "standard" Web browser. Browser input data usually consists of a text box, a radio button, a check button, or a list selection. Sometimes, the data can be more complex, such as an uploaded file. The conventional Web-based form approach causes problems when the scope grows large enough to encompass other ways to input data, such as an interactive voice response (IVR) system, mobile device network, and integrated data applications. Each of these systems must be custom configured to understand the basic concepts provided by HTML and XHTML forms.

IN WITH THE NEW

The goal of XForms is to provide a more comprehensive approach to Web- based data input and processing. By assuming the scope of Web applications will continue to broaden, the XForms protocol leaves a lot of room for growth. XForms uses a modular approach that separates the meaning and presentation of the form. In other words, if you need to use the "Customer Data Input" form, you will have options regarding how to display the form depending on the presentation technology. An Internet Explorer user might see some elements differently than a Palm user or a mobile telephone user.

DISPLAY, SUBMIT, PROCESS

XForms is not going to create a new paradigm in presentation. Instead, XForms technology allows for a standard set of user interface controls that can be implemented across multiple presentation platforms. XForms also implements a new submit methodology. In addition to the traditional submit and reset form methods, XForms provides events such as refresh, initialize, and exception. This allows for a much richer form implementation without dependencies on client-side scripting technologies. Once the XForms is submitted using the XForms Submit Protocol, it is delivered to the processing application as XML instance data. This means that the data that has been entered into the form is packaged as an XML document representing that particular instance of the form. This allows the processing application to look at the form data as an XML document, rather than a group of unrelated data.

MORE INFO

There is more information available online about XForms. To read the World Wide Web Consortium's current specifications and ideology, visit the W3C XForms 1.0 Working Draft or read the W3C paper XForms - The Next Generation of Web Forms. http://click.techrepublic.com/Click?q=2d-OxXyIbKxNP2OuuYfdykfy70VjRRR http://click.techrepublic.com/Click?q=10-YU4qI9Ns0xivxI5nfW1cLHqoCRRR

SUMMARY

As the Web grows beyond simple Web browsers to encompass more access technologies, the problem of capturing data will continue to become more complex. XForms aims to provide a modular solution that will help ease the pains of developing for multiple presentation platforms and deliver data in a more XML-friendly manner.

EXPLORING XFORMS

The current XHTML recommendation redefines Web forms using XML concepts with specific elements and attributes. But today's standard still incorporates presentation attributes and submission protocols within form elements.

Although Web forms have been the mainstay for capturing data over the Web for several years, today's e-commerce applications require more flexibility. The standard Web browser is no longer the only choice for accessing Web pages. Users can now browse the Web from PDAs, phones, interactive television, and other devices. Efforts are also in the works to control and interface with electronic equipment.

Attentive to these needs, the members of the W3C's XForms Working Group are working to redefine forms to support a wider range of requirements. XForms is the manifestation of this reformulation of the Web form concept.

The main goal of XForms is the separation of the three elements of a form: presentation, data capture, and submission. Each element has a separate independent definition. In other words, you can define a form separately from how it appears on the end user's browser. This allows you to use the same data capture definition with disparate presentation definitions.

What does this mean? You can use a single data capture definition with standard HTML to present the form on a Web page, and you can use the same data capture definition with Wireless Markup Language (WML) to capture data from a cell phone or wireless device. The independent section that defines the XML form data capture elements is the XForms Model, and it's the first W3C working draft submission.

An important concept in the XForms Model is that forms collect data that's represented as XML instance data. According to the XForms Model, the data's structure enables structured data interchange as in standard XML interfaces.

The XForms Working Group also proposes that the XForms Model include logic elements for the verification or validation of captured data. To do this, the XForms Model includes predefined data structures, data types, data attributes, and validation attributes.

Presentation is provided by means of a standard definition called the XForms User Interface. This definition contains a set of visual controls aimed at replacing those currently found in XHTML. You can also use other presentation choices, including WML, XHTML elements, or proprietary schemes.

Another element in XForms is the Submit Protocol for sending and receiving the XML instance data captured by the form.

While XForms is in its early stages, it will provide a much needed boost to the capability of standard Web pages. For more information about the development of XForms, check out the W3C's XForms Web page.

http://www.w3.org/TR/xforms/