XML.com: XML From the Inside Out
oreilly.comSafari Bookshelf.Conferences.


Ten Favorite XForms Engines

September 10, 2003

In my book XForms Essentials I originally intended to include some information on XForms engines. It turned out that progress on XForms technology was happening so rapidly anything in print would have been quickly outdated. An online approach seemed more sensible.

Although XForms is largely described as an update to the decade old classic HTML forms technology, XForms is also finding a home in many fresh areas where standards are increasingly vital, like content management and workflow systems. As a result, there are a large number of XForms engines currently under development by companies large and small.

According to reports, at the time of publication as Proposed Recommendation, W3C XForms was the most widely implemented W3C specification, ever. This presents a challenge to those thinking about trying out XForms.

This article offers a good starting point for XForms research. For each XForms engine, this article describes the software, system requirements, and other useful information as well as a screenshot. Keep in mind, too, there are even more XForms engines (in various stages of development) than presented here.

Chibacon Chiba

This long-running open source project has made great strides lately in XForms support and is nearing a 1.0 release. It's a server-based implementation, running on any Java 1.2/Servlet 2.2 compatible server. It includes some great documentation.

Screen shot.
Partial screenshot of Chiba, showing a tabbed entry form.

Sidebar: Client vs. Server XForms

Classic HTML and XHTML forms are firmly established as a client-side browser technology, so many are unaccustomed to a server-side forms engine. XForms, in contrast, is designed in a way that separates data definition from user interface definition, and thus lends itself well to more flexible implementation strategies.

The line between client and server XForms implementation can be drawn in any number of places, ranging from a "dumb terminal" client capable of little more than relaying data, to an advanced client with full validation and calculation capabilities.

IBM XML Forms Package

IBM has been a major supporter of the XForms standardization effort since the beginning, supplying two of the editors for work on the specification. In April of 2003, IBM unveiled two separate XForms engines on its alphaWorks Web site. The first is an XForms control that runs inside Internet Explorer, using browser extension techniques to listen for and render incoming XForms documents.

The other IBM engine is a Java XForms compiler, which takes an XForms document as input and produces a mass of JavaScript and HTML that works with Internet Explorer 5.5+, Netscape 7+, and Mozilla 1.0+.

The XML Forms Package includes additional technology, including an API for interacting with the XForms Model

Screen shot.
Screen shot of Internet Explorer showing a repeating set of input controls compiled by the IBM engine.

MobiForm SVGViewPlus

SVGViewPlus is a .NET user control primarily designed for rendering SVG images, but it also shows a key benefit of XForms: it can be used within a variety of XML vocabularies, including SVG.

Screen shot.
Screen shot of MobiForm's browser application, showing XForms and SVG side-by-side.

Mozquito DENG

As this article demonstrates, much of the innovation in this field is currently happening with smaller companies, and Mozquito is no exception. Answering the common question "when will browsers support XForms?" they have implemented, using the widespread Flash platform, not only extensive XForms support, but also SVG, XHTML, and CSS Level 3, all in an incredible footprint of only 60Kb. DENG runs in any Flash-enabled browser.

Screen shot.
Screen shot of DENG inside Mozilla Firebird on OS X, editing XHTML through XForms.

Pages: 1, 2

Next Pagearrow