1 About the XForms 1.0 Specification


Contents

This chapter is informative.

1.1 Background

Forms are an important part of the Web, and they continue to be the primary means of interactivity used by many Web sites. Web applications and eCommerce solutions have sparked the demand for better Web forms with richer interactions. XForms are the response to this demand--extended analysis, followed by the creation of a new platform-independent markup language for online interaction between a XForms Processor and a remote entity. XForms are the successor to XHTML forms, and benefit from the lessons learned in the years of HTML forms implementation experience.

Further background information on XForms can be found at http://www.w3.org/MarkUp/Forms.

1.2 Reading the Specification

This specification has been written with various types of readers in mind--In particular XForms authors and XForms implementors. We hope the specification will provide authors with the tools they need to write efficient, attractive, and accessible documents, without overexposing them to the XForms implementation details. Implementors, however, should find all they need to build conforming XForms Processors. The specification begins with a general presentation of XForms and becomes more and more technical and specific towards the end. For quick access to information, a general table of contents, specific tables of contents at the beginning of each section, and an index provide easy navigation, in both the electronic and printed versions.

The specification has been written with two modes of presentation in mind: electronic and printed. In case of a discrepancy, the electronic version is considered the authoritative version of the document.

1.3 How the Specification is Organized

The specification is organized into the following chapters:

Chapters 1 and 2: An introduction to XForms
The introduction includes a brief tutorial on XForms and a discussion of design principles behind XForms.

Chapters 3 and up: XForms reference manual.
The bulk of the reference manual consists of the specification of XForms. This reference defines what may go into XForms and how XForms Processors must interpret the various components in order to claim conformance.

Appendixes:
Appendixes contain a normative description of XForms described in XML Schema, information on optional function libraries, references, a change history, and other useful information.

1.4 Documentation Conventions

The following highlighting and typography is used to present technical material in this document and other documents from the XForms Working Group:

Special terms are defined in their own chapter; hyperlinks connect uses of the term to the definition.

Throughout this document, the namespace prefixes "xform:" and "xsd:" are used to denote the XForms and XML Schema namespaces respectively. This is by convention only; any namespace prefix may be used in practice.

BNF grammar productions are presented as follows:

[1] name1    ::=    BNF Grammar 1 /* Comments */
[2] name2    ::=    BNF Grammar 2  
[3] name3    ::=    BNF Grammar 3  
[4] name4    ::=    BNF Grammar 4  
[5] name5    ::=    BNF Grammar 5  

Non-normative short examples are set off typographically:

While lengthier non-normative examples are set off typographically and may include a short explanation:

Good Example, using Tables
<foo href="http://www.example.com/XForms"/>
Multiple lines in length
And an explanation of the example of proper syntax or usage
Bad Example, using Tables
<foo href=http://www.example.com/XForms>
Multiple lines in length
And an explanation of the example of incorrect syntax or usage.

References to external documents are in [Square Brackets] with links to the references section of this document.

The XML representations of various elements within XForms are presented as follows: Listed are the element name, names of all attributes, allowed values of attributes appearing after a "=" character, default values of attributes appearing after a ":" character, and allowed content. One or more headings below the table provide additional explanatory information.

XML Representation<example>
<example
  count = integer
  size = (small | medium | large) : medium
>
  <!-- Content: (allowed-content) -->
</example>

Attribute Definitions:

count = integer
description of this attribute

Attributes Defined Elsewhere:

size

The following highlighting is used for non-normative commentary:

Editor's Note: Inline informational note to provide annotations or point out design decisions.

[Editor's Feedback Request 1.4.sample: A uniquely identified request on behalf of the Working Group for specific feedback on XForms.]

[Ed. General comments intended for removal before final publication.]