- From: Klotz, Leigh <Leigh.Klotz@xerox.com>
- Date: Thu, 29 Jun 2006 15:40:26 -0700
- To: "Rafael Benito" <rbenito@satec.es>, <www-forms@w3.org>
- Message-ID: <E254B0A7E0268949ABFE5EA97B7D0CF401F9747B@usa7061ms01.na.xerox.net>
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
Attachments
- image/gif attachment: Logo_sistemas.gif
Received on Thursday, 29 June 2006 22:40:48 UTC