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 |
No | bug 278448 |
| 4.3.2 | xforms-focus |
Yes | |
| 4.3.3 | xforms-help |
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 |
Partial | Works for switch but not select or select1. bug 278448 |
| 4.4.4 | xforms-scroll-first |
Yes | |
| 4.4.5 | xforms-insert |
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 Forinput, secret, textarea, |
Yes | |
| 4.6.2 | Event Sequencing For output |
Yes | |
| 4.6.3 | Event Sequencing Forselect, 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 thehasFeature 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 asapplication/xml |
Yes | |
| 11.4 | Serialization asmultipart/related |
Yes | |
| 11.5 | Serialization asmultipart/form-data |
Yes | |
| 11.6 | Serialization asapplication/x-www-form-urlencoded |
Yes | |
| 11.7 | The post, multipart-post, andurlencoded-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.
- In Mozilla Firefox, open to the browser's preferences by selecting File->Tools->Options... from the browser menubar
- Choose the "Content" section
- 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.
- Click on the "Allowed Sites" pushbutton for this item
- 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.orgIf 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.