H Changelog (Non-Normative)

This section summarizes substantive changes since the January Last Call version of the XForms 1.0 specification. See the diff-marked version for detailed individual changes.

The Schema for XForms A Schema for XForms also contains a separate change log of Schema changes.

H.1 Structural

The syntax and content model descriptions of elements are now categorized and described as in [XHTML Modularization]. The informative tutorial chapter has been rewritten. All instance data must have a single element root, and multiple instances are allowed per model, as are multiple XML Schemas. For consistency with XHTML, many elements and attributes have been renamed, and the Working Group has decided to share the W3C linking solution under development. The 'privacy' element has been removed, so as to not conflict with predefined methods of locating P3P documents; a privacy appendix has been added. Requests for implementation feedback have been added throughout the document. XForms now normatively references XML Base, though it is a host language responsibility to define processing. Tightened up conformance section, now listing specific, testable, conformance criteria. A new appendix provides a direction for future styling work related to XForms.

H.2 Form Controls

The 'appearance' hint has been significantly generalized and made less visual-centric, as well as open-ended. The upload control can now populate a filename and media type. Half-width modes have been reinstated for input modes. An 'incremental' attribute allows for form immediate data propagation. Description of how form data is applied to the instance data has been clarified and stated in terms of XForms Actions. In the case of lists that have complexType interactions with instance data, a new element "copy" has been introduced, including explicit rules for data interaction. Attributes 'class' and 'xml:lang' have been removed as common attributes, leaving this to the host language to provide. An alternative, attribute-based syntax for repeat allows more options in document integration. 'trigger' (formerly 'button') is permitted binding attributes, for the purpose of associating mode item properties.

H.3 Processing

Incorporated numerous comments on submit processing: we don't deprecate GET, we provide stronger legacy support for urlencoding (including UTF8), and we offer better multipart serialization. Besides http, we indicate how https, file, and mailto interact with XForms. Removed section on DOM mutation events. All defined mutation events now specify transactional behavior for propagating changes throughout the form. Error conditions have been thoroughly defined.

H.4 XPath

Four new functions provide date/time operations, based on a subclassed xsd:duration datatype. The rules for context nodes have been simplified, and are now the same for normal and 'lazy author' processing.

H.5 Model

Now consistently using the terms "model item" and "model item property". Added a 'p3ptype' property to express fine-grained P3P datatypes. Overall, model item properties have been clarified as to how they work with inheritance. minOccurs and maxOccurs are now computed properties. If more than one bind attempts to set a model item property on a node, it is now considered a fatal error.

H.6 Actions and Events

A number of new events describe state changes at form controls. The 'script' action has been removed (to be defined by the host language). Added XForms event for rebuild; added IDL functions for rebuild, recalculate, revalidate, refresh.