Re: Things wrong with section "7.5 Binding Expressions" and related (PR#41)

Hi Erik,

The working group accepted all of your points as issues needing work.  In
particular, notions of dynamic dependency and model binding expression were
rigorously defined.  The results are now available in the editor's draft at
http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html

Please let us know if you have any further concerns about these issues.

Thank you,
John Boyer

> 
> 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, 17 October 2007 21:44:04 UTC