Home :: Books :: Business & Investing  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing

Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet
Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
XForms: XML Powered Web Forms

XForms: XML Powered Web Forms

List Price: $39.99
Your Price: $27.99
Product Info Reviews

<< 1 2 >>

Rating: 3 stars
Summary: Not quite there yet
Review: This is a book which compresses a lot of good and useful information into just over 220 pages. It starts off by demonstrating how a small simple Web-based questionnaire can be rewritten as a XForms application. Unfortunately, the book is very vague on how to actually deploy XFroms applications and leaves it up to the reader to figure out how to deploy this sample application on their own system.

A companion CD is provided which contains all the book sample code sources. It would have been useful and user-friendly if a copy of one of more XForms implementations were included on the CD. I hope that this is corrected in a future edition of the book.

The book continues by reviewing the various XML standards used with XForms, followed by detailed chapters on XForms user interface controls, model properties, functions, actions and events.

Given the current scarcity of books on XForms, this book should be on the bookshelf of any serious Web application developer.

Rating: 5 stars
Summary: Why XForms
Review: XForms is just the right length and weight for reading in bed, or on a flight (two hours or more). So those are the places where I read Raman's book. I openly admit that I got more out of the book in flight than between sheets.

Raman belongs to the school of tell them what you are going to tell them, tell them it, then tell them what you told them. His English is rather academic in style, but it is always clear.

Raman has put considerable thought into the problems addressed by XForms.The book ought not be read as a description of XForms syntax, nor is it really a tutorial on how to use XForms. Rather, Raman's book is a treatise that sets out the desirable characteristics of electronic forms, especially those deployed over the Web. By explaining requirements, and illustrating, by means of those examples, how XForms meets his requirements, Raman has produced a compelling justification for the design of XForms. He has also gone a long way towards providing a clear set of criteria against which other forms technologies might be measured.

XForms is divided into three parts. Very roughly, Part One describes the mess we are in today, and sets out the characteristics of a means to salvation, and just how these are embodied in XForms. The second is a blow by blow account of the act of salvation; while the third points to the state of grace we might achieve in the future, if we pursue the principles on which XForms is based.

So, Raman sets off on the journey with a description, by means of a simple example, of the tools and approaches used in typical Web forms projects at the moment. He then spends some time reworking the example as an XForms implementation, and highlights the key advantages of using XForms. In doing so he introduces us to the major components of Xforms.

The rest of Part One is an introduction to the array of other XML standards the potential XForms developer will face when using XForms. Raman lists six standards on which XForms has some dependency, including XML itself. This is a strength of XForms. Processors, can, at least partly, be amalgamations of existing implementations of standards, such as W3C XML Schema. Furthermore authors are likely to be using skills that are useful in other contexts.

Part Two consists of a more detailed examination of XForms. Raman first takes us through the UI itself, moving from simple constructs to the more sophisticated. Each section describes the use of XForms components, with worked examples, and so helps to put into context the architectural principles sketched out in Part One.

As an example, let's look at Section 3.4, Types of Selection Controls. Raman tells us that it is a common requirement that a user make a selection from a predefined list of values. He cites the various ways that this can be physically represented on different devices, but then makes the point that "XForms defines selection controls based on the functionality provided, rather than their appearance in a given environment. This design has the advantage of capturing the underlying intent in a given user interaction rather than its mere visual appearance." (p.63). Raman expands his argument with a worked example, that contrasts how a voice browser might struggle with an HTML implementation of a choice, but work very naturally with the XForms equivalent.

Having described the basic building blocks of the UI, Raman tells us how to combine them within groups, repeating groups, and the XForms equivalent of tabbed groups.

Next come accounts of the bits the author needs to make a form function; Model Item Properties (MIPs), Functions, Actions and Events. In these chapters Raman explains and justifies XForms declarative style, whilst carefully acknowledging that techniques such as scripting have proved their worth in allowing people to "experiment and innovate on the Web" (p.163). As an example of the power of the declarative approach, Raman sets out how an author can use dynamically evaluated MIPs such as relevant, and read-only, combined with CSS, to control the physical representation of forms, by hiding controls, or groups that are bound to nodes that become irrelevant, for example.

The last section of XForms lays before the reader Raman's hopes for a future Web in which XForms acts as a mediator between humans and Web services and so; "allows users to interact naturally with complex, structured data; and does so across many modalities, in a way that makes the Web universally accessible".

Raman devotes a chapter to each aspect of his vision. In the first, he points out that web services rely on the transfer of "well structured, rigorously validated" XML, all ready for machine processing. XForms allows people to interact directly with such user unfriendly data. Furthermore, XForms allows authors to create islands of well structured data within oceans of the kind of semi-structured document that people use all the time. So "XForms makes the original promise of the document is the interface a reality".

The last two chapters establish that XForms does not impose any particular view of what that interface should be. Raman makes very forcefully the point that XForms is through designed to support multi-modality and accessibility principles, and so makes it trivial for form authors to create forms that will work pretty much any way that is appropriate. Raman emphasises that accessibility and support for multiple modalities are all part and parcel of the same thing. Moreover he has illustrated his points very carefully, to make clear that accessibility is about improving everyone's experience of the Web. We all find ourselves in situations when we are functionally blind, or deaf, or physically impaired, every day of our lives, if we just stop to think about it.


<< 1 2 >>

© 2004, ReviewFocus or its affiliates