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


Top 10 XForms Engines

February 09, 2005

In my book XForms Essentials, I originally intended to include some information on running 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, leading to my first article on XForms engines.

Since then, the rate of change in the XForms implementation landscape has intensified. Of the ten engines previously listed, a healthy seven make a repeat appearance, having made significant improvements. IBM's XML Forms Package narrowly missed being on the list--only because it hasn't been refreshed in a while. Even so, IBM still makes an appearance here, through their joint work on XForms-in-Mozilla. That work is part of the latest buzz in the XForms world, along with the other the new entrants.

Other new entries in this year's list are an OpenOffice implementation, a second Novell engine as an IE plugin, an updated Oracle engine that now can run inside IE, and two new approaches to implementing XForms without plugins in modern browsers. (Because of double entries, there are actually more than ten engines in this top-ten list. Go figure.) With the availability of native browsers and plugins, server solutions, and even mobile devices, XForms has a wider reach than ever.

This list is by no means complete. As before, there are more XForms development efforts in play than what I can keep track of personally. Consider this article as a starting point for your research into the wide world of XForms. For each XForms engine, this article describes the software, system requirements, and other useful information as well as a screenshot.

Chibacon Chiba

As of this writing, Chiba is just shy of a 1.0 release and is finding its way into related projects. One is a blend of the Apache Cocoon framework with Chiba, nicknamed "Chicoon," pictured here. Additionally, the NetKernel engine makes use of Chiba to provide XForms support.

A Chiba-rendered form displayed in OS X Firefox
A Screenshot of Chicoon rendering a form for display in Mac Firefox.

Chiba is a server-based engine, written in Java. It's open source under an Artistic license and has great documentation. It works by dynamically transforming XForms markup into something that relatively modern browsers can digest.

Also, Chiba can now run on the client in a hidden Java applet, thanks to a new technology called "convex." Look for Chiba to continue to blur the line between client and server-side processing. This is a good thing.

DENG by way of UGO

If you've heard of DENG before, you might know it as a Flash-based engine that runs on any browser with a recent Flash runtime. The Flash version is still around, but current development takes it a step further.

Flash-based DENG 1.0 performing in-browser editing of a FOAF file, within Apple Safari
Flash-based DENG 1.0 editing a FOAF file in Mac Safari.

A new ECMAscript module loader and deployment tool called UGO paves the way for a Flashless version 2.0 of DENG, as well as other technologies like DOM Level 3. Using only the significant XML capabilities of a recent vintage browser, DENG 2.0 interprets and renders XForms in-browser. So far, the project includes some impressive technology, like an XPath engine, ported from libxml2 to ECMAscript.

100% ECMAscript UGO+DENG editing a RSS file in OS X Firefox, including a debug console
Flash-less UGO+DENG editing a RSS file.

The combination of UGO + DENG, while still under development, is one of the most innovative developments in the XForms space.

x-port formsPlayer

formsPlayer has long been one of the foundations of the XForms community. Now, the newer releases go beyond your basic forms engine, including enhanced SVG integration as well as a voice interface. As this screen shot demonstrates, formsPlayer can even be used to author custom browser toolbars and sidebars.

formsPlayer, showing XForms content in the main window and a sidebar
FormsPlayer in IE rendering a weather forcast form and an XForms sidebar.

More than any other engine, formsPlayer reminds us that XForms is capable of more than just forms. It is a free download, requiring IE 6 with Service Pack 1, and is also available in a commercial format.


The folks at IBM and Novell, while actively implementing XForms engines of their own, have realized that it's hard to beat the convenience of native browser code. Working through the Mozilla Foundation, they ponied up starting code and developer resources to implement XForms in a fully Mozilla-optimized way. Thus, XForms will be supported on all platforms that Mozilla runs on. At least initially, it is likely that some kind of additional installation step will be needed to get the XForms engine, even after it is released.

A developer build of Mozilla on XP putting XForms through its paces
A developer's build of Mozilla on Windows XP.

This link includes a table that breaks down the implementation tasks to a fairly fine-grained level and provides links to the tracking system for even more detail. Mozilla and Firefox are open source under the Mozilla Public License and other licenses.

Pages: 1, 2

Next Pagearrow