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() |