Manage Learn to apply best practices and optimize your operations.

XForms and useful implementations

Summary of what you can do with XForms.

XML Developer Tip
(Receive this column in your inbox,
click Edit your Profile to subscribe.)

XForms and useful implementations
Ed Tittel

In response to a recent reader e-mail, I jumped onto the Web to assess the current state of XForms technology, particularly in terms of working implementations. Luckily for me, Micah Dubinko—author of the interesting O'Reilly book XForms Essentials (August 2003, ISBN: 0-596-00369-2)—also just published a story for entitled "Ten Favorite XForms Engines" that helped to make my job quick, easy, and pleasant.

For those unfamiliar with XForms, it's an XML application that is often described as a beefed-up and more capable replacement for the original set of forms-related elements in HTML (which includes the various elements that can occur within the <form> tag, such as <button>, <fieldset>, <input>, <isindex>, <label>, <legend>, <option>, <optgroup>, <select>, and <textarea>, along with lots of other, non-forms elements). A primary motivation behind XForms was not just to support more flexible data entry options, but also to enable various kinds of local data checks, data typing, and so forth. Essentially, XForms breaks traditional (X)HTML forms into three parts: an XForms model, instance data, and a user interface, to help meet the long-term XML goal of separating presentation from content, and to reduce requirements for repeated access to a server and to reduce needs for add-on scripting. (XForms 1.0 reached W3C Recommendation status a short while ago, on October 14, making it a full-fledged standard.)

Dubinko's survey turns up some extremely interesting examples of XForms technology at work:

  • Chibacon Chiba is a long standing Open Source project that is close to supporting the recently-completed XForms 1.0 recommendation. It's server-based, and works with any Java 1.2/Servlet 2.2 runtime environment.
  • The alphaWorks Web site includes two separate XForms engines: one is an XForms control that works within Internet Explorer, using browser extensions to detect and display XForms documents; the other is a Java-based XForms compiler that takes an XForms document as input and outputs HTML and JavaScript targeted for client consumption for Mozilla 1.0+, Netscape 7+, or Internet Explorer 5.5+.
  • MobiForm's SVGViewPlus is a .NET plug-in (a user control) that renders SVG images but also supports XForms markup and renders XForms documents.
  • Well-known XML toolbuilder Mozquito offers its DENG Factory which works inside any Flash-capable Web browser, renders XForms, and also supports SVG, XHTML, and CSS 3.
  • In Novell's exteNd suite, XForms plays a major role in mediating user interaction with Web pages and forms that interact with behind-the-scenes Web services. You'll find downloads for XForms previews for numerous platforms (Linux, Solaris, and Windows) as well as a white paper and a nice tutorial.
  • Orbeon's Open XML Framework (OXF) is a J2EE application framework that employs XSLT, XQuery, SQL, and Web services interfaces along with XForms to do its thing.
  • University of Helsinki X-Smiles is a Web browser that includes support for XForms, as well as XSLT, XSLT-FO, SMIL, and SVG.
  • x-port's FormsPlayer is an all-purpose XForms plug-in for Internet Explorer 6.x.

Dubinko's article also mentions other XForms implementations from Oracle and Ripcord Technology but since he doesn't provide (and I can't find) links to demo versions for these items, I don't mention them here other than in passing. For the foregoing list, you can find working demos or examples that show you XForms at work. Enjoy!

About the Author

Ed Tittel is a VP of Content Development & Delivery at CapStar LLC, an e-learning company based in Princeton, NJ. Ed runs a small team of content developers and project managers in Austin, TX, and writes regularly on XML and related vocabularies and applications. E-mail Ed at

For More Information:

  • Looking for free research? Browse our comprehensive White Papers section by topic, author or keyword.
  • Are you tired of technospeak? The Web Services Advisor column uses plain talk and avoids the hype.
  • For insightful opinion and commentary from today's industry leaders, read our Guest Commentary columns.
  • Hey Codeheads! Start benefiting from these time-saving XML Developer Tips and .NET Developer Tips.

  • Visit our huge Best Web Links for Web Services collection for the freshest editor-selected resources.
  • Visit Ask the Experts for answers to your Web services, SOAP, WSDL, XML, .NET, Java and EAI questions.
  • Choking on the alphabet soup of industry acronyms? Visit our helpful Glossary for the latest industry lingo.
  • Couldn't attend one of our Webcasts? Don't miss out. Visit our archive to watch at your own convenience.
  • Discuss this article, voice your opinion or talk with your peers in the SearchWebServices Discussion Forums.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.