Things wrong with section "7.5 Binding Expressions" and related

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