TechBookReport logo

Keywords: HTML forms, XML, XPath, web design

Title: XForms Essentials

Author: Micah Dubinko

Publisher: O'Reilly

ISBN: 0596003692

Media: Book

Level: Some knowledge of XML and HTML forms required

Verdict: A good reference but could have done with additional tutorials or examples

XForms represent the emerging standard set to replace existing HTML forms technology.

In this book Micah Dubinko, a member of the W3C XForms working group and an editor of the XForms specification, gives us a concise run-down of the specification itself and some of the other XML technologies (such as XPath and Schemas) on which the specification depends. Additionally there is some coverage of other topics such as a selection of hints and guidelines for working with XForms.

The book opens with a quick recap of HTML forms, emphasising their limitations as web technology has evolved and moved on over the years. In particular the reliance of scripting languages to provide added functionality is rightly seen as a major drawback, making complex forms a nightmare to develop and maintain. Add to this the fact that design and functionality are very closely tied and you have the stage set for the emergence of XForms.

A very quick introduction to the building blocks of XForms is followed by a chapter each on XPath and XML Schemas, both essential ingredients of the new forms standard. The XPath chapter has a very brief over-view and then goes straight into a function reference. Similarly the XML schema chapter moves very quickly into a listing of datatypes. If you are new to either of these then it's likely that you'll need additional material, (such as Erik Ray's 'Learning XML'), to fully get to grips with things.

With this groundwork in place the next four chapters look in more detail at different aspects of XForms, including the XForms Model, User Interface, Actions and Events and Submit. Again the treatment is concise and to the point; this is reference material rather than tutorial. While this means that the book packs a lot of material in one small volume, it does mean that there are times when some more fully worked examples would have greatly increased the value of the book.

The short chapter on CSS, which handles the presentational side of XForms, concentrates on CSS level 3, which is still under development.

The final chapters focus on hints, tips, techniques and extensions. Chapter 10, which covers form accessibility, design and troubleshooting is a mixed bag of material. If there was one section of the book that we would have like to have seen expanded it's this one. Given that much of the book is reference material it would have been interesting to have seen some focus on the more practical side of things. On the other hand given the current state of development and the lack of browser support for XForms it's perhaps understandable that the emphasis on the book is more on standards, functions, operators etc.

Overall the book, which is available under the GNU Free Documentation Licence (listed in an appendix), provides a useful introduction and reference. If you are completely new to XML then this is not the book for you, however for those with some level of familiarity then the refresher chapters on XPath and schemas will be helpful. However, the book is clearly not a tutorial or 'how-to' book. More of that sort of material would have been useful and would have been enough to make this one to recommend to anyone just starting out with XForms. For example, the appendix which compares XForms with Microsoft's InfoPath, while interesting, could have been replaced with a complete worked example of a simple site that uses XForms. This would have been more immediately useful and would have given a leg-up to anyone contemplating dipping their toes in the XForms water. On the plus side author Micah Dubinko's XForms Institute provides a set of online tutorials that really supplement the book.

Hit the 'back' key in your browser to return to subject index page

Return to home page