You are reading O'Reilly XForms Essentials by Micah Dubinko. (What is this?) - Buy XForms Essentials Online

Organization of This Book

This book is organized into three divisions. The first gives a general introduction to web forms, including information on the history and basic construction of forms. The second section serves as a kind of reference manual to the XForms specification. The third section offers additional hints, guidelines, and techniques for working with XForms.

Chapter 1, Introduction to Web Forms

This chapter gives a brief history of HTML forms and XForms, the design philosophy behind XForms, and some necessary terminology and concepts.

Chapter 2, XForms Building Blocks

Unlike some XML-based languages, XForms is not defined as a standalone document type. This design decision has ramifications that are necessary to understand in order to make effective use of XForms. This chapter discusses issues that come up in the process of defining a markup language (such as XHTML or SVG) that includes XForms.

Chapter 3, XPath in XForms

XPath is another W3C standard that isn't used by itself but in concert with other specifications. XForms is a first-class application of XPath, joining the ranks of XSLT and XPointer. This chapter serves as a complete reference to all of XPath, with particular attention to the parts that are most useful in forms or defined within the XForms specification itself.

Chapter 4, XML Schema in XForms

XML Schema is another W3C technology leveraged by XForms. This chapter gives an overview of the parts of XML Schema that are important for forms and describes the new datatypes introduced by XForms.

Chapter 5, The XForms Model

A powerful feature in XForms is the ability to declaratively specify that a form control is required, read-only, calculated, or relevant to the form. The combined definitions of these properties are called the XForms Model, which is the subject of this chapter.

Chapter 6, The XForms User Interface

The user interface is the most immediately recognizable part of a form. This chapter discusses the user interface, including details on how the conceptual level of XForms form controls differs from that of HTML form controls.

Chapter 7, Actions and Events

This chapter discusses a topic of critical importance to XForms: XML Events. Observing, catching, dispatching, and responding to events remains among the chief reasons for using script with HTML forms. With the advent of XML Events (a separate W3C specification that is finding use in XForms, XHTML, and other places), many functions that used to require script can be written declaratively in XML.

Chapter 8, Submit

Nearly every form is intended to submit data at some point. In addition to introducing XML data into forms, XForms defines backward-compatible data submission, as well as a few new tricks. This chapter guides you through all the options, including hints on how to select the appropriate options to match your specific needs.

Chapter 9, Styling XForms

XForms forces authors to think about the separation between content and presentation. As a result, specifying style information becomes more important with XForms. This chapter discusses new and existing stylesheet syntax that applies to forms.

Chapter 10, Form Accessibility, Design, and Troubleshooting

This chapter includes lots of tips for designing forms for accessibility, so that different users can make full use of the form. Additionally, this chapter includes different techniques and useful design patterns for forms.

Chapter 11, Extending XForms

This chapter covers the many ways in which XForms can be extended, including in a future version of XForms that is now underway.

Appendix A, Examining Microsoft InfoPath

Microsoft has developed an application called InfoPath that is frequently compared to XForms. This appendix compares some technical aspects of XForms implementations with InfoPath.

Appendix B, The GNU Free Documentation License

This book is being made available under the GNU Free Documentation License, which provides certain freedoms related to copying, modifying, and distributing this book. This appendix contains pointers to the online version of the book (which includes additional examples and errata), as well as the text of the license.