The implementation status table contains a full list of all the sections in the XForms specification, XForms 1.0 W3C Recommendation 14 October 2003, indicating which FormFaces has or has not implemented. Items listed as "in progress" will not prohibit a web developer from modeling forms with the XForms standard.
The fundamental part of the engine, the part that processes the model and binds, is complete. The dependency graph algorithm from the XForms specification has been implemented, which guarantees that model item properties like "relevant", "required", and "calculate" are always up-to-date.
Instance data can be included inline, inside the <instance/>
element, or be drawn from an external file, via the src attribute.
FormFaces includes a full XPath implementation, including all of the functions from the XForms core function library.
Every control except upload and range has been
implemented. This includes input, secret,
textarea, output, trigger,
submit, select, and select1.
group, switch, and repeat are all
fully implemented. This includes nested repeats and the insert and
delete actions.
The XML events framework is supported, and full W3C compliant events capability has been implemented in Internet Explorer (Mozilla, Opera, et al. are already W3C compliant). Most of the built-in XForms events are implemented.
The actions framework is in place, with about half of the actions implemented.
Four of the submission methods have been implemented: get,
put, post, and urlencoded-post.
Schema validation and CSS3 are slated for a future release.
| Section | Feature | Support | Notes |
|---|---|---|---|
| 3 | Document Structure | ||
| 3.1 | The XForms namespace | full | |
| 3.2 | XForms Core Attribute Collections | ||
| 3.2.1 | Common Attributes (any) | full | |
| 3.2.2 | Linking Attributes (src) | in progress | |
| 3.2.3 | Single node binding attributes (ref, model, bind) | full | |
| 3.2.4 | Nodeset binding attributes (nodeset, model, bind) | full | |
| 3.3 | XForms Core Module | ||
| 3.3.1 | model element | full | |
| 3.3.2 | instance element | full | |
| 3.3.3 | submission element | partial | See section 11. |
| 3.3.4 | bind element | full | |
| 3.5 | XForms extension module | ||
| 3.5.1 | Extension element | in progress | |
| 3.4 | XForms MustUnderstand module | ||
| 3.4 | xforms:mustUnderstand attribute | in progress | |
| 4 | Processing model | ||
| 4.1 | Events overview | ||
| 4.2 | Initialization events | ||
| 4.2.1 | xforms-model-construct | full | |
| 4.2.2 | xforms-model-construct-done | full | |
| 4.2.3 | xforms-ready | full | |
| 4.2.4 | xforms-model-destruct | in progress | |
| 4.3 | Interaction events | ||
| 4.3.1 | xforms-next and xforms-previous | in progress | |
| 4.3.2 | xforms-focus | in progress | |
| 4.3.3 | xforms-help and xforms-hint | in progress | |
| 4.3.4 | xforms-refresh | full | |
| 4.3.5 | xforms-revalidate | full | |
| 4.3.6 | xforms-recalculate | full | |
| 4.3.7 | xforms-rebuild | full | |
| 4.3.8 | xforms-reset | in progress | |
| 4.3.9 | xforms-submit | full | |
| 4.4 | Notification events | ||
| 4.4.1 | DOMActivate | full | |
| 4.4.2 | xforms-value-changed | full | |
| 4.4.3 | xforms-select and xforms-deselect | full | |
| 4.4.4 | xforms-scroll-first and xforms-scroll-last | in progress | |
| 4.4.5 | xforms-insert and xforms-delete | full | |
| 4.4.6 | xforms-valid | full | |
| 4.4.7 | xforms-invalid | full | |
| 4.4.8 | DOMFocusIn | full | |
| 4.4.9 | DOMFocusOut | full | |
| 4.4.10 | xforms-readonly | full | |
| 4.4.11 | xforms-readwrite | full | |
| 4.4.12 | xforms-required | full | |
| 4.4.13 | xforms-optional | full | |
| 4.4.14 | xforms-enabled | full | |
| 4.4.15 | xforms-disabled | full | |
| 4.4.16 | xforms-in-range | in progress | |
| 4.4.17 | xforms-out-of-range | in progress | |
| 4.4.18 | xforms-submit-done | full | |
| 4.4.19 | xforms-submit-error | full | |
| 4.5 | Error Indications | ||
| 4.5.1 | xforms-binding-exception | partial | Binding errors are caught by the XForms processor, but the
xforms-binding-exception notification event is not fired. |
| 4.5.2 | xforms-link-exception | in progress | |
| 4.5.3 | xforms-link-error | in progress | |
| 4.5.4 | xforms-compute-exception | partial | Computational errors are caught by the XForms processor, but the
xforms-compute-exception notification event is not fired. |
| 5 | Datatypes | ||
| 5.1 | XML Schema built-in datatypes | partial | The code for validating all of the built-in data types has been written and debugged, but cannot be used until the XML Schema parsing code is written. |
| 5.2 | XForms Datatypes | ||
| 5.2.1 | xforms:listItem | in progress | |
| 5.2.2 | xforms:listItems | in progress | |
| 5.2.3 | xforms:dayTimeDuration | in progress | |
| 5.2.4 | xforms:yearMonthDuration | in progress | |
| 6 | Model item properties | ||
| 6.1 | Model Item Property Definitions | full | |
| 6.1.1 | type | in progress | |
| 6.1.2 | readonly | full | |
| 6.1.3 | required | full | |
| 6.1.4 | relevant | full | |
| 6.1.5 | calculate | full | |
| 6.1.6 | constraint | full | |
| 6.1.7 | p3ptype | in progress | This is an emerging technology for future use. |
| 6.2 | Schema Constraints | ||
| 6.2.1 | Atomic datatype | partial | The code for validating all of the built-in data types has been written and debugged, but cannot be used until the XML Schema parsing code is written. |
| 6.2.1 (1) | Datatypes in schema document. | in progress | |
| 6.2.1 (2) | Datatypes using xsi:type | in progress | |
| 7 | XPath expressions | ||
| 7.1 | XPath datatypes | full | |
| 7.2 | hasFeature method call | in progress | |
| 7.3 | Instance Data | ||
| 7.3.1 | The getInstanceDocument() Method | full | |
| 7.3.2 | The rebuild() Method | full | |
| 7.3.3 | The recalculate() Method | full | |
| 7.3.4 | The revalidate() Method | full | |
| 7.3.5 | The refresh() Method | full | |
| 7.4 | Evaluation context | full | |
| 7.5 | Binding expressions | full | |
| 7.5.2 | Model Binding Expressions | full | |
| 7.5.3 | UI Binding Expressions | full | |
| 7.5.4 | UI Binding in other XML vocabularies | in progress | |
| 7.6 | XForms Core Function Library | ||
| 7.6 (1) | XPath core functions | full | |
| 7.7 | Boolean Methods | ||
| 7.7.1 | The boolean-from-string() | full | |
| 7.7.2 | if() | full | |
| 7.8 | Number Methods | ||
| 7.8.1 | avg | full | |
| 7.8.2 | min() | full | |
| 7.8.3 | max() | full | |
| 7.8.4 | count-non-empty() | full | |
| 7.8.5 | index() | full | |
| 7.9 | String Functions | ||
| 7.9.1 | property() | full | |
| 7.9 | Date and Time Functions | ||
| 7.10.1 | now() | full | |
| 7.10.2 | The days-from-date() | full | |
| 7.10.3 | seconds-from-dateTime() | full | |
| 7.10.4 | seconds() | full | |
| 7.10.5 | months() | full | |
| 7.11 | Node-set Functions | ||
| 7.11.1 | instance() | full | |
| 7.12 | Extension Functions | ||
| 7.12 | Extension Functions | in progress | |
| 8 | Form controls | ||
| 8.1 | The XForms Form Controls Module | ||
| 8.1.1 | Implementation Requirements Common to All Form Controls | partial | accesskey, and navindex have not yet been implemented. |
| 8.1.2 | input | full | |
| 8.1.3 | secret | full | |
| 8.1.4 | textarea | full | |
| 8.1.5 | output | full | |
| 8.1.6 | upload | in progress | |
| 8.1.7 | range | in progress | |
| 8.1.8 | trigger | full | |
| 8.1.9 | submit | full | |
| 8.1.10 | select | partial | choices has not yet been implemented. |
| 8.1.11 | select1 | partial | choices has not yet been implemented. |
| 8.2 | Common Markup for Selection Controls | ||
| 8.2.1 | choices | in progress | |
| 8.2.2 | item | partial | Dynamic <output/> controls inside an item label not yet
supported. |
| 8.2.3 | value | full | |
| 8.3 | Additional Elements | ||
| 8.3.1 | filename | in progress | |
| 8.3.2 | mediatype | in progress | |
| 8.3.3 | label | partial | Dynamic <output/> controls in labels not yet supported
fully. |
| 8.3.4 | help | in progress | |
| 8.3.5 | hint | in progress | |
| 8.3.6 | alert | in progress | |
| 9 | XForms User Interface | ||
| 9.1 | XForms Group Module | ||
| 9.1.1 | group | full | |
| 9.2 | XForms Switch Module | ||
| 9.2.1 | switch | full | |
| 9.2.2 | case | full | |
| 9.2.3 | toggle | full | |
| 9.3 | XForms Repeat Module | ||
| 9.3.1 | repeat | full | |
| 9.3.2 | Creating Repeating Structures Via Attributes | full | |
| 9.3.3 | itemset | partial | value is implemented, but not copy. |
| 9.3.4 | copy | in progress | |
| 9.3.5 | insert | full | |
| 9.3.6 | delete | full | |
| 9.3.7 | setindex | in progress | |
| 9.3.8 | Repeat Processing | full | |
| 9.3.9 | Nested Repeats | full | |
| 9.3.10 | User Interface Interaction | full | |
| 10 | XForms Actions | ||
| 10.1 | XForms Action Module | ||
| 10.1.1 | action | full | |
| 10.1.2 | dispatch | full | |
| 10.1.3 | rebuild | full | |
| 10.1.4 | recalculate | full | |
| 10.1.5 | revalidate | full | |
| 10.1.6 | refresh | full | |
| 10.1.7 | setfocus | in progress | |
| 10.1.8 | load | full | |
| 10.1.9 | setvalue | full | |
| 10.1.10 | send | full | |
| 10.1.11 | reset | in progress | |
| 10.1.12 | message | partial | Only modal messages are available at present. |
| 11 | Submit | ||
| 11.1 | The xforms-submit Event | full | |
| 11.2 | Submission Options | in progress | |
| 11.3 | Serialization as application/xml | full | |
| 11.4 | Serialization as multipart/related | in progress | |
| 11.5 | Serialization as multipart/form-data | in progress | |
| 11.6 | Serialization as application/x-www-form-urlencoded | full | |
| 11.7 | The post, form-data-post, and urlencoded-post Submit Methods | partial | post and urlencoded-post work. |
| 11.8 | The put Submit Method | full | |
| 11.9 | The get Submit Method | full | |
| F | CSS styling (Non normative) | ||
| F.1 | pseudo-classes | in progress | |
| F.2 | pseudo-elements | in progress | |
Last updated $Date: 2006/11/02 16:11:46 $.