Looking For

Release Notes for Preview Version 5 - April, 2006

Table of Contents

  1. Hardware/Software Requirements
  2. HTTP Server Requirements
  3. W3C XForms - Document Structure
  4. W3C XForms - Processing Model
  5. W3C XForms - Datatypes
  6. W3C XForms - Model Item Properties
  7. W3C XForms - XPath Expressions in XForms
  8. W3C XForms - Form Controls
  9. W3C XForms - XForms User Interface
  10. W3C XForms - XForms Actions
  11. W3C XForms - Submit
  12. Security and Cross Domain Submission
  13. Styling XForms
  14. Comments and Filing Bugs
  15. Where to Find More Information

1. Hardware/Software Requirements

Windows (Client)

Operating Systems: 98 Second Edition, Millenium Edition, NT 4.0, 2000, XP
Processor: Pentium 233MHz (or faster)
Memory: 64MB
Disk Space: 52MB

Linux (Client)

Operating Systems: RedHat 7.0 (or later), Debian 3.0 (or later), SuSE 7.2 (or later)

Or a version of Linux with kernel 2.2.14 (or later) and the following library versions (or compatible):

  • glibc 2.2
  • GTK 1.2.x (1.2.5 preferred)
  • XFree86 3.3.x
  • libstdc++ 2.9.0
Processor: Pentium 233MHz (or faster)
Memory: 64MB
Disk Space:  52MB

Mac (Client)

Operating Systems: Mac OS X 10.1.x
Mac OS X 10.2.x (or later)
Processor: G3 266MHz
Memory:  64MB
Disk Space:  72MB

2. HTTP Server Requirements

The HTTP server must be able to serve XHTML (i.e., application/xhtml+xml) content.

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 302168;
3.3.1 model partial @functions not supported. Not currently limiting author to one schema per namespace within model 299170; 299173;
3.3.2 instance supported
3.3.3 submission partial 278761; 278762; 315712; 326452;
3.3.4 bind partial Using the index() function in binds does not work. 292333; 307421; 307420;
3.4 MustUnderstand Module unsupported 300757;
3.5.1 Extension Module unsupported 300760;

4. Processing Model (Events)

Section Title Status Notes Bugs
4 Processing Model (Events) partial 278448;
4.2 Initialization Events supported
4.2.1 xforms-model-construct partial not correctly generating xforms-link-exception if schema load fails 332604;
4.2.2 xforms-model-construct-done supported
4.2.3 xforms-ready supported
4.2.4 xforms-model-destruct partial This event fires but a handler that requires the ability to show windows in the handler will have problems
4.3.1 xforms-next xforms-previous supported
4.3.2 xforms-focus supported
4.3.3 xforms-help xforms-hint supported
4.3.4 xforms-refresh supported
4.3.5 xforms-revalidate supported
4.3.6 xforms-recalculate supported
4.3.7 xforms-rebuild supported
4.3.8 xforms-reset supported
4.3.9 xforms-submit supported
4.4 Notification Events partial We need to set context information for some events 280423;
4.4.1 DOMActivate supported
4.4.2 xforms-value-changed supported
4.4.3 xforms-select xforms-deselect supported
4.4.4 xforms-scroll-first xforms-scroll-last supported
4.4.5 xforms-insert xforms-delete supported We do not set the event context information
4.4.6 xforms-valid supported
4.4.7 xforms-invalid supported
4.4.8 DOMFocusIn supported
4.4.9 DOMFocusOut supported
4.4.10 xforms-readonly supported
4.4.11 xforms-readwrite supported
4.4.12 xforms-required supported
4.4.13 xforms-optional supported
4.4.14 xforms-enabled supported
4.4.15 xforms-disabled supported
4.4.16 xforms-in-range unsupported 300248;
4.4.17 xforms-out-of-range unsupported 300248;
4.4.18 xforms-submit-done supported
4.4.19 xforms-submit-error partial This event will not be generated if the request returns an error page. We also do not set context info on the event, yet. 310125;
4.5.1 xforms-binding-exception supported
4.5.2 xforms-link-exception partial Inconsistent behavior between locally and served documents. We also do not set context info on the event, yet 306846;
4.5.3 xforms-link-error partial Not yet generated by load. We also do not set context info on the event, yet. 300255; 333782;
4.5.4 xforms-compute-exception supported We do not set the context info on the event, yet
4.6.1 Event Sequencing For input, secret, textarea, range, upload supported
4.6.2 Event Sequencing For output supported
4.6.3 Event Sequencing For select, select1 partial event sequencing wrong for select1 332242;
4.6.4 Event Sequencing For trigger supported
4.6.5 Event Sequencing For submit supported
4.6.6 Sequence: Selection w/o Value Change supported
4.6.7 Value Change w/Focus Change supported
4.6.8 Activating a Trigger supported
4.6.9 Submission supported

5. Datatypes

Section Title Status Notes Bugs
5.1 XML Schema Built-in Datatypes partial As noted in list below 310962; 326530;
5.2.1 xforms:listItem supported
5.2.2 xforms:listItems supported
5.2.3 xforms:dayTimeDuration supported
5.2.4 xforms:yearMonthDuration supported

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 313315; 313766;
6.1.2 readonly supported
6.1.3 required supported
6.1.4 relevant supported
6.1.5 calculate supported
6.1.6 constraint supported
6.1.7 p3ptype unsupported 279049;
6.2 Atomic Datatype partial We will support simpleType's using length, minlength, maxlength, pattern, maxinclusive, mininclusive, maxexclusive, minexclusive, totaldigits, and fractiondigits

7. XPath Expression in XForms

Section Title Status Notes Bugs
7.1 XPath Datatypes supported
7.2 Feature string for the hasFeature method call supported
7.3.1 getInstanceDocument() supported
7.3.2 rebuild() supported
7.3.3 recalculate() supported
7.3.4 revalidate() supported
7.3.5 refresh() supported
7.4 Evaluation Context partial 324468;
7.5.1 Dynamic Dependencies partial Work around in place for now 265212;
7.5.2 Model Binding Expressions supported
7.5.3 UI Binding Expressions partial Scenarios exist where controls contained inside other controls inside a repeat won't be bound correctly 333638; 310276; 305060;
7.5.4 UI Binding in other XML vocabularies unsupported no requirements here as of yet
7.5.5 Binding Examples n/a
7.6 XForms Core Function Library supported
7.7.1 boolean-from-string() supported
7.7.2 if() supported
7.8.1 avg() supported
7.8.2 min() supported
7.8.3 max() supported
7.8.4 count-non-empty() supported
7.8.5 index() partial binds using index() is not working, and calling index() on a wrong id does not return NaN. 292333; 334018;
7.9.1 property() partial returns basic for conformance-level, should return full 334333;
7.10.1 now() supported
7.10.2 days-from-date() supported
7.10.3 seconds-from-dateTime() supported
7.10.4 seconds() supported
7.10.5 months() supported
7.11.1 instance() supported
7.12 Extension Functions unsupported no requirements here as of yet

8. Form Controls

Section Title Status Notes Bugs
8.1.1 Common Requirements n/a
8.1.2 input partial 331984;
8.1.3 secret partial 331984;
8.1.4 textarea partial 331984;
8.1.5 output partial output won't go irrelevant if it has a bad bind 293571; 305196; 310276; 330396;
8.1.6 upload partial Mediatype attribute limited, doesn't handle relevant/readonly well 313768; 329376;
8.1.7 range partial 316353; 316354; 316355; 331987; 332221;
8.1.8 trigger supported
8.1.9 submit supported
8.1.10 select partial @selection does not work. 282840; 333619;
8.1.11 select1 partial There are some resize issues, select/deselect/valuechange firing in wrong order. Also missing some html:select capabilities. 282840; 303351; 303353; 303865; 332242; 333464; 333529;
8.2.1 choices supported
8.2.2 item supported
8.2.3 value supported
8.3 filename supported
8.3.2 mediatype partial 313768;
8.3.3 label partial Labels for items inside a choices element has bind problems. Clicking on a label doesn't focus the owning control, and we'd like to expand how we render labels bound to different, unique types 284068; 297083;
8.3.4 help partial @src only works with absolute URLs 329106;
8.3.5 hint partial hint has trouble displaying with select1 329617;
8.3.6 alert supported

9. XForms User Interface

Section Title Status Notes Bugs
9.2.1 switch supported
9.2.2 case partial 302497; 329143;
9.2.3 toggle supported
9.3 Repeat Module partial 264329; 273706;
9.3.1 repeat partial 302026; 302922;
9.3.2 Creating Repeating Structures Via Attributes unsupported 280368;
9.3.3 itemset supported
9.3.4 copy supported
9.3.5 insert partial We need to better handle when @at evaluates to NaN 282828; 303198;
9.3.6 delete partial We need to better handle when @at evaluates to NaN 282828; 303198;
9.3.7 setindex supported
9.3.8 Repeat Processing partial index not set correctly in some nested repeat scenarios 282828; 318779;
9.3.9 Nested Repeats supported
9.3.10 User Interface Interaction partial No support for @number 302026;

10. XForms Actions

Section Title Status Notes Bugs
10.1 XForms Action Module n/a
10.1.1 action supported
10.1.2 dispatch supported
10.1.3 rebuild partial is dispatching events instead of calling directly 332231;
10.1.4 recalculate partial is dispatching events instead of calling directly 332231;
10.1.5 revalidate partial is dispatching events instead of calling directly 332231;
10.1.6 refresh partial is dispatching events instead of calling directly 332231;
10.1.7 setfocus supported
10.1.8 load partial no xforms-link-error generated if @src invalid 333782;
10.1.9 setvalue supported
10.1.10 send partial send with submission who uses @replace="instance" regressed 332292;
10.1.11 reset supported
10.1.12 message partial Ephemeral doesn't support @src, yet, and doesn't prioritize correctly when both bind and inner text set. 300870;
10.1.13 insert, delete, setindex partial deleting all nodeset items won't zero out repeat index 334015;

11. Submit

Section Title Status Notes Bugs
11.1 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.2 Submission Options supported
11.3 Serialization as application/xml supported
11.4 Serialization as multipart/related supported
11.5 Serialization as multipart/form-data supported
11.6 Serialization as application/x-www-form-urlencoded supported
11.7 The post, multipart-post, form-data-post, and urlencoded-post Submit Methods supported
11.8 put supported
11.9 get supported

12. Security and Cross Domain Submission

By default, Mozilla's XForms implementation does not allow cross domain transactions. This means that a XForm loaded from one web domain will NOT be allowed, by default, to load data or submit data to a domain different from the domain that served the XForm. This policy also includes port numbers as well as protocols. So a form loaded from http://www.foo.com:8080 may not access https://www.foo.com:8080, http://www.foo.com:9080, or http://www.foo.com.

However, Mozilla's XForms implementation does allow the user to override this restriction by using a whitelist.

  1. In Mozilla Firefox, open to the browser's preferences by selecting File->Tools->Options... from the browser menubar
  2. Choose the "Content" section
  3. Check the "Allow XForms to submit data to other domains" checkbox. By selecting this option you are allowing all cross domain transactions made by trusted sites, including submission and external instance loading.
  4. Click on the "Allowed Sites" pushbutton for this item
  5. Enter each domain that you choose to trust to serve XForms which initiate cross domain transactions. For example, if the form http://www.mozilla.org/projects/xforms/sample1.xhtml needs to to load instance data from http://www.foo.org, then you need to add www.mozilla.org to the Allowed Sites list.

Note: you'll see a "XForms Error (14): Security check failed!" error in your JavaScript Console if a cross-domain transaction is initiated by a XForm loaded from a domain that is not whitelisted.

Note also, that the cross domain check also includes forms loaded from file://. Forms loaded from that URL should be local files, and thus trusted, but it is not always the case. So there is not automatic "whitelisting" of local files.

13. Styling XForms

Pseudo classes

In the W3C XForms specification, pseudo-classes can be used to select elements based on XForms criteria.  This release of the Mozilla XForms product does support pseudo-classes, with the exception of :read-only and :read-write. Until Mozilla supports these pseudo classes on elements in general, Mozilla XForms authors may use :-moz-read-only and :-moz-read-write.   For example, to give all inputs values a blue background if they are readonly, the following CSS is used:

	@namespace xf url("http://www.w3.org/2002/xforms");
	xf|input:-moz-read-only .xf-value {
	  background-color: blue;
	}
      

Supported pseudo-classes in this release are :valid, :invalid, :enabled, :disabled, :required, :optional, :-moz-read-write and :-moz-read-only.

Pseudo Elements

There is currently no support for pseudo elements. Instead the author can use the normal classes xf-value, xf-repeat-index and xf-repeat-item.

14. Comments and Filing Bugs

Comments

Please see the Mozilla XForms project page for the latest information about forums being used to discuss Mozilla XForms.

Filing Bugs

If problems are found with the Mozilla XForms product, a bug should be opened against the XForms component, using Mozilla's bug-reporting mechanism.

15. Where to Find More Information

Limitations and Custom Extensions

http://developer.mozilla.org/en/docs/XForms:Mozilla_XForms_Specials

As this is still a preview release, there are still a few bugs and limitations (as can be seen above). This page describes the major limitations and the Mozilla XForms custom extensions to the XForms standard.

Mozilla XForms Project

http://www.mozilla.org/projects/xforms/

Information regarding the XForms initiative for Mozilla. It contains the list of contacts for the project, an abstract summary, and a list of features with associated bugs.

W3C XForms

http://www.w3.org/MarkUp/Forms/

Site detailing the XForms specifications (1.0 and upcoming 1.1). Details the history of the specification, working group, and supported applications and browsers. Also contains an XForms 1.0 test suite.