- From: Thierry Michel <tmichel@w3.org>
- Date: Tue, 3 Sep 2002 17:58:44 +0200
- To: Jérôme Nègre <jerome.negre@e-xmlmedia.fr>, <www-forms-editor@w3.org>
Moderator: sent to www-forms-editor@w3.org ----- Original Message ----- From: "Jérôme Nègre" <jerome.negre@e-xmlmedia.fr> To: <www-forms-editor@w3.org> Sent: Tuesday, August 27, 2002 2:39 PM Subject: [Moderator Action] [long] nested repeats and index() > > > > Hi, > > I think that the behaviour of index() and nested repeats isn't well > defined in the latest draft. > > Take the following <instance>: > > <bookmarks> > <section> > <bookmark name="Main page"/> > <bookmark name="ecma"/> > </section> > <section> > <bookmark name="images"/> > </section> > </bookmarks> > > And the following UI: > > <repeat nodeset="section" id="repeatSections"> > <repeat nodeset="bookmark" id="repeatBookmarks"> > <output ref="@name"/> > </repeat> > </repeat> > <...> > <trigger id="insertbutton"> > <label>Insert bookmark</label> > <insert nodeset="section[index('repeatSections')]/bookmark" > at="index('repeatBookmarks')" position="after" event="xforms-activate"/> > </trigger> > <trigger id="insertsectionbutton"> > <label>Insert section</label> > <insert nodeset="section" at="index('repeatSections')" position="after" > event="xforms-activate"/> > </trigger> > > Those are taken (and adapted) from the example in chapter G.2. > > > Step 1/ > ------ > At startup, all index values are 1: index('repeatSections') returns 1, > index('repeatBookmarks') returns 1. > > Step 2/ > ------ > The user triggers 'Insert bookmark', the instance now look like this: > <bookmarks> > <section> > <bookmark name="Main page"/> > <bookmark name="images"/> > <bookmark name="ecma"/> > </section> > <section> > <bookmark name="images"/> > </section> > </bookmarks> > > index('repeatSections') still returns 1, index('repeatBookmarks') now > returns 2 (chapter 9.3.5, point 3). > > Step 3/ > ------ > The user triggers 'Insert section', the instance now look like this: > <bookmarks> > <section> > <bookmark name="Main page"/> > <bookmark name="images"/> > <bookmark name="ecma"/> > </section> > <section> > <bookmark name="images"/> > </section> > <section> > <bookmark name="images"/> > </section> > </bookmarks> > > index('repeatSections') now returns 2, index('repeatBookmarks') still > returns 2. > > However, the Xpath expression > section[index('repeatSections')]/bookmark[index('repeatBookmarks')] does > not point to an existing element, so trying to use a <setvalue> on the > new node would fail. > > Is this interpretation the correct one? If so, a note should be added to > the draft that says that using index() on nested repeats may lead to > strange (and unexpected) results. > > If this interpration is wrong, because index('repeatBookmarks') should > return 1 in step 3 because the value of index('repeatSections') changed, > it should also be specified. > > Regards, > Jérôme
Received on Tuesday, 3 September 2002 11:59:16 UTC