XForms models, collects, and transmits user input by building on several existing W3C standards. Reusing existing standards makes it possible to construct XForms processors from existing software that is designed to work with the standards being reused. On the other hand, the reliance on a set of complex standards can make the XForms specification hard to understand because the reader is often pointed to a never-ending chain of technical terms and complex specifications.
To alleviate this problem, we give a quick overview of these building blocks in a tutorial form with a focus on their use within XForms. The goal is not to explain each of these standards in detail; instead, the focus is on providing an introduction to the underlying technologies to enable the reader to work productively with XForms. We recommend skimming the content of this chapter and using it as a reference while working with the rest of the material in this book.
XPath XForms user interfaces are created by controls that bind to an underlying data model. In creating the necessary binding between model and instance, XForms uses XPath 1.0, described in Section 2.2, for addressing relevant portions of the XML instance. XPath 1.0 is also used for declaring model properties and expressing dependencies between related fields in a form.
XML Events User interfaces authored by binding form controls to an underlying data model come to life when combined with event handling facilities that process user interaction events. As a technology designed to be hosted primarily in Web application environments, XForms uses the DOM2 events model as exposed by XML Events, described in Section 2.3. DOM2 event listeners and handlers authored using XML Events enable the XForms author to attach application-specific behavior to user interface controls. The XForms 1.0 specification defines the XForms processing model via XML Events, thereby enabling the author to integrate application-specific behavior at all stages of XForms processing.
XML Namespaces and XML Schema XForms applications collect user input using XML 1.0, described in Section 2.4. Such XML instances use XML namespaces, described in Section 2.4.2, to avoid name conflicts when encapsulating unrelated but similarly named data fields. XML instances for collecting user input are modeled using XML Schema 1.0, described in Section 2.5. XML Schema provides a declarative means of authoring data constraints and enables the automatic validation of XML instances against such constraints.
XForms Implementations Emerging XForms implementations are detailed in Section 2.6. XForms is still a new W3C technology, and these implementations continue to evolve at the time of writing. Readers are encouraged to download one or more of these implementations while working through the material in this book.