Mozilla XForms Preview 2 Release Notes - October 11, 2005


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. Cross Domain Transactions
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

HTTP Server

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


3. W3C XForms - Document Structure

Section Title Supported Notes
3.1 Namespaces Yes  
3.2.1 Common Attributes Yes  
3.2.2 Linking Attributes Yes  
3.2.3 Single-Node Binding Attributes Yes  
3.2.4 Node-Set Binding Attributes Yes  
3.2.5 Model Item Property Attributes Partial bug 302168
3.3.1 model Partial  @functions not supported.  Not currently limiting author to one schema per namespace within model
3.3.2 instance Yes  
3.3.3 submission Partial limitations as noted in bugs 278761, 278762, 301571, and 309546
3.3.4 bind Partial Using the index() function in binds doesn't work and binds are not as static as they should be.  Please refer to bugs 292333, 307421 and 307420 for more information
3.4 MustUnderstand Module No  
3.5.1 extension No  


4. W3C XForms - Processing Model (Events)

Section Title Supported Notes
4.2.1 xforms-model-construct Yes  
4.2.2 xforms-model-construct-done Yes  
4.2.3 xforms-ready Yes  
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 as noted in bug 299258.
4.3.1 xforms-next
xforms-previous
No bug 278448
4.3.2 xforms-focus Yes  
4.3.3 xforms-help
xforms-hint
Yes  
4.3.4 xforms-refresh Yes  
4.3.5 xforms-revalidate Yes  
4.3.6 xforms-recalculate Yes  
4.3.7 xforms-rebuild Yes  
4.3.8 xforms-reset Yes  
4.3.9 xforms-submit Yes  
4.4.1 DOMActivate Yes  
4.4.2 xforms-value-changed Yes  
4.4.3 xforms-select
xforms-deselect
Partial Works for switch but not select or select1. bug 278448
4.4.4 xforms-scroll-first
xforms-scroll-last
Yes  
4.4.5 xforms-insert
xforms-delete
Partial we don't set context info, yet
4.4.6 xforms-valid Yes  
4.4.7 xforms-invalid Yes  
4.4.8 DOMFocusIn No bug 299379
4.4.9 DOMFocusOut No bug 299379
4.4.10 xforms-readonly Yes  
4.4.11 xforms-readwrite Yes  
4.4.12 xforms-required Yes  
4.4.13 xforms-optional Yes  
4.4.14 xforms-enabled Yes  
4.4.15 xforms-disabled Yes  
4.4.16 xforms-in-range No bug 300248
4.4.17 xforms-out-of-range No bug 300248
4.4.18 xforms-submit-done Yes  
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. bug 310125
4.5.1 xforms-binding-exception Partial duplicate MIP bindings does not currently generate the error. bug 303926
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. bug 306846
4.5.3 xforms-link-error Partial not yet generated by hint, help, alert or message. We also do not set context info on the event, yet. bug 300255
4.5.4 xforms-compute-exception Partial we don't set the context info on the event, yet
4.6.1 Event Sequencing For
input, secret, textarea,
range, upload
Yes  
4.6.2 Event Sequencing For output Yes  
4.6.3 Event Sequencing For
select, select1
Yes as noted in 4.6.6 and 4.6.7
4.6.4 Event Sequencing For trigger Yes  
4.6.5 Event Sequencing For submit Yes  
4.6.6 Sequence: Selection w/o Value Change No Need to implement xforms-select/deselect. bug 299273
4.6.7 Value Change w/Focus Change Yes  
4.6.8 Activating a Trigger Yes  
4.6.9 Submission Yes  


5. W3C XForms - Datatypes

Section Title Supported Notes
5.1 XML Schema Built-in Datatypes Partial as noted in list below. Also limited by bugs 304968, 305096 and 310962
5.2.1 xforms:listItem Yes  
5.2.2 xforms:listItems Yes  
5.2.3 xforms:dayTimeDuration Yes  
5.2.4 xforms:yearMonthDuration Yes  

Supported types: string, gday, gmonth, gyear, gyearmonth, gmonthday, datetime, date, time, duration, integer, float, byte, decimal, anyURI, and base64Binary


6. W3C XForms - Model Item Properties

Section Title Supported Notes
6.1.1 type Parial limited to types mentioned above
6.1.2 readonly Yes  
6.1.3 required Yes  
6.1.4 relevant Yes  
6.1.5 calculate Yes  
6.1.6 constraint Yes  
6.1.7 p3ptype No bug 279049
6.2 Atomic Datatype Partial We will support simpleType's using length, minlength, maxlength, pattern, maxinclusive, mininclusive, maxexclusive, minexclusive, totaldigits, and fractiondigits


7. W3C XForms - XPath Expression in XForms

Section Title Supported Notes
7.1 XPath Datatypes Yes  
7.2 Feature string for the
hasFeature method call
Yes  
7.3.1 getInstanceDocument() Partial bug 305184
7.3.2 rebuild() Partial bug 310138
7.3.3 recalculate() Yes  
7.3.4 revalidate() Yes  
7.3.5 refresh() Yes  
7.4 Evaluation Context Yes  
7.5.1 Dynamic Dependencies Partial Worked around for now. bug 265212
7.5.2 Model Binding Expressions Yes  
7.5.3 UI Binding Expressions Partial scenarios exist where output isn't refreshed all of the time as well as nodes contained by a group not always rebound correctly. As noted in bugs 310276 and 305060.
7.5.4 UI Binding in other
XML vocabularies
No no requirements here as of yet
7.5.5 Binding Examples n/a  
7.6 XForms Core Function Library Partial Known bug affects some XPath function calls. bug 311036
7.7.1 boolean-from-string() Yes  
7.7.2 if() Yes  
7.8.1 avg() Yes  
7.8.2 min() Yes  
7.8.3 max() Yes  
7.8.4 count-non-empty() Yes  
7.8.5 index() Partial binds using index() are not working. bug 292333
7.9.1 property() Yes  
7.10.1 now() Yes  
7.10.2 days-from-date() Yes  
7.10.3 seconds-from-dateTime() Yes  
7.10.4 seconds() Yes  
7.10.5 months() Yes  
7.11.1 instance() Yes  
7.12 Extension Functions No no requirements here as of yet


8. W3C XForms - Form Controls

Section Title Supported Notes
8.1.1 Common Requirements -  
8.1.2 input Partial Handles text, but no custom controls yet. For example, when bound to date type still shows as a text input field. bug 283344.
8.1.3 secret Yes  
8.1.4 textarea Yes  
8.1.5 output Partial Known problems are with refreshing and setting context for contents. bugs 293571, 305196, 310276
8.1.6 upload Partial no support for @mediatype or xf:filename and xf:mediatype children as noted in bug 275453
8.1.7 range No bug 271044
8.1.8 trigger Yes  
8.1.9 submit Yes  
8.1.10 select Partial @selection not implemented, yet. Bug 282840
8.1.11 select1 Partial there are some resize issues and @appearance not implemented here, yet. Also missing some html:select capabilities. bugs 303351, 303353 and 303865 cover these issues.
8.2.1 choices Yes  
8.2.2 item Yes  
8.2.3 value Yes  
8.3 filename No bug 275453
8.3.2 mediatype No bug 275453
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. Coverd by bugs 284068, 297083, and 311019
8.3.4 help Yes  
8.3.5 hint Yes  
8.3.6 alert Yes  


9. W3C XForms - XForms User Interface

Section Title Supported Notes
9.2.1 switch Yes  
9.2.2 case Partial bug 302497
9.2.3 toggle Yes  
9.3.1 repeat Partial various issues addressed in bugs 264329 and 273706
9.3.2 Creating Repeating
Structures Via Attributes
No bug 280368
9.3.3 itemset Yes  
9.3.4 copy No bug 279063
9.3.5 insert Partial does not properly set repeat-index, yet and we need to better handle when @at evaluates to NaN. bugs 282828 and 303198
9.3.6 delete Partial does not properly set repeat-index, yet and we need to better handle when @at evaluates to NaN. bugs 282828 and 303198
9.3.7 setindex Yes  
9.3.8 Repeat Processing Partial we don't properly set repeat-index with insert and delete. bug 282828.
9.3.9 Nested Repeats Yes  
9.3.10 User Interface Interaction No No support for @number. Bug 302026


10. W3C XForms - XForms Actions

Section Title Supported Notes
10.1 XForms Action Module -  
10.1.1 action Yes  
10.1.2 dispatch Yes  
10.1.3 rebuild Partial bug 310138
10.1.4 recalculate Yes  
10.1.5 revalidate Yes  
10.1.6 refresh Yes  
10.1.7 setfocus Yes  
10.1.8 load Yes  
10.1.9 setvalue Yes  
10.1.10 send Yes  
10.1.11 reset Yes  
10.1.12 message Partial Ephemeral doesn't support @src, yet, and doesn't prioritize correctly when both bind and inner text set.
10.1.13 insert, delete, setindex Partial insert and delete don't properly set repeat index. bug 282828


11. W3C XForms - Submit

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


12. Cross Domain Transactions

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.


13. Styling XForms

In the W3C XForms specification, pseudo-classes (http://www.w3.org/TR/2003/REC-xforms-20031014/sliceF.html#id2644859) can be used to select elements based on XForms criteria.  This release of the Mozilla XForms product does not support pseudo-classes, but instead uses attributes.  This will be fixed for the final release.  For example, to give all inputs a red background if they are invalid, the following CSS is used:

@namespace xf url("http://www.w3.org/2002/xforms");
xf|*[invalid] input {
  background-color: red;
}

Supported attributes in this release are valid, invalid, enabled, disabled, required, optional, read-write and read-only.


14. Comments and Filing Bugs


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

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


Filing Bugs
http://bugzilla.mozilla.org

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


Mozilla XForms
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://w3c.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.