- From: Steven Pemberton <steven.pemberton@cwi.nl>
- Date: Wed, 13 Dec 2017 11:41:27 +0100
- To: public-xformsusers@w3.org
Excellent! Thanks. Steven On Wed, 13 Dec 2017 07:40:16 +0100, Erik Bruchez <ebruchez@orbeon.com> wrote: > All, > > I finally wrote an example (see the second example): > > https://www.w3.org/community/xformsusers/wiki/XForms_2.0#Dependencies > > Diff: > > https://www.w3.org/community/xformsusers/wiki/index.php?title=XForms_2.0&type=revision&diff=1775&oldid=1774 > > I used the same (plus one element) instance as the previous element > but followed the idea of a master-detail view. > > -Erik > > On Tue, Oct 3, 2017 at 10:16 PM, Erik Bruchez <ebruchez@orbeon.com> > wrote: >> Looking at this action item, I reread the new section "7.3 References, >> Dependencies, and Dynamic Dependencies" [1]. Compared to XForms 1.1's >> version [2], I prefer the new version as it is less convoluted and >> higher-level. >> >> There is the following text in the note for the XForms 1.1 version, >> which >> got removed: >> >>> For example, if the above expression were in a calculate, and if the >>> attribute of either b element changes to the value X, the expression >>> would >>> be recalculated but it still does not record a reference to any c >>> elements >>> until the references are obtained in the next rebuild operation. >> >> That text kind of explained a dynamic dependency, but a little bit (or >> much) >> too vaguely. >> >> I think we could explain this using the updated example. For example, >> introducing a bind and an input control: >> >> ``` >> <bind >> id="capital-bind" >> ref="continent[@name='Europe']/country[@name='France']/capital"/> >> >> <input >> id="capital-input" >> bind="capital-bind" >> label="Capital"/> >> ``` >> >> Initially, because there is no `country` element with a `name` >> attribute set >> to value `France`, the `capital-input` control binds to an empty >> sequence >> and therefore is disabled. >> >> Now let's consider the following action: >> >> ``` >> <setvalue >> ref="continent[@name = 'Europe']/country[@name = 'UK']/@name" >> value="'France'"/> >> ``` >> >> After this `<setvalue>`, the model does a `recalculate` and >> `revalidate` and >> a `refresh` is performed. But the `capital-input` control remains >> non-relevant if there is no explicit or implicit (for example via >> `<insert>`) `rebuild` that is performed. >> >> The following sequence of actions would properly make the >> `capital-input` >> control appear: >> >> ``` >> <setvalue >> ref="continent[@name = 'Europe']/country[@name = 'UK']/@name" >> value="'France'"/> >> <rebuild/> >> ``` >> >> I don't know if this or something along those lines would be worthwhile >> adding. I still think that it leaves some aspects in the dark. >> >> The key rule here is that *all binds keep pointing to the same node >> until a >> `rebuild` happens*. >> >> Interestingly enough, if things are done at the UI level, they are >> implied >> to work. For example: >> >> ``` >> <input >> id="capital-input" >> ref="continent[@name='Europe']/country[@name='France']/capital" >> label="Capital"/> >> ``` >> >> would not require a `rebuild` since "All UI Expressions are >> re-evaluated as >> necessary". >> >> To discuss during the call. >> >> -Erik >> >> [1] >> https://www.w3.org/community/xformsusers/wiki/XForms_2.0#Dependencies >> [2] https://www.w3.org/TR/xforms/#expr-dependencies >> >> >> On Wed, Mar 22, 2017 at 12:43 AM, Steven Pemberton >> <steven.pemberton@cwi.nl> >> wrote: >>> >>> The reason I took it out was because it was not used anywhere. I >>> replaced >>> it with an explanation of why sometimes a manual recalculate was >>> necessary. >>> >>> Let's talk about it this afternoon. >>> >>> Steven >>> >>> >>> >>> On Wed, 22 Mar 2017 05:38:47 +0100, Erik Bruchez <ebruchez@orbeon.com> >>> wrote: >>> >>>> It should be enough to say that there are expressions with dynamic >>>> dependencies, provide examples, and indicate that manual rebuilds are >>>> needed >>>> in such cases. >>>> >>>> Do you think it is possible to create a canonical set of examples that >>>> show when manual rebuilds are needed? >>> >>> >>> I notice that after the rewrite, there is no more mention of "dynamic >>> dependencies". Should we still provide an example of dynamic >>> dependency as >>> we did for XForms 1.1 with: >>> >>> https://www.w3.org/TR/xforms/#expr-dependencies >>> >>> -Erik >>> >>> >>> >>> >>
Received on Wednesday, 13 December 2017 10:41:53 UTC