]>
(must) Unless bound to form controls, instance data nodes are not presented to the user; consequently, there is no need for a form control corresponding to HTML input type="hidden".
(must) Assertion: navindex This gives the author control over the sequence in which form controls are traversed.
(must) Assertion Accesskey The value of this is typically a single character which when pressed together with a platform specific modifier key (e.g., the alt key) results in the focus being set to this form control.
accesskey
is respected.Assertion Accesskey (must) The user agent must provide a means of identifying the accesskeys that can be used in a presentation.
Accesskey (may) This may be accomplished in different ways by different implementations, for example through direct interaction with the application or via the user's guide.
Accesskey (should) The accesskey requested by the author might not be made available by the player (for example it may not exist on the device used, or it may be used by the player itself). Therefore the user agent should make the specified key available, but may map the accesskey to a different interaction behavior.
Appearance
Common A host language is expected to add attributes such as xml:lang as well as an attribute, typically named class, that holds a list of strings that can be matched by CSS class selectors.
Host language (should) A host language should add inline markup to the Inline content set.
Host language extensions (should) When the XForms Extension module is present, it too should be included in the UI Common content set.
Rendering Form controls when rendered display the underlying data values to which they are bound.
(Must)(May) While the data presented to the user through a form control must directly correspond to the bound instance data, the display representation is not required to match the lexical value.
(Should) For example, user agents should apply appropriate conventions to the display of dates, times, durations and numeric values including separator characters.
(must) Form controls that write simpleContent to instance data must do so exactly as defined by the XForms Action 10.1.9 The setvalue Element
All form controls that read simpleContent instance data must do so as follows:
(must) (?) Element nodes: if text child nodes are present, returns the string-value of the first text child node. Otherwise, returns "" (the empty string)
(must) Attribute nodes: returns the string-value of the node.
(must)m Text nodes: returns the string-value of the node.
(undefined) Namespace, processing instruction, comment, and the XPath root node: behavior is undefined.
(must) (should) Form controls must distinguish rendering between valid and invalid states. Control of this behavior should be made available to stylesheets.
(must)(should) Form controls must render upon request an explanation of the current state of a form control, including validity and associated model item properties. Control of this behavior should be made available to stylesheets.
(must) Form controls must provide a default explanation for the above when no user-specified explanation is available.
inputmode no assertions
(must) incremental when true, this form control will generate xforms-value- changing events. The default value for this attribute is false.
incremental
is respected as the user types in his
message.(must) Data Binding Restrictions: Binds to any simpleContent (except xsd:base64Binary, xsd:hexBinary or any datatype derived from these).
(must) Must allow entry of a lexical value for the bound datatype.
(should) Implementations should provide a convenient means for entry of datatypes and take into account localization and internationalization issues such as representation of numbers. (may) For example, an input bound to an instance data node of type xsd:date might provide a calendar control to enter dates; similarly, an input control bound to of type boolean might be rendered as a checkbox.
(must) Description: This form control is used for entering information that is considered sensitive, and thus not echoed to a visual or aural display as it is being entered, e.g., password entry.
xforms:secret
inputmode No assertion
(must) incremental when true, this form control will generate xforms-value- changing events. The default value for this attribute is false.
incremental=false
is respected on control
xforms:secret
(must) Data Binding Restrictions: Identical to input.
(must) In general, implementations, including accessibility aids, must render a "*" or similar character instead of the actual characters entered, and thus must not render the entered value of this form control.
[[Note: 'in general' must be deleted]]
inputmode
(must) incremental when true, this form control will generate xforms-value-changing events. The default value for this attribute is false.
incremental=true
.(May) In the above, the class attribute can be used by a style sheet to specify the display size of the form control. (move this test to hosting collection).
(must) Note that the constraints on how much text can be input are obtained from the underlying XForms Model definition and not from these display properties.
(must) Data Binding Restrictions: Binds to xsd:string or any derived simpleContent.
(must) Must allow entry of a lexical value for the bound datatype, including multiple lines of text.
(must) Description: This form control renders a value from the instance data,
(must) but provides no means for entering or changing data.
(must) It is typically used to display values from the instance, and is treated as display:inline for purposes of layout. [[delete "typically"]]
(must?) Element output can be used to display the value at a particular location in the instance by using a binding expression;
(must?) it can also be used to display the result of evaluating an XPath expression by specifying the XPath expression to be evaluated via attribute value instead of ref.
(must) Note that attributes ref and value on element output are mutually exclusive.
(no assertion) appearance This form control does not use the UI Common attribute group, but nevertheless still contains an appearance attribute, as defined above.
(must) value An XPath expression to be evaluated. The result of the evaluation is rendered by the form control.
(must) If binding attributes are present to select a node, this attribute has no effect.
(must) Data Binding Restrictions: Binds to any simpleContent.
(must) Must allow display of a lexical value for the bound datatype.
(should) Implementations should provide a convenient means for display of datatypes and take into account localization and internationalization issues such as representation of numbers.
(none) mediatype Space-separated list of suggested media types, used by the XForms Processor to determine which input methods apply.
(must) incremental When true, this form control will generate xforms-value-changing events. The default for this form control is false.
(must) Data Binding Restrictions: This form control can only be bound to datatypes xsd:base64Binary or xsd:hexBinary, or types derived by restriction from these.
upload
to field of type date
(should) Implementations with a file system should support file upload - selecting a specific file.
(must) The types of files presented by default must reflect the mediatype specified in the XForms Model, for example defaulting to only audio file types in the file dialog when the mediatype is "audio/*". In XForms 1.0, there is a 1:1 binding between a upload form control and one of the binary datatypes, although that single file may be compound (e.g. application/zip). [[Must?]]
(should)(may) Implementations with specific pen/digitizer hardware should (and implementations with other pointing devices may) support scribble - allowing in-place creation of pen-based data.
(should) Implementations with specific audio recording capabilities should support record audio - in-place recording of an audio clip.
(should) Implementations with a digital camera/scanner interface or screen capture should support acquire image - in-place upload of images from an attached device.
(should) Implementations with video recording capability should provide a record video option.
(should) Implementations with 3d capabilities should provide a 3d interface option.
(may) Implementations may provide proprietary implementations (for example, a mediatype of text/rtf could invoke an edit window with a proprietary word processing application)
(none) Implementations are encouraged to support other input devices not mentioned here.
(must) Implementations which cannot support upload for the given mediatype must make this apparent to the user.
(must) start Optional hint for the lexical starting bound for the range - a legal value for the underlying data. If provided, this value is used to further refine the constraints specified by the underlying model.
(must) end Optional hint for the ending bound for the range - a legal value for the underlying data. If provided, this value is used to further refine the constraints specified by the underlying model.
(should??) step Optional hint to use for incrementing or decrementing the value. Should be of a type capable of expressing the difference between two legal values of the underlying data. [[Should => must]]
(must) incremental When true, this form control will generate xforms-value-changing events. The default for this form control is false.
(must) Data Binding Restrictions: Binds only the following list of datatypes, or datatypes derived by restriction from those in the list: xsd:duration, xsd:date, xsd:time, xsd:dateTime, xsd:gYearMonth, xsd:gYear, xsd:gMonthDay, xsd:gDay, xsd:gMonth, xsd:float, xsd:decimal, xsd:double.
(must) Must allow input of a value corresponding to the bound datatype.
(should) Implementations should inform the user of the upper and lower bounds, as well as the step size,
(may) In graphical environments, this form control may be rendered as a "slider" or "rotary control".
(should => must) In the event of overlapping restrictions between the underlying datatype and the start and end hints, the most restrictive range should be used.
(must) Data Binding Restrictions: Binds to any node.
(must) Implementation Requirements: The user agent must provide a means to generate an xforms-activate event on the form control. Graphical implementations would typically render this form control as a push-button with the label on the button face.
(may) Style sheets can be used to style this form control as an image, hyperlink, or other presentation.
(missing) Relevant on binding attrs
(must) Data Binding Restrictions: Binds to any node.
(must) Implementation Requirements: Upon receiving event xforms-activate, this form control dispatches event xforms-submit to the submission element specified by required attribute submission.
(missing) Relevant on binding attrs
submit
dispatches event
xforms-submit
to the submission element.submit
can bind to
any node.(must) selection Optional attribute determining whether free entry is allowed in the list. Default is "closed".
(must) incremental When true, this form control will generate xforms-value-changing events. The default for this form control is true.
(may) Typically, a style sheet would be used to determine the exact appearance of form controls, though a means is provided to suggest an appearance through attribute appearance. The value of the attribute consists of one of the following values: "full": all choices should be rendered at all times. "compact": a fixed number of choices should be rendered, with scrolling facilities as needed "minimal": a minimum number of choices should be rendered, with a facility to temporarily render additional choices
(must) Data Binding Restrictions: any simpleContent capable of holding a sequence.
(must) The restriction to binding simpleContent exists when the choices are authored as part of the user interface control as shown in this section. Element itemset for creating dynamic selections described in 9.3.3 The itemset Element allows the available choices to be obtained from an XForms model, and when using that construct, the data binding restriction to simpleContent is relaxed.
(must) Implementation Requirements: The label for each choice must be presented,
(must) allowing at any number of selections, possibly none.
(must) This form control stores the values corresponding to the selected choices as a space separated list in the location addressed by attribute ref.
(must) The values to be stored are either directly specified as the contents of element value, or specified indirectly through binding attributes on element value.
(may) Note that the datatype bound to this form control may include a non-enumerated value space, e.g., xsd:string,
(may) or a union of a enumeration and a non-enumerated datatype (called an open enumeration).
(may) In this case, control select may have attribute selection="open".
(should=>must) The form control should then allow free data entry, as described in 8.1.2 The input Element.
(may) The form control may permit multiple values to be entered through free entry.
(must) For closed selections: If the initial instance value matches the storage value of one or more of the given items, those items are selected.
(must) If there is no match, no items are initially selected.
(must) For open selections: If the initial instance values match the storage value specified by one or more of the items, the all such matching items are selected.
(must) If the initial instance values do not match the storage value specified by one or more of the items, all such non-matching items are included as selected values, as if entered through free entry.
(must) Free entry text is handled the same as form control input 8.1.2 The input Element, possibly in multiplicity.
(must) When using dynamic selections with complexTypes, open selection has no effect.
(may) An accessibility aid might allow the user to browse through the available choices and leverage the grouping of choices in the markup to provide enhanced navigation through long lists of choices.
(must) selection Optional attribute determining whether free entry is allowed in the list. Default is "closed".
(must) incremental When true, this form control will generate xforms-value-changing events. The default for this form control is true.
(must) Data Binding Restrictions: Binds to any simpleContent.
(must) The restriction to binding simpleContent exists when the choices are authored as part of the user interface control as shown in this section.
(must) Element itemset for creating dynamic selections described in 9.3.3 The itemset Element allows the available choices to be obtained from an XForms model, and when using that construct, the data binding restriction to simpleContent is relaxed.
(must) Implementation Requirements: The label for each choice must be presented,
(must) allowing at all times exactly one selection.
(must) This form control stores the value corresponding to the selected choice in the location addressed by attribute ref.
(must) The value to be stored is either directly specified as the contents of element value, or specified indirectly through binding attributes on element value. [[order of which to choose?]]
(may) Note that the datatype bound to this form control may include a non-enumerated value space, e.g., xsd:string,
(may) or a union of a enumeration and a non-enumerated datatype (called an open enumeration).
(may) In this case, control select1 may have attribute selection="open".
(should) The form control should then allow free data entry, as described in 8.1.2 The input Element.
(must) For closed selections: If the initial instance value matches the storage value of one of the given items, that item is selected.
(must) If there is no match, the first item is initially selected.
(must) For open selections: If the initial instance value matches the storage value specified by one of the items, the first such matching item is selected.
(must) Otherwise, the selected value is the initial lexical value.
(must) Free entry text is handled the same as form control input 8.1.2 The input Element.
(may) User interfaces may choose to render this form control as a pulldown list or group of radio buttons, among other options.
(may) The appearance attribute offers a hint as to which rendering might be most appropriate,
(should) although any styling information (such as CSS) should take precedence.
no assertions
no assertions
(author must) Data Binding Restriction: All lexical values must be valid according to the datatype bound to the selection control.
value
(must) If inline content and a ref attribute are both specified, the ref attribute is used.
(must)[[vague]] This optional element provides a way for the upload form control to insert a filename, when available, that represents the chosen binary resource.
upload
(must???)[[vague]] This optional element provides a way for the upload form control to insert a mediatype, when available, that represents the chosen binary resource.
upload
(missing must) The label must be made available to the user
(must) Linking Attributes Link to external label.
(must) If the link traversal fails, it is treated as an error (4.5.3 The xforms-link-error Event).
(must) The label specified can exist in instance data, in a remote document, or as inline text. If more than one source of label is specified in this element, the order of precedence is: single node binding attributes, linking attributes, inline text.
(may?) An accessibility aid would typically speak the metadata encapsulated here when the containing form control gets focus.
(must) The optional element help provides a convenient way to attach help information to a form control. This is equivalent to a xforms:help event handler that responds with a <message type="modeless">.
(must) Linking Attributes Link to external help information.
(must) If the link traversal fails, it is treated as an error (4.5.3 The xforms-link-error Event).
(must) The message specified can exist in instance data, in a remote document, or as inline text. If more than one source of message is specified in this element, the order of precedence is: single node binding attributes, linking attributes, inline text.
(must) The optional element hint provides a convenient way to attach hint information to a form control. This is equivalent to a xforms:hint event handler that responds with a <message type="ephemeral">.
(must) Linking Attributes Link to external hint.
(must) If the link traversal fails, it is treated as an error (4.5.3 The xforms-link-error Event).
(must) The message specified can exist in instance data, in a remote document, or as inline text. If more than one source of message is specified in this element, the order of precedence is: single node binding attributes, linking attributes, inline text.
(may) The optional element alert provides a convenient way to attach alert or error information to a form control. Rendering of this element is implementation-defined.
(missing must) When it gets executed
(must) Linking Attributes Link to external alert.
(must) If the link traversal fails, it is treated as an error (4.5.3 The xforms-link-error Event).
(must) The message specified can exist at in instance data, in a remote document, or as inline text. If more than one source of message is specified in this element, the order of precedence is: single node binding attributes, linking attributes, inline text.