Steven Pemberton, W3C/CWI
Version date: 2006-03-23
Name | Namespace |
---|---|
XForms | http://www.w3.org/2002/xforms |
Events (ev) | http://www.w3.org/2001/xml-events |
Schema (xsd) |
http://www.w3.org/2001/XMLSchema |
Schema for instances (xsi) | http://www.w3.org/2001/XMLSchema-instance |
XHTML | http://www.w3.org/1999/xhtml |
Element | Attributes | Content Model |
---|---|---|
model | Events?, functions(QNameList)?, schema(list of anyURI)? | (instance | schema | submission | bind | Action)* |
instance | src(anyURI)? | (Any) |
bind | nodeset(XPath), relevant(XPath)?, required(XPath)?, readonly(XPath)?, constraint(XPath)?, calculate(XPath)?, type(QName)?, p3ptype(string)? | (bind)* |
submission | Events?, (ref(XPath) | bind(IDREF))?, action(anyURI), method("post"|"get"|"put"|"form-data-post"|"urlencoded-post"), version(NMTOKEN)?, indent(boolean)?, mediatype(string)?, encoding(string)?, omit-xml-declaration(boolean)?, standalone(boolean)?, cdata-section-elements(QNameList)?, replace("all"|"instance"|"none"|qname-but-not-ncname)?, instance (xsd:IDREF), separator(';' | '&')?, includenamespaceprefixes(NMTOKENS)? | Action* |
Method | Serialization | Schemes |
---|---|---|
post | xml | http(s) mailto |
put | xml | http(s) file |
get | url encoded | http(s) file |
urlencoded-post | url encoded | http(s) mailto |
form-data-post | multipart form data | http(s) mailto |
multipart-post | multipart related | http(s) mailto |
Element | Attributes | Content Model |
---|---|---|
input | Appearance?, Binding, inputmode(string)?, incremental(boolean)? | label, (UI Common)* |
secret | Appearance?, Binding, inputmode(string)?, incremental(boolean)? | label, (UI Common)* |
textarea | Appearance?, Binding, inputmode(string)?, incremental(boolean)? | label, (UI Common)* |
output | Appearance?, (Binding | value(XPath)) | label? |
upload | Appearance?, Binding, mediatype(string), incremental(boolean)? | label, filename?, mediatype?, (UI Common)* |
range | Appearance?, Binding, start(string)?, end(string)?, step(string)?, incremental(boolean)? | label, (UI Common)* |
trigger | Appearance, Binding? | label, (UI Common)* |
submit | Appearance, Binding?, submission(IDREF) | label, (UI Common)* |
select | Appearance, Binding, selection("open" | "closed")?, incremental(boolean)? | label, (List UI Common)+, (UI Common)* |
select1 | Appearance, Binding, selection("open" | "closed")?, incremental(boolean)? | label, (List UI Common)+, (UI Common)* |
Element | Attributes | Content Model |
---|---|---|
switch | Appearance?, Binding? | case+ |
repeat | Appearance?, Multibinding, startindex(positiveInteger)?, number(nonNegativeInteger)? | ((Form Controls) | group | repeat)* |
group | Appearance, Binding? | label?, ((Form Controls)|group|switch|repeat|(UI Common))* |
(various) | repeat-nodeset(XPath), repeat-model(IDREF), repeat-bind(IDREF), repeat-startindex(positiveInteger), repeat-number(nonNegativeInteger) | N/A |
Content Set | Attributes | Content Model |
---|---|---|
UI Common | - | help|hint|alert|Action |
List UI Common | - | choices|item|itemset |
UI Inline | - | output |
case | selected(boolean)? | label?, ((Form Controls)|group|switch|repeat)* |
choices | - | label?, (List UI Common)+ |
item | - | label, value, (UI Common)* |
itemset | Multibinding | label, (value|copy), (UI Common)* |
filename | Binding | - |
mediatype | Binding | - |
value | Binding? | (PCDATA|ANY)* |
copy | Binding? | - |
label | Binding?, src(anyURI)? | (PCDATA|(UI Inline))* |
help | Binding?, src(anyURI)? | (PCDATA|(UI Inline))* |
hint | Binding?, src(anyURI)? | (PCDATA|(UI Inline))* |
alert | Binding?, src(anyURI)? | (PCDATA|(UI Inline))* |
Attribute set | Attributes |
---|---|
Appearance | appearance("full"|"compact"|"minimal") |
Binding | (ref(XPath), model(IDREF)?) | bind(IDREF) |
Multibinding | (nodeset(XPath), model(IDREF)?) | bind(IDREF) |
Element | Attributes | Content Model |
---|---|---|
action | Events | (Action)+ |
delete | Events, Multibinding, at(XPath) | EMPTY |
dispatch | Events, name(NMTOKEN), target(IDREF), bubbles(boolean)?, cancelable(boolean)? | EMPTY |
insert | Events, Multibinding, at(XPath), position("before"|"after") | EMPTY |
load | Events, Binding?, resource(anyURI), show("new" | "replace")? | EMPTY |
message | Events, Binding?, src(anyURI)?, level("ephemeral" | "modeless" | "modal") | (PCDATA|UI Inline)* |
rebuild | Events, model(IDREF) | EMPTY |
recalculate | Events, model(IDREF) | EMPTY |
refresh | Events, model(IDREF) | EMPTY |
reset | Events, model(IDREF) | EMPTY |
revalidate | Events, model(IDREF) | EMPTY |
send | Events, submission(IDREF) | EMPTY |
setfocus | Events, control(IDREF) | EMPTY |
setindex | Events, repeat(IDREF), index(XPath) | EMPTY |
setvalue | Events, Binding, value(XPath)? | PCDATA |
toggle | Events, case(IDREF) | EMPTY |
Type (xsd: unless otherwise indicated) | Description |
---|---|
dateTime time date gYearMonth gYear gMonthDay gDay gMonth | Dates and times |
string | |
boolean | |
base64Binary hexBinary | |
float decimal double | |
anyURI | |
QName | |
normalizedString | Multiple whitespace replaced with a single space |
token | |
language | Language code |
Name NCName | |
ID IDREF IDREFS NMTOKEN NMTOKENS | |
integer nonPositiveInteger negativeInteger long int short byte nonNegativeInteger unsignedLong unsignedInt unsignedShort unsignedByte positiveInteger | |
xforms:dayTimeDuration xforms:yearMonthDuration | Durations |
xforms:listItem xforms:listItems | Type for <select> |
Axis | Shortcut |
---|---|
child |
(empty) |
parent | .. |
self | . |
attribute | @ |
ancestor | |
ancestor-or-self | |
descendant | |
descendant-or-self | // |
preceding-sibling | |
following-sibling | |
preceding | |
following | |
namespace |
| | Union |
* | Wildcard |
[] | Predicate |
+ - * div mod | Arithmetic |
= < <= > >= != and or | Boolean |
Function | Arguments | Returns | Description |
---|---|---|---|
avg | node-set | number | Average |
boolean-from-string | string | boolean | Type conversion |
count-non-empty | node-set | number | Count non-empty |
days-from-date | string | number | Days in epoch |
if | boolean, string, string | string | Conditional |
index | string | number | Repeat index |
instance | string | node-set | Locate instance |
max | node-set | number | Maximum |
min | node-set | number | Minimum |
months | string | number | Months in period |
now | - | string | Current time |
property | string | string | Feature value |
seconds | string | number | Seconds in period |
seconds-from-dateTime | string | number | Seconds in epoch |
Function | Arguments | Returns |
---|---|---|
last | - | number |
position | - | number |
count | nodeset | number |
id | - | objectnodeset |
local-name | nodeset? | string |
namespace-uri | nodeset? | string |
name | nodeset? | string |
string | object? | string |
concat | string, string, string* | string |
starts-with | string, string | boolean |
contains | string, string | boolean |
substring-before | string, string | string |
substring-after | string, string | string |
substring | string, number, number? | string |
string-length | string? | number |
normalize-space | string? | string |
translate |
string, string, string | string |
boolean | object | boolean |
not | boolean | boolean |
true | - | boolean |
false | - | boolean |
lang | string | boolean |
number | object? | number |
sum | nodeset | number |
floor | number | number |
ceiling | number | number |
round | number | number |
Attribute | Type |
---|---|
ev:observer |
IDREF |
ev:target | IDREF |
ev:event | NMTOKEN |
ev:handler | IDREF |
ev:phase | ("capture" | "default") |
ev:propagate | ("stop" | "continue") |
ev:defaultAction | ("cancel" | "perform") |
Event | Cancel | Bubbles | Target |
---|---|---|---|
Initialization Events | |||
xforms-model-construct | N | Y | <model> |
xforms-model-construct-done | N | Y | <model> |
xforms-ready | N | Y | <model> |
xforms-model-destruct | N | N | <model> |
Processing Events | |||
xforms-rebuild | Y | Y | <model> |
xforms-recalculate | Y | Y | <model> |
xforms-revalidate | Y | Y | <model> |
xforms-refresh | Y | Y | <model> |
Interaction Events | |||
xforms-previous | Y | N | <control> |
xforms-next | Y | N | <control> |
xforms-focus | Y | N | <control> |
xforms-help | Y | Y | <control> |
xforms-hint | Y | Y | <control> |
xforms-reset | Y | Y | <model> |
xforms-submit | Y | Y | <submission> |
DOMActivate | Y | Y | <control> |
Notification Events | |||
DOMFocusIn | N | Y | <control> |
DOMFocusOut | N | Y | <control> |
xforms-value-changed | N | Y | <control> |
xforms-select | N | Y | <item>, <case> or <itemset> |
xforms-deselect | N | Y | <item>, <case> or <itemset> |
xforms-scroll-first | N | Y | <repeat> |
xforms-scroll-last | N | Y | <repeat> |
xforms-insert | N | Y | <instance> |
xforms-delete | N | Y | <instance> |
xforms-valid | N | Y | <control> |
xforms-invalid | N | Y | <control> |
xforms-in-range | N | Y | <control> |
xforms-out-of-range | N | Y | <control> |
xforms-readonly | N | Y | <control> |
xforms-readwrite | N | Y | <control> |
xforms-required | N | Y | <control> |
xforms-optional | N | Y | <control> |
xforms-enabled | N | Y | <control> |
xforms-disabled | N | Y | <control> |
xforms-submit-done | N | Y | <submission> |
xforms-submit-error | N | Y | <submission> |
Error Notifications | |||
xforms-binding-exception | N | Y | <bind> |
xforms-link-exception | N | Y | <model> |
xforms-link-error | N | Y | <model> |
xforms-compute-exception | N | Y | <model> |
Selector | Matches |
---|---|
:valid and :invalid | datatype validity and 'constraint' bindings |
:in-range and :out-of-range | range, select1 and select controls where value doesn't match |
:required and :optional | 'required' bindings |
:read-only and :read-write | 'read-only' bindings |
:enabled and :disabled | 'relevant' bindings |
::value | The part of a control where the value is displayed/typed in |
::choices | The items part of a select1 or select |
::repeat-item | Any row in a repeat |
::repeat-index | The 'current' repeat row |
Construct |
---|
getInstanceDocument() |
rebuild() |
recalculate() |
rebuild() |
refresh() |