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 W3C has started work on developing an effective replacement. This document outlines the requirements for "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 Boston face to face meeting, including the adoption of XML Schema replacing XForms Simple Syntax, as well as initial efforts at modularizing XForms and additional feedback from outside sources. 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 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 Additional User Interface Capabilities
2.8 Complete Document
3 Terminology
4 Datatypes
4.1 XML Schema Datatypes
4.2 XForms Datatypes
4.2.1 currency
4.2.2 monetary
5 The XForms Model
5.1 Introduction
5.2 Model Item Properties
5.2.1 name
5.2.2 type
5.2.3 readOnly
5.2.4 required
5.2.5 relevant
5.2.6 calculate
5.2.7 priority
5.2.8 validate
5.3 Using Datatypes in the XForms Model
5.3.1 Atomic Datatype
5.3.2 Closed Enumeration
5.3.3 Open Enumeration
5.3.4 Union
5.3.5 Multiple Selection
5.3.6 Repeating Line Item
5.3.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 Number Methods
6.5.2 String Methods
6.5.3 Miscellaneous Methods
6.6 Extensibility
7 Form Controls
7.1 Introduction
7.2 textbox
7.3 secret
7.4 uploadMedia
7.5 selectOne
7.6 selectMany
7.7 selectBoolean
7.8 range
7.9 button
7.10 output
7.11 submit
7.12 reset
7.13 Common Markup
7.13.1 Common Attributes
7.13.2 Common Child Elements
7.13.2.1 caption
7.13.2.2 help
7.13.2.3 hint
7.13.2.4 onevent
7.13.2.5 item
7.13.2.6 choices
8 XForms User Interface
8.1 Conditional Constructs For Dynamic User Interfaces
8.1.1 switch
8.2 Repeating Structures
8.2.1 Design Rationale
8.2.2 Special Event Handlers For Element repeat
8.2.3 repeat
8.2.4 Design Consequences
8.3 Reusable Form Controls
8.3.1 Creating User Interface Templates
8.3.2 DTD For uiTemplate And useUITemplate
8.4 Layout in XForms
8.4.1 Orientation and Direction
8.4.2 Alignment
8.4.3 Controlling Automatic Sizing
8.4.4 Preferred, Minimum, and Maximum Sizes
8.4.5 Packing Controls
8.4.6 Overflow
8.4.7 Inlines and Blocks
8.5 Multiple Sub-forms Or Sub-pages
8.5.1 Subpages
9 Binding
9.1 Introduction
9.2 Binding Attributes
9.3 Direct Binding
9.4 Indirect Binding
9.5 Multiple Forms per Page
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 bind
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 Algorithm
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
A Schema for XForms
B References
B.1 Normative References
B.2 Informative References
C Changes from Previous Release (Non-Normative)
C.1 Changes since the 16-Feb-2001 release
C.2 Changes to Chapter 1 'About XForms'
C.3 Changes to Chapter 2 'Concepts'
C.4 Changes to Chapter 3 'Terminology'
C.5 Changes to Chapter 4 'Datatypes'
C.6 Changes to Chapter 5 'XForms Model'
C.7 Changes to Chapter 6 'XPath Expressions in XForms'
C.8 Changes to Chapter 7 'Form Controls'
C.9 Changes to Chapter 8 'XForms User Interface'
C.10 Changes to Chapter 9 'Binding'
C.11 Changes to Chapter 10 'Document Structure'
C.12 Changes to Chapter 11 'Processing Model and Conformance'
C.13 Changes to Appendix 'Schema for XForms'
C.14 Changes to Appendix 'XSLT from Simple Syntax'
C.15 Change to Appendix 'Sample Forms'
C.16 Changes to Appendix 'Optional Function Library'
C.17 Changes to Appendix 'References'
D Acknowledgements (Non-Normative)
E Production Notes (Non-Normative)