- From: T. V. Raman <tvraman@almaden.ibm.com>
- Date: Fri, 13 Jul 2001 08:47:02 -0700
- To: joern turner <joern.turner@web.de>
- Cc: tvraman@almaden.ibm.com, www-forms@w3.org
Returning to the issue of "ordering" the ordering you get today on the WWW with HTML select multiple is mostly accidental --it's just that the common case works as expected. Ideally I'd like to set XForms up in a similar manner without adding too much baggage -- given this, and assuming that document order was preserved, I believe that both selectMany and repeat as specified should not yield any surprizes. An application that really really wanted to insist that the user only submit <person> <first>joe</first> <last>turner</last> </person> and not <person> <last>turner</last> <first>joe</first> </person> could assert that using the schema. So in the repeat/selectMany case, where this order is not insisted upon by the validation-- here is what might be expected to happen: Instance gets created at init time --there is an XML tree now capable of holding what the user selects using the controls -- selectMany: User checks third item --then the first item -- and then the fourth item from a list of 10 choices. Depending on how the processing model is set up we could either: A) capture the order in which he selected things B) Capture the selections in the order in which they appear in the model --hence the presentation-- I'd suggest (B) it preserves document order --and leads to the least amount of surprize. A more sophisticated application that wanted to let the user rank his choices, would have to do something smarter than use a vanila selectMany. In summary, selectMany populates a "set" --and "sets" are unordered collections for the very reason shown above. Similar reasoning for repeat.show above. >>>>> "joern" == joern turner <joern.turner@web.de> writes: joern> Hello, before starting i should state that i'm joern> really welcome the work about the joern> repeat-element. this solves a contiuous and joern> repeating ;) problem especially in web joern> form-processing. joern> from my understanding of the draft, the structure joern> of the instance can be constructed without joern> referring to a schema - simply by extracting this joern> information out of the binding-expression used in joern> the XForms UI. if this is not right, some or all joern> of the following may be irrelevant. joern> T. V. Raman wrote: >> Hi -- you're correct in that there is no way to >> reassemble a list of items on the server because of >> how WWW form post works today. >> >> However there is nothing inside the specification for >> repeat that claims we preserve order --perhaps we >> should make it even clearer. joern> Yes, you're right. That was just an assumption i joern> silently made. But, would'nt the user expect to joern> get the data back in the order they have been joern> inputted? Wouldn't the notion of a 'document joern> order' as it is common in XML be destroyed? joern> second, -- assuming you have a list of lists in joern> your instance-data which you use as initial data joern> (presets) or a preloaded instance, it is not joern> possible to reconstruct this list in a submit joern> without the usage of positional predicates. The joern> result (again the example from the draft) would joern> simply be: joern> <items> <item> <f1>first</f1> <f2>first</fi> joern> <f1>second</f1> <f2>second</f2> <f1>third</f1> joern> <f2>third</f2> </item> </items> joern> which is clearly a different semantic. maybe i'm joern> on the wrong track here, but i'm using the joern> algorithm which is described for joern> instance-initialization: evaluating the binding joern> expression from left to right and creating joern> appropriate children for each step, if it does joern> not exist already. although the brilliant joern> simplicity of that algorithm would get joern> complicated by positions, i couldn't think of any joern> other way to preserve the input order which i (as joern> you might have guessed by now) consider essential joern> for the usefullness of repeat. otherwise i would joern> urge the application using the XForms processor joern> to achieve this some way - which may be joern> complicated. >> Incidentally I'm surprized you raised this in >> connection with repeat --and not selectMany --both >> have the same problem --only difference is that >> selectMany is populating a schema list --repeat is >> populating something with more substructure joern> not exactly. - a selectMany (in html e.g. mapped joern> to a <select multiple="true" ...) will be send as joern> a single parameter: with parameter-name and an joern> array of values. The selected values occur in the joern> order they're displayed in the list. - at least joern> when you're using the serlvet-api to parse joern> parameters. joern> please excuse my lengthy explanations but as i joern> can hardly think of an application which does not joern> rely on some kind of 'natural' order, this seems joern> to be an important topic to me. >> -- Best Regards, --raman ------------------------------------------------------------ IBM Research: Human Language Technologies Phone: 1 (408) 927 2608 Fax: 1 (408) 927 3012 Email: tvraman@us.ibm.com WWW: http://www.cs.cornell.edu/home/raman PGP: http://emacspeak.sf.net/raman.asc Snail: IBM Almaden Research Center, 650 Harry Road San Jose 95120
Received on Friday, 13 July 2001 11:48:53 UTC