- From: Erik Bruchez <ebruchez@orbeon.com>
- Date: Wed, 02 May 2007 19:38:09 +0800
- To: public-forms@w3.org
- CC: www-forms-editor@w3.org
All, This is a follow-up to the thread on using index() in UI bindings [1] that focuses on issues with binding expressions in the spec. I already pointed out that section 7.5.1 is broken [2] (private link), and the XSL and XQuery Working Group has some releated LC comment on this as well [3]. Here are some further thoughs: 1. Intro to 7.5 says: "By default, all binding expressions refer to the first instance within the context model. This behavior can be changed with the instance() function." Is this still the right place for this sentence? This is noise I think since we have an improved section "7.4 Evaluation Context". I would recommend removing that sentence and possibly point to 7.4. 2. Section "7.5.1 Dynamic Dependencies" This section needs to be entirely rewritten IMO. In addition to the points raised in [2] and [3]: * "In particular, there are restrictions on model binding expressions that create dynamic dependencies [...]". This concerns Model Binding Expressions so should be removed, or rewritten and integrated into "7.5.2 Model Binding Expressions". I think that 7.5.1 must simply contain a clearer definition of a dynamic dependency, a rationale for the distinction, and at least one example (could be part of the rationale). 3. Section "7.5.2 Model Binding Expressions" Is any XPath expression on xforms:bind a Model Binding Expressions? I thought only @nodeset expressions were called Model Binding Expressions but I seem to be wrong. If not, then @calculate, @constraint, are also MBEs? This is surprising because section ".5.4 The xforms-compute-exception Event" says: "an error occurring during XPath evaluation for a model item property" And section "7.6 The XForms Function Library" also mentions something along these lines. So binding expressions do not necessarly throw binding exceptions? This sounds incoherent. Maybe the confusion stems from the fact that "binding expression" can be interpreted either as "an expression that binds", i.e. on @ref or @nodeset, but also as "an expression on xforms:bind". I think all this needs to be clarified. As mentioned in a separate LC comment [4], there seems to be a general lack of clarity about binding and compute exceptions. 4. Section "7.5.3 UI Binding Expressions": "Dynamic dependences are allowed in UI binding expressions based on the conformance profile." I have no idea what the second part of the sentence means. The term "conformance profile" occurs only twice in the whole spec, and is not defined AFAICT. "XForms Full" is defined as a "conformance level", not as a "conformance profile". Furthermore, even with a definition, "based on the conformance profile" is way too vague. If supporting dynamic dependencies is a feature optional in certain profiles, we can say that. However, section "12.4.2 XForms Full" does not mention that XForms Full must support dynamic dependencies. This section should also precise the notion of dependency for UI bindings. In [1] John mentions that: "dependencies are established based on references to nodes of instance data (in 4.3.6)." But 4.3.6 regards only xforms-recalculate, and it is not clear that it applies to UI bindings. 5. Section "4.3.4 The xforms-refresh Event": "3. All UI bindings should be reevaluated as necessary." "as necessary" needs to be made (much) clearer. 6. Section "4.6.7 Sequence: Value Change": "xforms-refresh performs reevaluation of UI binding expressions" This would be where "as necessary" would be less out of place ;-) -Erik [1] http://lists.w3.org/Archives/Public/public-forms/2007May/0008.html [2] http://lists.w3.org/Archives/Member/w3c-forms/2007JanMar/0053.html [3] http://lists.w3.org/Archives/Public/www-forms-editor/2007Apr/0052.html [4] http://lists.w3.org/Archives/Public/www-forms-editor/2007Apr/0059.html -- Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/
Received on Wednesday, 2 May 2007 11:38:20 UTC