12 Conformance

12.1 Conformance Levels

The XForms specification is designed for implementation on hardware platforms of all sizes, from tiny hand-held devices to high-powered servers. For this reason, there are two conformance levels for XForms Processors, documents, and generators (such as authoring tools): XForms Full and XForms Basic.

12.1.1 XForms Full

This conformance level is suitable for more powerful forms processing, such as might be found on a standard desktop browser or a distributed XForms processor involving server-side components. XForms Full implementations must return "full" from the property method (defined at 7.8.1 The property() Function ) called with the "conformance-level" parameter string.

12.1.2 XForms Basic

This conformance level is suitable for devices with limited computing power, such as mobile phones, hand-held computers, and appliances. This conformance level uses a subset of XML Schema and does not include any resource-intensive features. XForms Basic implementations must return "basic" from the property method (defined at 7.8.1 The property() Function ) called with the "conformance-level" parameter string.

12.2 Conformance Description

12.2.1 Conforming XForms Processors

All XForms Processors must conform to the following specifications, except as qualified below:

All XForms Processors must fully support the following XForms modules: Core; MustUnderstand; Form Controls; Group; Switch; Repeat; and Action.

All XForms Processors must also support: the XForms Processing Model and all events listed at 4 Processing Model; the http scheme for processing xsd:anyURI; all serialization methods defined at 11 Submit.

A host language may introduce additional conformance requirements.

XForms Full Processors must implement all required features defined in this specification.

XForms Basic Processors must implement all required features defined in this specification, with the following exceptions:

  • XForms Basic Processors have limited processing for XML Schema structures, other than the processing of the attribute xsi:type on instance data for simpleTypes only

  • XForms Basic Processors support only the XML Schema datatypes identified as Basic in 5 Datatypes; processing of all other XML Schema built-in datatypes is undefined

Issue (one-doc-conformance-level-or-two):

There have been requests for the addition of the following restrictions on XForms Basic conformance. We are reluctant to add them because they would create two forms of XForms documents: those only processable with XForms Full implementations, and those processable by all implementations. Using only the above restrictions, there is only one class of documents, that are interoperable, and are only different in the way and the time that errors are reported. We are eager to hear from implementors, especially for small devices, on the feasibility of leaving out these restrictions.

  • XForms Basic Processors may trigger an exception (4.5.1 The xforms-binding-exception Event) upon the use of any dynamic dependency in a UI binding expression.

  • XForms Basic Processors have undefined processing for the following XPath axes: following, following-sibling, preceding, preceding-sibling

  • XForms Basic Processors have undefined behavior for the | (node-set union) operator in XPath

  • XForms Basic Processors need not implement the dispatch XForms Action

  • XForms Basic Processors may use only XML Events Basic ([XML Events])

Resolution:

None recorded.

12.2.2 Conforming XForms Documents

All XForms Containing Documents must conform to the following specifications, except as qualified below:

XForms elements are typically inserted into a containing document in multiple places. The root element for each individual fragment must be model, a form control, group, repeat, or switch. Individual XForms fragments must be schema-valid against the Schema for XForms (A Schema for XForms).

A host language may introduce additional conformance requirements.

All XForms Full conforming documents must conform to all required portions of this specification.

All XForms Basic conforming documents must conform to all required portions of this specification, with the following restrictions:

  • XForms Basic documents must not use any processing from XML Schema structures (other than xsi:type used with simpleTypes)

  • XForms Basic documents must not use any XML Schema datatypes not identified as Basic in 5 Datatypes (This restriction also applies to datatypes derived from unsupported datatypes)

  • XForms Basic documents must not use any dynamic dependency in UI binding expressions.

  • XForms Basic documents must not use any of the following XPath axes: following, following-sibling, preceding, preceding-sibling

  • XForms Basic documents must not use the | (node-set union) operator in XPath

  • XForms Basic documents must not use the dispatch XForms Action

  • XForms Basic documents must conform to XML Events Basic ([XML Events])

12.2.3 Conforming XForms Generators

XForms Full generators must generate conforming XForms Basic and XForms Full documents, depending on the author's choice.

XForms Basic generators must generate only conforming XForms Basic documents.