XForms 1.1 becomes a full recommendation

Mark Birbeck's picture
Tag(s):

The W3C recently announced that XForms had become a full recommendation.

Many of the new features fill crucial gaps that were left in XForms 1.0. For example, looping and conditional constructs are crucial to any language, and the ability to set URLs and headers at run-time is a 'must-have' when creating web applications that use SOAP, WebDAV, ATOM, and REST.

(And some of the features plug holes which were quite frankly, mind-boggling, such as being unable to insert nodes into a nodeset when all the nodes had been deleted!)

But thankfully, with the publication of XForms 1.1, those days are now behind us, and this document is a significant publication.

Clearer

For a start, in many places the document is clearer than the XForms 1.0 version; although W3C documents are always a team effort, the big improvement in coherence is due to a lot of hard work from John Boyer, as he's often prepared to go the extra mile when writing an explanation or giving additional examples -- and the new specification includes many of these.

Secondly, whilst the new features may well have been slow coming, a key point is that they indicate the commitment on the part of working group members to solve real world problems; most of the new features come from real applications that have been created using XForms 1.0.

And perhaps most importantly, the fact that so many enhancements have been added shows how the underlying XForms architecture easily lends itself to the addition of new features in a natural way.

Web applications

With the new submission features of version 1.1 (see, for example, Specifying the submission URL and headers at run-time), building on the already powerful XML-handling that was a hallmark of version 1.0, XForms 1.1 becomes the obvious choice for quickly creating rich internet applications that use ATOM, WebDAV, and REST.

That XForms has finally 'come of age' is crucial if, alongside the proprietary offerings of Adobe and Microsoft, there is to be an approach to building internet applications that is based purely on open standards.

Further reading