Implementors please read: poll about select1 and empty values

A question has come up about conformance and interoperability of XForms 
processors with regard to the behavior of select1 when a value is the 
empty string or whitespace only.

This message is a poll to find out how select1 with an empty item/value 
element behaves in existing XForms 1.1 implementations.  Based on the 
results of this poll we may add additional test cases, additional 
clarification, issue an erratum, or propose new features for XForms 1.2.
*
Background:*
The XForms 1.1 Recommendation says [1] about select1 (and select as well):

    "For both closed and open selections, any selection item with a
    storage value which is empty or which contains only white space
    characters must remain deselected."

*Discussion:*
Nick van den Bleeken tentatively reported that least one implementation 
supports a select1/item/label for the empty item/value.

John Boyer and I both noted that *select* has this implementation 
requirement because its space-separated values in list content are 
indistinguishable from empty.  In short, the absence of any selected 
item is ithe indication that no item is selected.

John further noted, however, that the requirement on *select1* is 
motivated not only by consistency with select, but also by another 
point, that the "required" MIP be used to indicate that a value has been 
set.  John noted that xsi:nil can also be used for this purpose, but is 
not well understood or implemented.

John suggested to form designers that a "none" value for any select1 
control-bound data would better be represented by a distinguished value 
chosen by the application, e.g. "none" or "n", rather than an empty value.

I noted that only if the XForms application and the data are co-designed 
can the form designer can satisfy this requirement, and that web 
resources may require an empty string to indicate a value of "none," and 
that allowing a binding of a label gives form designers the ability to 
express this UI.

As a result of this discussion, we are polling implementations and 
seeking feedback on the presentation and behavior of empty ref node 
values and empty item/value (and by extension, itemset) in select1.

*Test Case:*

I have produced a test and made it work using xsltforms.
It is available at http://xformstest.org/2010/12/select1-empty and 
please choose select1-empty.xml
We're asking implementors to adapt and run this test case and report 
behavior.
A sample report is below:

*Test Case Results Example
*For the sample I produced, here are the results for the select1 cases 
with an empty item/value.
(The test page also includes controls with no empty item/value).

no appearance:
displays as pulldown menu
empty value displays as a blank item inside select1. (to spec)
selecting the "(empty)" labeled item causes only that control to change. 
(partially to spec)
after that, selecting the unlabeled item causes all form controls bound 
to the node to change to the "(empty)" labeled item (not to spec)
selecting the "full" labeled item causes all controls to change to 
"full". (to spec)
selecting the "full" labeled item causes the blank item to disappear 
from all select1 controls, however the explicit "(empty)" choice 
remains. selecting the "(enpty)" labeled item again causes the blank 
item to re-appear in all select1 controls (???)


appearance=minimal:
displays as pulldown menu
same behavior as above

appearance=compact
displays as in-place visible menus with one selection allowed
same behavior as above

appearance="full"
displays as radio buttons; no blank or unlabeled radio button
empty value displays as a selected "(empty)" radio button. (NOT to spec)
selecting the "(empty)" labeled item causes all form controls to change 
to display the unlabeled item. (to spec)
selecting the "full" labeled item causes all controls to change to 
"full". (to spec)
selecting the "full" labeled item causes the blank item to disappear 
from all select1 controls, however the explicit "(empty)" choice remains;
selecting the "(empty)" labeled item again causes the blank item to 
re-appear in all select1 controls. (???)

Of the above, only the full appearance (radio) had a notable behavior: 
it offered no way to choose the empty item, and if the empty item were 
chosen by another control, it displayed with no selection.

Leigh.


[1] http://www.w3.org/TR/xforms11/#ui-selectOne

Received on Wednesday, 8 December 2010 18:12:09 UTC