RE: Open selections

Rafael,
I think you've identified the fundamental difference in our
understanding.
 
I believe that open selections are a semantic description, saying that
the select permits the user to enter values that are not in the
enumeration.
It doesn't say anything about how the control should indicate to the
user that such entry is possible.  I agree that the user may want to
enter multiple such entries.
 
However, I don't believe that there is a need to label a particular
choice in the enumeration as the choice that means a choice not in the
enumeration.
An implementation may choose to present the typed-in choices as part of
the visual display list, or it may choose to stack up multiple text
boxes outside the selection widget, or it may choose some other
presentation method, but I don't believe the intent is that the user
must select a particular choice in order to enter a choice not in the
list.
 
I believe that if you want to make your implementation display the
non-enumerated values inside the selection widget, and want to allow the
user to enter a name and a value for multiple choices, you can do that.
But if you want to give the form author control over the text that is
displayed near the non-enuerated values input area, you would need to
use a extension element (or vary from the recommendation), because the
values that the user has entered don't have corresponding entries in the
select choice or itemset.
 
I think you can probably achieve the effect you want, within XForms 1.0,
with something like this:
 
<instance id="main">
   <data xmlns="">
      <foo>a</foo>
   </data>
</instance>
 
<instance id="choices">
   <data xmlns="">
     <item><label>A</label><value>a</value></item>
     <item><label>B</label><value>b</value></item> 
     <item><label>C</label><value>c</value></item>
     <item><label>Your Choice</label><value /></item>
   </data>
</instance>
 
<select ref="instance('main')/foo">
  <label>Preference</label>
  <itemset nodeset="instance('choices')/item">
     <label ref="label"/>
     <value ref="value" />
  </itemset>
</select>
 
<input ref="instance('choices')/item/value[.='']">
   <label>Your Choice</label>
</input>
 
 
The input is them bound to the item value in the itemset that is empty,
if there is one.  Once you exit the input, it will change the value in
the itemset, and the input will go away in the refresh, because it will
not be bound to any node.  You can use an insert to add another empty
element if you want.
 
Leigh.
 
   

 
________________________________

From: Rafael Benito [mailto:rbenito@satec.es] 
Sent: Thursday, June 29, 2006 2:31 PM
To: Klotz, Leigh; www-forms@w3.org
Subject: Open selections


 	

   Leigh,
 
I am not sure we are understanding each other.
 
    My point is that it is the author who wants to label open
selections. Maybe he has not to specify it but he WANTS to do it and I
still do not know why the author can label enumerated values and can not
label open selections in the same way.
 
    I think the approach proposed by us with the empty values is an
improvement over what it is currently in the spec and also clarifies
something rather vague.
 
    Rafael

Received on Thursday, 29 June 2006 22:40:48 UTC