Implementation Status

Mozilla XForms is not actively maintained any more since about 2010!

Limitations and Extensions

The extension has some limitations and custom extension to the XForms 1.1 specification. These can be found on the Mozilla XForms Specials page.

Specification Chapter Index

Here we give an overview of XForms 1.1 specification chapters and the current status of the Mozilla support. The sections are marked with their current status: Supported, partial support, in progress, and not currently supported.

We have listed the most relevant bugs here, but check out the Bugzilla XForms buglist for the complete list.

3. Document Structure

Section Title Status Notes Bugs
3.1 Namespaces supported
3.2.1 Common Attributes supported
3.2.2 Linking Attributes supported
3.2.3 Single-Node Binding Attributes supported
3.2.4 Node-Set Binding Attributes supported
3.2.5 Model Item Property Attributes partial In some cases a loop error can occur on valid bindings 302168;
3.3.1 model supported
3.3.2 instance partial instance element with two child element does not trigger exception 337302;
3.3.3 submission partial No support for @indent and complex schema validation 278761; 278762;
3.3.4 bind partial Using the index() function in binds does not work. 292333;
3.4 Extension Module unsupported 300760;
3.5 MustUnderstand Module unsupported 300757;

4. Processing Model (Events)

Section Title Status Notes Bugs
4 Processing Model (Events) partial The xforms-recalculate, xforms-revalidate, and xforms-refresh events are not as separated as they should be. 278448; 338146;
4.2 Initialization Events supported
4.2.1 xforms-model-construct supported
4.2.2 xforms-model-construct-done supported
4.2.3 xforms-ready supported
4.2.4 xforms-model-destruct supported
4.3.1 xforms-rebuild supported
4.3.2 xforms-recalculate supported
4.3.3 xforms-revalidate supported
4.3.4 xforms-refresh supported
4.3.5 xforms-reset supported
4.3.6 xforms-next xforms-previous supported
4.3.7 xforms-focus supported
4.3.8 xforms-help xforms-hint supported
4.3.9 xforms-submit partial see section 11.2 for more details
4.3.10 xforms-submit-serialize supported
4.4 Notification Events supported
4.4.1 xforms-insert supported
4.4.2 xforms-delete supported
4.4.3 xforms-value-changed supported
4.4.4 xforms-valid supported
4.4.5 xforms-invalid supported
4.4.6 xforms-readonly supported
4.4.7 xforms-readwrite supported
4.4.8 xforms-required supported
4.4.9 xforms-optional supported
4.4.10 xforms-enabled supported
4.4.11 xforms-disabled supported
4.4.12 DOMActivate supported
4.4.13 DOMFocusIn supported
4.4.14 DOMFocusOut supported
4.4.15 xforms-select xforms-deselect supported
4.4.16 xforms-in-range supported
4.4.17 xforms-out-of-range supported
4.4.18 xforms-scroll-first xforms-scroll-last supported
4.4.19 xforms-submit-done supported
4.5 Error Indications partial We don't support the xforms-version-exception event, yet
4.5.1 xforms-binding-exception supported
4.5.2 xforms-compute-exception supported
4.5.3 xforms-link-error partial Not yet generated by load. 333782;
4.5.4 xforms-link-exception supported
4.5.5 xforms-output-exception unsupported
4.5.6 xforms-submit-error supported
4.5.7 xforms-version-exception unsupported
4.6 Event Sequencing supported
4.6.1 For input, secret, textarea, range, or upload Controls supported
4.6.2 For output Controls supported
4.6.3 For select or select1 Controls partial
4.6.4 For trigger Controls supported
4.6.5 For submit Controls supported
4.6.6 Sequence: Selection Without Value Change supported
4.6.7 Sequence: Value Change With Focus Change supported
4.6.8 Sequence: Activating a Trigger supported
4.6.9 Sequence: Submission supported
4.7 Resolving ID References in XForms unsupported
4.7.1 References to Elements within a repeat Element unsupported
4.7.2 References to Elements within a bind Element unsupported
4.8 DOM Interface for Access to Instance Data supported
4.8.1 getInstanceDocument() supported
4.8.2 rebuild() supported
4.8.3 recalculate() supported
4.8.4 revalidate() supported
4.8.5 refresh() supported
4.9 Feature string for the hasFeature method call supported

5. Datatypes

Section Title Status Notes Bugs
5.1 XML Schema Built-in Datatypes partial whitespace facet not supported.
5.2.1 Additional XForms Datatypes to Allow Empty Content unsupported
5.2.2 xforms:listItem supported
5.2.3 xforms:listItems supported
5.2.4 xforms:dayTimeDuration supported
5.2.5 xforms:yearMonthDuration supported
5.2.6 xforms:email unsupported
5.2.7 xforms:card-number unsupported

Supported types: string, normalized string, token, language, boolean, gDay, gMonth, gYear, gYearMonth, gMonthDay, date, time, datetime, duration, integer, nonPositiveInteger, negativeInteger, positiveInteger, long, int, short, unsignedLong, unsignedInt, unsignedShort, byte, unsignedByte, float, decimal, anyURI, base64Binary, hexBinary, qname

6. Model Item Properties

Section Title Status Notes Bugs
6.1.1 type partial limited to types mentioned above
6.1.2 readonly supported
6.1.3 required supported
6.1.4 relevant partial relevancy applied via a bind to an element fails to apply to child attributes 342319;
6.1.5 calculate supported
6.1.6 constraint supported
6.1.7 p3ptype unsupported 279049;
6.2.1 Atomic Datatype partial We will support simpleType's using length, minlength, maxlength, pattern, maxinclusive, mininclusive, maxexclusive, minexclusive, totaldigits, and fractiondigits

7. XPath Expressions in XForms

Section Title Status Notes Bugs
7.1 XPath Datatypes supported
7.2 Evaluation Context partial
7.3 References, Dependencies, and Dynamic Dependencies partial we probably already do most of it due to our 1.0 work, but we haven't verified we meet the 1.1 standards, yet
7.4 Expression categories supported
7.4.2 Model Binding Expressions and Computed Expressions supported
7.4.3 Expressions in Actions and Submissions partial
7.4.4 UI Expressions partial Scenarios exist where controls contained inside other controls inside a repeat won't be bound correctly 333638;
7.4.5 UI Binding in other XML vocabularies unsupported not a compliance requirement for an XForms processor
7.4.6 Binding Examples supported
7.5 XForms Core Function Library supported
7.6.1 boolean-from-string() supported
7.6.2 is-card-number() unsupported
7.7.1 avg() supported
7.7.2 min() supported
7.7.3 max() supported
7.7.4 count-non-empty() supported
7.7.5 index() partial binds using index() are not working 292333;
7.7.6 power() supported
7.7.7 random() supported
7.7.8 compare() supported
7.8.1 if() supported
7.8.2 property() partial returns basic for conformance-level, should return full. version will return as "1.0" for now, until more 1.1 work is completed. 334333;
7.8.3 digest() unsupported
7.8.4 hmac() unsupported
7.9.1 local-date() supported
7.9.2 local-dateTime() supported
7.9.3 now() supported
7.9.4 days-from-date() supported
7.9.5 days-to-date() unsupported
7.9.6 seconds-from-dateTime() supported
7.9.7 seconds-to-dateTime() unsupported
7.9.8 adjust-dateTime-to-timezone() unsupported
7.9.9 seconds() supported
7.9.10 months() supported
7.10.1 instance() partial instance() won't work with no parameter or empty string as a parameter 419190;
7.10.2 current() supported
7.10.3 id() unsupported
7.10.4 context() unsupported
7.11.1 choose() unsupported
7.11.2 event() supported
7.12 Extension Functions unsupported not a compliance requirement for an XForms processor

8. Core Form Controls

Section Title Status Notes Bugs
8.1 The XForms Core Form Controls Module supported
8.1.1 Common Requirements n/a
8.1.2 input supported
8.1.3 secret supported
8.1.4 textarea supported
8.1.5 output supported
8.1.6 upload supported
8.1.7 range partial 316355; 343523;
8.1.8 trigger supported
8.1.9 submit supported
8.1.10 select partial @selection does not work, select inside repeat may not work correctly, select that mixes itemsets with items may show them in the wrong order 282840; 371595; 372127;
8.1.11 select1 partial There are some resize issues, select/deselect/valuechange firing in wrong order. Getting a few issues with in/out of range notifications. 282840; 303351; 333464; 333529; 352398;
8.2.1 choices supported
8.2.2 item supported
8.2.3 value supported
8.3.1 filename supported
8.3.2 mediatype supported
8.3.3 label partial Labels for items inside a choices element has bind problems. We'd like to expand how we render labels bound to different, unique types. 297083; 343443;
8.3.4 help supported
8.3.5 hint partial problems with hints in XUL-hosted documents and ephemeral message positioning 349667;
8.3.6 alert supported

9. Container Form Controls

Section Title Status Notes Bugs
9.1.1 group supported
9.2.1 switch partial @selected not working inside repeats 339937;
9.2.2 case partial 302497; 329143;
9.3 Repeat Module partial 264329; 273706;
9.3.1 repeat partial We do not support number attribute 302026;
9.3.2 Nested Repeats supported
9.3.3 Repeat processing partial we currently obey the 1.0 rules for repeat
9.3.4 User Interface Interaction partial we currently obey the 1.0 rules for repeat, no support for @number 302026;
9.3.5 Creating Repeating Structures Via Attributes partial does not work for html:tr, html:td, or xf:group elements 340515; 350617;
9.3.6 itemset supported performance problem with large itemsets 372197;
9.3.7 copy supported

10. XForms Actions

Section Title Status Notes Bugs
10 XForms Action Module n/a
10.1 action supported
10.2 setvalue supported
10.3 insert partial We need to better handle when @at evaluates to NaN, and we do not generate unique values for xsd:ID nodes. 303198; 339217;
10.4 delete partial We need to better handle when @at evaluates to NaN 303198;
10.5 setindex supported
10.6 toggle supported
10.7 setfocus supported
10.8 dispatch supported
10.9 rebuild partial is dispatching events instead of calling directly 332231;
10.10 recalculate partial is dispatching events instead of calling directly. Recalculate won't properly mark nodes as dirty if they were changed using JavaScript interfaces. 332231; 349805;
10.11 revalidate partial is dispatching events instead of calling directly 332231;
10.12 refresh partial is dispatching events instead of calling directly 332231;
10.13 reset supported
10.14 load partial no xforms-link-error generated if @src invalid 333782;
10.15 send supported
10.16 message partial output inside message doesn't work correctly 366886;
10.17 Conditional Execution of XForms Actions supported
10.18 Iteration of XForms Actions supported

11. XForms Submission Model

Section Title Status Notes Bugs
11.1 submission partial From 1.1 we do not yet support @mode, @indent, @replace='text', @separator, @serialize, @target, header or method child elements
11.2 xforms-submit partial We currently limit (for security reasons) submission only back to the server that served the document. But the user can choose to remove this restriction on a site by site basis via a preference. Click for more details. 330557;
11.3 xforms-submit-serialize supported
11.4 xforms-submit-done supported
11.5 xforms-submit-error supported
11.6.1 resource supported
11.7.1 method unsupported
11.8 header unsupported
11.8.1 name unsupported
11.8.2 value unsupported
11.9 Submission Options supported
11.9.1 The get Submission Method supported
11.9.2 The post, multipart-post, form-data-post, and urlencoded-post Submission Methods supported
11.9.3 The put Submission Method supported
11.9.4 The delete Submission Method unsupported
11.9.5 Serialization as application/xml supported
11.9.6 Serialization as multipart/related partial 330557;
11.9.7 Serialization as multipart/form-data supported
11.9.8 Serialization as application/x-www-form-urlencoded supported
11.10 Replacing Data with the Submission Response partial @replace with value of 'text' not supported
11.11 Integration with SOAP supported

G. XForms and Styling

Section Title Status Notes Bugs
G.1 Pseudo-classes partial :read-only and :read-write are suported using :-moz-read-only and :-moz-read-write 313111;
G.2 Pseudo-elements unsupported We support ::value, ::repeat-index, and ::repeat-item through the attributes xf-value, xf-repeat-index, and xf-repeat-item. 271724;