Copyright © 2001 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use, and software licensing rules apply.
Forms were introduced into HTML in 1993. Since then they have become a critical part of the Web. The existing mechanisms in HTML for forms are now outdated, and the W3C has started work on developing an effective replacement. This document defines "XForms", W3C's name for the next generation of web forms.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C.
This is a Working Draft that incorporates new material agreed upon at the Amsterdam face to face meeting and ongoing feedback from the general public. According to our current plan, the next Working Draft after this one will be a "Last Call" Working Draft. Interested parties are encouraged to provide additional feedback and comments.
This document is a W3C Working Draft for review by W3C members and other interested parties. It is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". A list of current public W3C Working Drafts can be found at http://www.w3.org/TR.
This document has been produced as part of the W3C HTML Activity.
Please send detailed comments on this document to www-forms@w3.org, the public forum for discussion of the W3C's work on web forms. To subscribe, send an email to the above address with the word subscribe in the subject line (include the word unsubscribe if you want to unsubscribe). The archive for the list is accessible online.
1 About the XForms 1.0 Specification
1.1 Background
1.2 Reading the Specification
1.3 How the Specification is Organized
1.4 Documentation Conventions
2 Concepts
2.1 Purpose and
Presentation
2.2 Current Approach: XHTML
2.3 Stepping Up to XForms
2.4 Providing XML Instance Data
2.5 The XForms Model
2.6 Multiple Forms per Document
2.7 Complete Document
3 Terminology
4 Datatypes
4.1 XML Schema Datatypes
4.2 XForms Datatypes
4.2.1 tokenList
5 The XForms Model
5.1 Introduction
5.2 Model Item Properties
5.2.1 type
5.2.2 readOnly
5.2.3 required
5.2.4 relevant
5.2.5 calculate
5.2.6 isValid
5.2.7 maxOccurs
5.2.8 minOccurs
5.3 Binding
5.3.1 bind
5.3.2 Binding Constraints
5.3.3 Binding References
5.3.4 Binding Example
5.4 Applying XML Schema Datatypes
5.4.1 Atomic Datatype
5.4.2 Closed Enumeration
5.4.3 Open Enumeration
5.4.4 Union
5.4.5 Multiple Selection
5.4.6 Repeating Line Items
5.4.7 Alternate Representation
6 XPath Expressions in XForms
6.1 Datatypes
6.2 Instance Data
6.3 Evaluation Context
6.4 Canonical Binding Expressions
6.5 Forms Core Function Library
6.5.1 Boolean Methods
6.5.2 Number Methods
6.5.3 String Methods
6.5.4 Miscellaneous Methods
6.6 Extensibility
6.6.1 Extension Functions
7 Form Controls
7.1 Introduction
7.2 input
7.3 textarea
7.4 secret
7.5 output
7.6 upload
7.7 range
7.8 submit
7.9 button
7.10 selectBoolean
7.11 selectOne
7.12 selectMany
7.13 Common Markup
forselectOneand selectMany
7.13.1 item
7.13.2 itemref
7.13.3 choices
7.14 Common Markup
7.14.1 Common Attributes
7.14.2 Single Node Binding Attributes
7.14.3 Nodeset Binding Attributes
7.14.4 Common Child Elements
7.14.4.1 caption
7.14.4.2 help
7.14.4.3 hint
7.14.4.4 alert
7.14.4.5 action
7.14.4.6 extension
8 XForms Actions
8.1 Using XForms Actions
8.2 dispatch
8.3 refresh
8.4 recalculate
8.5 revalidate
8.6 setFocus
8.7 setValue
8.8 submitInstance
8.9 resetInstance
8.10 insert
8.11 delete
8.12 scroll
8.13 setRepeatCursor
8.14 toggle
8.15 script
9 XForms User Interface
9.1 Grouping Form Controls
9.2 Conditional Constructs For Dynamic User Interfaces
9.3 Repeating Structures
9.3.1 Repeat Processing
9.3.2 User Interface Interaction
9.4 Dynamic Selection Choices
9.5 Reusable Form Controls
10 Document Structure
10.1 The XForms Namespace
10.2 XForms Elements
10.2.1 xform
10.2.2 model
10.2.3 instance
10.2.4 submitInfo
10.2.5 bindings
10.2.6 privacy
10.2.7 action
10.2.8 extension
10.3 Integration with XLink
10.3.1 XLink role for XForms
10.3.2 XLink role for the XForms Model
10.3.3 XLink role for the Instance Data
10.3.4 XLink role for the XForms User Interface
11 Processing Model
11.1 Introduction
11.1.1 Design Rationale
11.2 XForms Properties
11.3 Events
11.4 XForms Processing
11.4.1 Initialization/Resume
11.4.2 Instance Data Construction
11.4.3 Navigation Sequence Algorithm
11.4.4 Interactivity
11.4.5 Recalculation Sequence
Algorithm
11.4.5.1 Details on Creating the
Master Dependency Directed Graph
11.4.5.2 Details on Creating the
Pertinent Dependency Subgraph
11.4.5.3 Details on Computing
Individual Vertices
11.4.5.4 Example of Calculation
Processing
11.4.6 UI Refresh Algorithm
11.4.7 Revalidation Algorithm
11.5 Submit and Reset
11.5.1 Submit
11.5.2 Reset
11.6 Serialization Formats for Instance Data
11.6.1 application/x-www-form-urlencoded
11.6.2 multipart/form-data
11.6.3 text/xml
11.6.3.1 Binary Content
11.7 Conformance
11.7.1 XForms Basic
11.7.2 XForms Full
11.7.3 Conforming XForms
Processors
11.7.4 Conforming XForms
Containing Documents
11.7.5 Conforming XForms
Generators
A Schema for XForms
B Input Modes
C References
C.1 Normative References
C.2 Informative References
D Changes from Previous Release (Non-Normative)
D.1 Changes since the 08-June-2001 release
D.2 Changes to Chapter 1 'About XForms'
D.3 Changes to Chapter 2 'Concepts'
D.4 Changes to Chapter 3 'Terminology'
D.5 Changes to Chapter 4 'Datatypes'
D.6 Changes to Chapter 5 'XForms Model'
D.7 Changes to Chapter 6 'XPath Expressions in
XForms'
D.8 Changes to Chapter 7 'Form Controls'
D.9 New Chapter 8 'XForms Actions'
D.10 Changes to Chapter 9 'XForms User
Interface'
D.11 Removed Chapter 'Binding'
D.12 Changes to Chapter 10 'Document
Structure'
D.13 Changes to Chapter 11 'Processing Model and
Conformance'
D.14 Changes to Appendix 'Schema for
XForms'
D.15 New Appendix 'Input Modes'
D.16 Changes to Appendix 'References'
E Acknowledgements (Non-Normative)
F Production Notes (Non-Normative)