The use of forms on the web is so commonplace that most user interactions involve some type of form. XForms--a combination of XML and forms--offers a powerful alternative to HTML-based forms. By providing excellent XML integration, including XML Schema, XForms allows developers to create flexible, web-based user-input forms for a wide variety of platforms, including desktop computers, handhelds, information appliances, and more.XForms Essentials is an introduction and practical guide to the new XForms specification. Written by Micah Dubinko, a member of the W3C XForms working group and an editor of the specification, the book explains the how and why of XForms, showing readers how to take advantage of them without having to write their own code. You'll learn how to integrate XForms with both HTML and XML vocabularies, and how XForms can simplify the connection between client-based user input and server-based processing.XForms Essentials begins with a general introduction to web forms, including information on history and basic construction of forms. The second part of the book serves as a reference manual to the XForms specification. The third section offers additional hints, guidelines, and techniques for working with XForms. Topics covered in the book include:
creating XForms files in a text or XML editor
converting existing forms (electronic or paper) to XForms
collecting XML data from users in a user-friendly way
increasing the security and reliability of your current forms system by combining client-side and server-side checks into a common code base
creating interactive websites using the latest standard technology
XForms Essentials focuses on the practical application of XForms technology. If you work with forms, HTML, or XML information, XForms Essentials will provide you with a much simpler route to more sophisticated interactions with users.
Chapter 1 Introduction to Web Forms
The Past, Present, and Future of Web Forms
A Brief Review of HTML Forms
Limitations of HTML Forms, Advantages of XForms
The History of XForms
The Revenge of the Simple Syntax
Chapter 2 XForms Building Blocks
More Than Forms
A Real-World Example
Host Language Issues
Chapter 3 XPath in XForms
Getting Up to Speed with XPath
Going Deep: The XPath Data Model
How XPath is Used in XForms
Chapter 4 XML Schema in XForms
Wide Open (Value) Spaces
An Email Datatype for XForms
Chapter 5 The XForms Model
Will the Real Data Model Step Forward?
Model Item Properties
Making the Connection—Binding
Chapter 6 The XForms User Interface
Interaction with Instance Data
Repeating Line Items
Chapter 7 Actions and Events
Chapter 8 Submit
When to Submit
What to Submit
Where and How to Submit
What Happens After Submit?
The submission Element
Review: Submission Options
Security and Privacy Concerns
Chapter 9 Styling XForms
CSS, Level 3
Chapter 10 Form Accessibility, Design, and Troubleshooting
Basics of Accessibility
Form Design Patterns
XForms-specific Design Hints
Making the Switch to XForms
Chapter 11 Extending XForms
The Cost of Extensibility
Ways to Extend
Appendix Examining Microsoft InfoPath
How Does It Work?
A Real-World Example
Appendix The GNU Free Documentation License
GNU Free Documentation License
1. APPLICABILITY AND DEFINITIONS
2. VERBATIM COPYING
3. COPYING IN QUANTITY
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
7. AGGREGATION WITH INDEPENDENT WORKS
10. FUTURE REVISIONS OF THIS LICENSE
Addendum: How to use this License for your documents
Micah Dubinko serves as an editor and author of the XForms 1.0 W3C specification, where he has participated in the XForms effort since September 1999, nine months before the official Working Group was chartered. He's on WC3's XForms committee, knows XForms inside and out, and often acts as a spokesperson on XForms within the W3C and at conferences. He works in San Diego at Cardiff Software, Inc., as a Senior Software Engineer and Chief XML Architect. Over the last four years he has helped determine Cardiff's technical XML strategy and designed and implemented key XML support across several product lines, as well as worked in Product Management. Micah Dubinko was awarded CompTIA CDIA (Certified Document Imaging Architech) certification in January 2001. Micah is the author of XForms Essentials.
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of XForms Essentials is a vulturine guinea fowl (Acryillium vulturinum). This African family of birds belongs to the same order as chachalacas, chickens, curassows, grouse, guans, hoatzins, mesites, partridges, pheasants, quail, and turkeys. Sometimes called the Royal guinea fowl--as the tallest and most colorful species of its genus--the vulturine guinea fowl earned its name because of its vulture-like head and neck, while its plumage sports black and white dots and stripes on a background of lilac and cobalt blue.Vulturine guinea fowl breed well, producing a clutch of four to eight eggs, and laying several clutches if the eggs disappear. After the eggs hatch, the male feeds and protects the chicks for the first few days.Vulturine guinea fowl thrive in the heat and bright sun of eastern Africa, spending their days foraging primarily in open dry scrublands for grasses, leaves, and other green vegetation. This diet provides them with nearly all of the moisture they require, allowing them to survive for long periods without water. These tall birds--24 inches (60 centimeters) in height--are easily spotted walking through the brush, usually in flocks of 20 to 25 birds, but regularly seen in flocks of 70. In the right conditions, they will consume enormous quantities of insects and also dine on berries and seeds. A flock of vulturine guinea fowl generally escapes from predators by running swiftly, flying only as a last resort. However, the flock also flies when it roosts in trees at nightfall, when the otherwise quiet birds make their characteristic cry, which resembles creaking wagon wheels.The ancient Greeks and Romans domesticated these birds, and guinea fowl even figure in a Greek myth. When the hero Meleager (whose name means guinea fowl) was slain--after defending the honor of the huntress Atalanta--the goddess Artemis turned his sisters Gorge and Deianira (the wife of Heracles) into guinea fowl, which Artemis considered her sacred birds. However, the god Dionysus begged Artemis to return the two women (known as the Meleagrids) to their human form, and she did. Reg Aubry was the production editor and copyeditor for XForms Essentials. Derek Di Matteo was the proofreader. Claire Cloutier provided quality control. James Quill, Jessamyn Read, and Julie Hawks provided production assistance. Angela Howard wrote the index.Ellie Volckhausen designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.David Futato designed the interior layout. This book was converted by Joe Wizda to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. The tip and warning icons were drawn by Christopher Bing. This colophon was written by Reg Aubry.
The book is well written and organized by one of the authors of the W3C XForms specification itself. The intended audience is the technical person who needs to author XForms at the tag level. Knowledge of XML is very helpful.
It's not formatted as a reference manual, but contains enough reference material to get by. Organization is good so that one doesn't need to extensively search through the whole book. An index and decent TOC is included. It is also not a cookbook. Brief examples are provided as illustrations, not as complete working solutions.
Related technologies (i.e., XPath, XML Schema and CSS) are covered so that the reader doesn't need to turn to another book or online reference.
Throughout the book, common traps and pitfalls clearly appear on the page. My favorite chapter is chapter 10 that includes 20 pages of design patterns and troubleshooting ideas. When learning a new technology, it is very helpful to see how it is intended to be used and what common problems to avoid. It saves many hours of frustration.