- From: John Boyer <boyerj@ca.ibm.com>
- Date: Tue, 9 Oct 2007 18:16:23 -0700
- To: Forms WG (new) <public-forms@w3.org>
- Message-ID: <OFF444D71A.6F937DCD-ON88257370.00053B38-88257370.0006FE9A@ca.ibm.com>
Please visit the latest editor's draft [A], which contains the changes needed for rigorous definition of dynamic dependencies. [A] http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html There's actually a bit of stuff to go through here, besides the subsection with the new definition. Additional changes were necessary to percolate the proper meaning throughout the spec. Here's what I changed: 1) Added a section to define references, dependencies, reference lists, dependency lists and dynamic dependencies [B] [B] http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html#expr-dependencies In particular, note the definition of repeat index management as implicit instance data management. This is extremely important to including invocations of index() in the automatic update of UI expressions. It also caused the most amount of "percolation" to other areas of the spec 2) Repurposed the "Binding Expressions" section to talk about all Expression Categories [C] [C] http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html#expr-expression-categories In particular, note the separation of model binding expressions from computed expressions. Also see the note discussing how rebuilds can be associated with automatic repeat index changes that occur due to change of focus. 3) The view of repeat index as implicit instance data caused me to realize that setindex is a special kind of setvalue. Hence, deferred update flag settings for setvalue must now also occur for setindex. Both the deferred update section setindex in particular were updated to reflect this. It also seemed appropriate to say a little more about how actions setvalue, insert, delete, setindex, and toggle affect the deferred update in those notes we have at the end of each of those actions. 4) I modified the setfocus action, the xforms-focus description and the UI repeat processing text to add a sentence pointing out that changing the focus may cause repeat index changes and that such changes occurred as if by setindex. 5) While cleaving model binding expression from computed expression and rigorously defining dynamic dependencies and where they could safely be used without calling some kind of "rebuild", I noted several glaring omissions, which I fixed. Firstly, we really only had a half-way attempt to separate UI binding expressions from binding expressions appearing in actions and on submission, so those are now in a separate category in [C] where it is made obvious that they are evaluated as the action or submission occurs (rather than, say, during a rebuild or a refresh). See [D]. [D] http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html#expr-actions-submissions Secondly, we talked a lot about UI Binding Expressions, which were defined to be binding expressions on form controls. Therefore, UI refreshment technically did not cover the behavior of the value attribute on output, nor the bindings on helper elements like label, help, hint, alert, etc. Now, I have defined a broader class of "UI Expression" which contains UI Binding Expressions as well as all other expressions used in UI elements. So now it is clear that all of these are to be updated on refresh. See [E] [E] http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html#expr-ui-expressions 6) While in the neighborhood, I noticed that the definition of the global attribute xforms:bind for use on custom controls was incorrect, so I changed [F]. [F] http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html#ui-binding-foreign Note that the issue here is that it must be known whether xforms:bind represents an single node binding or a nodeset binding. The section claimed it could be either, but this makes no sense. Since we also have xforms:repeat-bind, it was clear that xforms:bind is for single node bindings only. 7) The glossary of terms entries for model binding expression and UI binding expression were updated to reflect the above points. John M. Boyer, Ph.D. STSM: Lotus Forms Architect and Researcher Chair, W3C Forms Working Group Workplace, Portal and Collaboration Software IBM Victoria Software Lab E-Mail: boyerj@ca.ibm.com Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer
Received on Wednesday, 10 October 2007 01:16:57 UTC