| section |
Feature |
Support |
Notes |
| 3 |
Document Structure |
| 3.1 |
The XForms namespace |
full |
x
|
| 3.2 |
XForms Core Attribute Collections |
| 3.2.1 |
Common Attributes (any) |
full |
x
|
| 3.2.2 |
Linking Attributes (src) |
full |
x
|
| 3.2.3 |
Single node binding attributes (ref,model,bind) |
full |
x
|
| 3.2.4 |
Nodeset binding attributes (nodeset,model,bind) |
full |
x
|
| 3.3 |
XForms Core Module |
| 3.3.1 |
model element |
full |
x
|
| 3.3.2 |
instance element |
full |
x
|
| 3.3.3 |
submission element |
partial |
Implemented attributes: action, method, encoding, ref, replace, separator. Not implemented attributes: version, indent, omit-xml-declaration, standalone, cdata-section-elements, . |
| 3.3.4 |
bind element |
full |
x
|
| 3.5 |
XForms extension module |
| 3.5.1 |
Extension element |
full |
no-op |
| 3.4 |
XForms MustUnderstand module |
| 3.4 |
xforms:mustUnderstand attribute |
full |
x
|
| 4 |
Processing model |
| 4.1 |
Events overview |
| 4.2 |
Initialization events |
| 4.2.1 |
xforms-model-construct |
full |
x
|
| 4.2.2 |
xforms-model-initialize |
full |
x
|
| 4.2.3 |
xforms-initialize-done |
full |
x
|
| 4.2.4 |
xforms-ui-initialize |
full |
x
|
| 4.2.5 |
xforms-form-control-initialize |
full |
x
|
| 4.2.6 |
xforms-model-destruct |
full |
ISSUE: since the browser core is doing the submission, there's no way to stop form from destructing. |
| 4.3 |
Interaction events |
| 4.3.1 |
xforms-next and xforms-previous |
none |
x
|
| 4.3.2 |
xforms-focus |
full |
x
|
| 4.3.3 |
xforms-help and xforms-hint |
partial |
xforms-help is supported. Hint element is supported, but not the xforms-hint event. |
| 4.3.4 |
xforms-refresh |
partial |
No-op, since the view is always up-to-date. ISSUE: no possibility to cancel the view from updating. |
| 4.3.5 |
xforms-revalidate |
full |
x
|
| 4.3.6 |
xforms-recalculate |
partial |
does not detect circular dependencies. |
| 4.3.7 |
xforms-rebuild |
full |
x
|
| 4.3.8 |
xforms-reset |
full |
x
|
| 4.3.9 |
xforms-submit |
partial |
does not check xsi:type or xforms:type before submission. Validates the whole instance, not only the part, which is submitted. |
| 4.4 |
Notification events |
| 4.4.1 |
xforms-activate |
full |
In button and selects. Spec unclear which elements should dispatch this. |
| 4.4.2 |
xforms-value-changing |
full |
x
|
| 4.4.3 |
xforms-value-changed |
full |
x
|
| 4.4.3 |
xforms-value-changed |
full |
x
|
| 4.4.4 |
xforms-select and xforms-deselect |
full |
x
|
| 4.4.5 |
xforms-scroll-first and xforms-scroll-last |
none |
x
|
| 4.4.6 |
xforms-insert and xforms-delete |
partial |
Context info missing. ISSUE: how to expose the context info? |
| 4.4.7 |
xforms-valid |
full |
Might be dispatched even if the state does not change. |
| 4.4.8 |
xforms-invalid |
full |
Might be dispatched even if the state does not change. |
| 4.4.9 |
DOMFocusIn |
full |
x
|
| 4.4.10 |
DOMFocusOut |
full |
x
|
| 4.4.11 |
xforms-readonly |
full |
Might be dispatched even if the state does not change. |
| 4.4.12 |
xforms-readwrite |
full |
Might be dispatched even if the state does not change. |
| 4.4.13 |
xforms-required |
full |
Might be dispatched even if the state does not change. |
| 4.4.14 |
xforms-optional |
full |
Might be dispatched even if the state does not change. |
| 4.4.15 |
xforms-enabled |
full |
Might be dispatched even if the state does not change. |
| 4.4.16 |
xforms-disabled |
full |
Might be dispatched even if the state does not change. |
| 4.4.17 |
xforms-submit-done |
none |
x
|
| 4.4.18 |
xforms-submit-error |
none |
x
|
| 4.5 |
Error Indications |
| 4.5.1 |
xforms-binding-exception |
full |
x
|
| 4.5.2 |
xforms-link-exception |
full |
x
|
| 4.5.3 |
xforms-link-error |
full |
x
|
| 4.5.4 |
xforms-compute-exception |
none |
x
|
| 5 |
Datatypes |
| 5.1 |
XML Schema built-in datatypes |
full |
x
|
| 5.2 |
XForms Datatypes |
| 5.2.1 |
xforms:listItem |
full |
x
|
| 5.2.2 |
xforms:listItems |
full |
x
|
| 5.2.3 |
xforms:dayTimeDuration |
full |
x
|
| 5.2.4 |
xforms:yearMonthDuration |
full |
x
|
| 6 |
Model item properties |
| 6.1 |
Model Item Property Definitions |
full |
x
|
| 6.1.1 |
type |
full |
x
|
| 6.1.2 |
readonly |
partial |
ISSUE: interaction with calculate not implemented. |
| 6.1.3 |
required |
partial |
ISSUE: interaction with readonly not implemented. |
| 6.1.4 |
relevant |
full |
x
|
| 6.1.5 |
calculate |
full |
x
|
| 6.1.6 |
constraint |
full |
x
|
| 6.1.9 |
p3ptype |
full |
no-op, since not supported by the browser |
| 6.2 |
Schema Constraints |
| 6.2.1 |
Atomic datatype |
full |
x
|
| 6.2.1 (1) |
Datatypes in schema document. |
full |
x
|
| 6.2.1 (2) |
Datatypes using xsi:type |
full |
x
|
| 6.2.1 (3) |
Datatypes, using xforms:type |
full |
x
|
| 7 |
XPath expressions |
| 7.1 |
XPath datatypes |
full |
Uses Xalan XPath implementation. |
| 7.2 |
Instance Data |
full |
x
|
| 7.2.1 |
The getInstanceDocument() Method |
full |
x
|
| 7.2.2 |
The rebuild() Method |
full |
x
|
| 7.2.3 |
The recalculate() Method |
full |
x
|
| 7.2.4 |
The revalidate() Method |
full |
x
|
| 7.2.5 |
The refresh() Method |
full |
In X-Smiles, view is always up-to-date |
| 7.3 |
Evaluation context |
full |
x
|
| 7.4 |
Binding expressions |
full |
x
|
| 7.4.1 |
Model Binding Expressions |
full |
x
|
| 7.4.2 |
UI Binding Expressions |
partial |
Some dynamic binding is not implemented, e.g. using index() in nodetest. |
| 7.4.3 |
UI Binding in other XML vocabularies |
full |
Other languages within X-Smiles could be extended to bind to XForms instance. |
| 7.5 |
XForms Core Function Library |
| 7.5 (1) |
XPath core functions |
full |
x
|
| 7.5 (2) |
XForms core functions |
full |
You can also use xforms namespace prefixed function names. |
| 7.6 |
Boolean Methods |
| 7.6.1 |
The boolean-from-string() |
partial |
Exception not supported. |
| 7.6.2 |
if() |
full |
x
|
| 7.7 |
Number Methods |
| 7.7.1 |
avg |
full |
x
|
| 7.7.2 |
min() |
full |
x
|
| 7.7.3 |
max() |
full |
x
|
| 7.7.4 |
count-non-empty() |
full |
x
|
| 7.7.5 |
index() |
partial |
Exception not supported. |
| 7.9 |
Date and Time Functions |
| 7.9.1 |
now() |
full |
x
|
| 7.9.2 |
The days-from-date() |
full |
x
|
| 7.9.3 |
seconds-from-dateTime() |
full |
x
|
| 7.9.4 |
seconds() |
full |
x
|
| 7.9.5 |
months() |
full |
x
|
| 7.7 |
Extension Functions |
| 7.7 |
Extension Functions |
none |
x
|
| 8 |
Form controls |
| 8.1 |
The XForms Form Controls Module |
| 8.1.1 |
Implementation Requirements Common to All Form Controls |
partial |
ISSUE: Attributes 'navindex', 'accesskey' not implemented. Attribute 'appearance' implemented for selects. |
| 8.1.2 |
input |
full |
Custom controls are provided for the following types: xsd:boolean, xsd:date |
| 8.1.3 |
secret |
full |
x
|
| 8.1.4 |
textarea |
full |
x
|
| 8.1.5 |
output |
partial |
Custom output are provided for the following types: xsd:boolean, xsd:date. |
| 8.1.6 |
upload |
full |
x
|
| 8.1.7 |
range |
partial |
Supports xsd:decimal, xsd:integer and derived types. Other datatype support missing. |
| 8.1.8 |
trigger |
full |
x
|
| 8.1.9 |
submit |
full |
x
|
| 8.1.10 |
select |
partial |
Only compact style. |
| 8.1.11 |
select1 |
full |
x
|
| EXTENSION |
selectboolean |
full |
NOTE: X-SMILES EXTENSION |
| 8.2 |
Common Markup for Selection Controls |
| 8.2.1 |
choices |
full |
Reads item/itemset children, does NOT show nesting |
| 8.2.2 |
item |
full |
x
|
| 8.2.3 |
value |
full |
x
|
| 8.3 |
Additional Elements |
| 8.3.1 |
filename |
full |
x
|
| 8.3.2 |
mediatype |
full |
x
|
| 8.3.3 |
label |
full |
x
|
| 8.3.4 |
help |
full |
x
|
| 8.3.5 |
hint |
full |
x
|
| 8.3.6 |
alert |
full |
x
|
| 9 |
XForms User Interface |
| 9.1 |
XForms Group Module |
full |
Works only in XHTML. |
| 9.1.1 |
group |
full |
Works only in XHTML. |
| 9.2 |
XForms Switch Module |
full |
Works only in XHTML. |
| 9.2.1 |
switch |
full |
Works only in XHTML. |
| 9.2.2 |
case |
full |
Works only in XHTML. |
| 9.2.3 |
toggle |
full |
Works only in XHTML. |
| 9.3 |
XForms Repeat Module |
partial |
Works only in XHTML. |
| 9.3.1 |
repeat |
full |
Works only with XML+XHTML/XHTML2 as the host language (not with SVG & SMIL). Does not support 'startIndex' or 'number' attributes |
| 9.3.2 |
Creating Repeating Structures Via Attributes |
none |
x
|
| 9.3.3 |
itemset |
full |
does not support complex types. |
| 9.3.4 |
copy |
full |
x
|
| 9.3.5 |
insert |
full |
x
|
| 9.3.6 |
delete |
full |
x
|
| 9.3.7 |
setindex |
full |
x
|
| 9.3.8 |
Repeat Processing |
full |
x
|
| 9.3.9 |
Nested Repeats |
full |
x
|
| 9.3.10 |
User Interface Interaction |
full |
number and startindex not supported. |
| 10 |
XForms Actions |
| 10.1 |
XForms Action Module |
| 10.1.1 |
action |
full |
x
|
| 10.1.2 |
dispatch |
full |
x
|
| 10.1.3 |
rebuild |
full |
x
|
| 10.1.4 |
recalculate |
full |
x
|
| 10.1.5 |
revalidate |
full |
x
|
| 10.1.6 |
refresh |
full |
ISSUE: view is always up to date |
| 10.1.7 |
setfocus |
full |
x
|
| 10.1.8 |
load |
full |
x
|
| 10.1.9 |
setvalue |
full |
x
|
| 10.1.10 |
send |
full |
x
|
| 10.1.11 |
reset |
full |
x
|
| 10.1.12 |
message |
full |
x
|
| 11 |
Submit |
| 11.1 |
The xforms-submit Event |
full |
ISSUE: non-relevat attributes are not removed from submission, while non-relevant elements are removed. |
| 11.2 |
Submission Options |
full |
x
|
| 11.3 |
Serialization as application/xml |
full |
x
|
| 11.4 |
Serialization as multipart/form-data |
full |
x
|
| 11.5 |
Serialization as application/x-www-form-urlencoded |
full |
x
|
| 11.6 |
The post, form-data-post, and urlencoded-post Submit Methods |
full |
HTTP post supported |
| 11.7 |
The put Submit Method |
full |
x
|
| 11.8 |
The get Submit Method |
full |
x
|
| F |
CSS styling (Non normative) |
| F.1 |
pseudo-classes |
full |
x
|
| F.2 |
pseudo-elements |
full |
Only usable with XHTML as the host. |
| F.3 |
examples |
full |
x
|
|
'background-color', 'color' |
full |
x
|
|
'font-family', 'font-size', 'font-weight' |
full |
x
|
|
'width', 'height' |
full |
x
|