- From: Mark Seaborne <mark@picoforms.com>
- Date: Wed, 5 Sep 2007 09:43:14 +0100
- To: John Boyer <boyerj@ca.ibm.com>
- Cc: Forms WG (new) <public-forms@w3.org>
Hi John,
I hope you had a good vacation :-)
I guess I see the model as a package of schema + instances, decorated
to give it a well defined operating context. I realise that as defined
it is not quite there, and perhaps I should just accept that. But it
seems a crying shame (to me) to be so close to something so useful, but
to be slowly getting further and further from the ideal.
To me a form control is just a tidy way of writing a set of actions
that invites receipt of a value from an external source - possibly, but
not necessarily, a human interacting directly with a user agent -
although obviously that is the major use case. I don't really see the
differentiation you underline between the interaction 'twixt form
control and model and 'twixt actions, or other external code and model.
It is all just code to me. If I define in my model that under certain
conditions anything matching this XPath expression is read-only, then
that is just what I mean.
I agree that one might wish to implement different rules depending on
whether an instance is altered one way or another; that can be true
whether there are form controls or not. I would argue that just as the
model honours the schema, so anything that binds to the model should
honour it. However, I have been caught out and disappointed many times
when, in my enthusiasm, I have attempted to author forms based on this
mistaken presumption.
I also agree that there is inconsistency in the text we have at the
moment, but I would argue for change in the opposite direction. I think
we should declare an intent to fix DOM access to instance data so that
the model _is_ taken into account. I also think that we should fix
XForms actions along the same lines. At the same time we need to make
sure an author can simply say such things as "this data, defined by the
model as writable is, in the context of my application, read-only to
form controls and script, but not to the setvalue action", for example.
Obviously not in the time frame of 1.1. :-)
Maybe we could introduce some mechanism for qualifying MIPs? It would
be nice to be able to say explicitly: "This node is read-only to form
controls when condition x is true, and read-only to everything when
condition y is true" Then we will all be happy :-)
All the best
Mark
Received on Wednesday, 5 September 2007 08:41:36 UTC