C Changes from Previous Release (Non-Normative)

C.1 Changes since the 16-Feb-2001 release

There have been significant changes to the XForms since our last public draft. In addition, we have switched over to authoring the specification using xmlspec.dtd from writing raw HTML (details at E Production Notes). The change from hand-authored HTML to xmlspec has introduced changes throughout the document, and consequently, adding diff marks for each change would be excessively distracting and make this appendix difficult to read. Instead, this section summarizes how things have changed so that readers familiar with the previous draft can get up to to speed with the new specification.

C.2 Changes to Chapter 1 'About XForms'

The typographic samples have been updated to work better with the XMLspec publishing system.

C.3 Changes to Chapter 2 'Concepts'

This chapter has been completely updated. The new version contains a samples of complete forms and a step-by-step guide through the most common functionality in XForms.

C.4 Changes to Chapter 3 'Terminology'

Terms have been cleaned-up and brought into line with the rest of the document. The term "datatype" has been imported from XML Schema. The terms "computed expression", "containing document", and "model item property" are new.

C.5 Changes to Chapter 4 'Datatypes'

The Working Group has decided to more directly reference XML Schema datatypes, hence this chapter has been restructured to include by reference Schema datatypes, and define any additional types. Remaining issues are listed within the chapter.

C.6 Changes to Chapter 5 'XForms Model'

Removed all "simple syntax". Clarified how computed model item properties (including calculate) work. Improved terminology, consistently using terms from chapter 3.

Open and closed enumerations are now under separate headings. Removed 'group' to UI chapter. Renamed "Arrays" section to "Multiple Simultaneous Values", and added section "Repeating Line Items". Renamed "Switch" to "Alternate Representation", with a pointer to the UI section.

Significant changes to this chapter, bringing it into much closer alignment with XML Schema, were not available for publication at this time and will appear in a near-future Working Draft.

C.7 Changes to Chapter 6 'XPath Expressions in XForms'

This chapter was previously named "Dynamic Constraint Language". The new title more accurately describes both the chapter and the role of XPath within XForms. The term "Dynamic Constraints Language" has been removed throughout the remainder of the document as well.

New introductory material describes the various ways XPath is used throughout XForms. The "Instance Data" section formerly residing in the Processing Model chapter is now in this chapter. The section on Datatypes now describes which parts of XForms use XPath datatypes and which use XML Schema datatypes.

The BNF productions have been removed, in favor of stronger wording that XPath is to be used directly.

The section "Evaluation Context" has been more thoroughly cross-checked against the XPath specification, with several underspecified areas now addressed.

The large set of custom operators has been replaced with a NOTE referencing the built-in XPath operators.

New functions defined--count-non-empty(node-set), and xforms-property(string).

Several of the functions have been specified in greater detail.

The extensibility section now makes a reference to a possible direction--the element-available() and function-available() functions.

C.8 Changes to Chapter 7 'Form Controls'

Originally part of the chapter "XForms User Interface". Now split into a separate chapter. The material in this new chapter has been restructured for readability.

The "Design Input" section has been removed. Further details are available in the XForms Requirements document.

Note that names of form controls have changed, but are not yet cast in stone. The following changes and additions have been made to the core form controls:

hidden has been removed as a form control
output, textbox, submit, and reset have kept their same names
exclusiveSelect and multipleSelect have been renamed selectOne and selectMany
checkbox is now selectBoolean
password is now secret
button has been fleshed out, including event listener details
uploadMedia and range are new form controls in this Working Draft

The "AnyControl" is now described in prose instead of formally. In addition, there are minimal changes to the common elements and attributes defined in this section. Element onevent is now taken from the XHTML Events module and is therefore no longer defined in detail in this specification. A later section defines XForms-specific event handlers for use within event listeners declared via element onevent.

C.9 Changes to Chapter 8 'XForms User Interface'

The section "Future Work" has been removed.

The specification now introduces constructs for authoring conditional user interfaces (see switch) and a construct for authoring repeating widgets (see repeat) for use in creating purchase orders or shopping carts that wish to create the user interface needed for populating repeating rows from a table.

Conditional User Interfaces: This is a new section, and defines construct switch along with its associated event handlers.

New Construct repeat: There is a new section that defines construct repeat for authoring things like shopping carts where the user interface for populating a structure needs to be repeated multiple times.

UI Templates: Constructs for creating and using user interface templates have been renamed for consistency. The new element names are uiTemplate and useUITemplate.

Constructing High-level User Interfaces: The content pertaining to creating higher-level user interfaces from the basic building blocks has been substantially reorganized. This portion of the specification first defines construct group used to group user interface controls. Element group no longer defines an XForms-specific layout model; instead all layout attributes come from CSS. This enables XForms user interfaces to be laid out using either CSS or XSL:FO, or for that matter languages such as SVG.

Subforms And Subpages: With the XForms constructs for authoring higher level user interaction now fleshed out, it turns out that there is no need for an XForms-specific subform or subpage construct --we can leverage existing mechanisms such as group and more generally, XHTML's div elements for this purpose.

C.10 Changes to Chapter 9 'Binding'

Some of the text has been cleaned up with regard to the relationship with XPath, but otherwise no significant content changes.

C.11 Changes to Chapter 10 'Document Structure'

This chapter was previously named "Using XForms with Other Document Types". Added new section "Integration with XLink". Updated examples to reflect xlink namespace.

C.12 Changes to Chapter 11 'Processing Model and Conformance'

Cleaned up terminology and brought into greater consistency with the rest of the document.

Removed the locale property; separated the rest into those that can vary from one xform element to the next, and those that are the same across the containing document. Renamed use-nulls to use-nil.

The "suspend" functionality has been removed, including the xforms-suspend event, and will appear in a post-1.0 version of XForms. The xforms-resume event has been renamed xforms-initialize. Clarified that model items are associated with only a single value.

The "instance data" section has moved to the XPath Expressions chapter, though rules for constructing instance data are still in this chapter, and reworded for clarity.

The multipart/form-data section has been replaced with a reference to RFC 2388.

An early conformance section has been added.

C.13 Changes to Appendix 'Schema for XForms'

For this release, the Schema only covers the XForms form controls and the Document Structure markup.

Significant changes to this appendix, bringing it into much closer alignment with XML Schema, were not available for publication at this time and will appear in a near-future Working Draft.

C.14 Changes to Appendix 'XSLT from Simple Syntax'

Following the Working Group decision to remove the simple syntax, this appendix has also been removed.

C.15 Change to Appendix 'Sample Forms'

Sample forms have been incorporated into 2 Concepts

C.16 Changes to Appendix 'Optional Function Library'

The Working Group has decided to remove all optional functions from XForms.

C.17 Changes to Appendix 'References'

References have been updated to refer to the changes in document status, most notably the XML Schema recommendation. New normative reference to XLink, RFC2388; informative reference to T. V. Raman's book on auditory user interfaces. Removed orphaned references to ISO 8601, RFC 2369, RFC 2141 and moved the orphaned Unicode reference to the informative section.