- From: Erik Bruchez <ebruchez@orbeon.com>
- Date: Wed, 21 Dec 2016 11:31:03 -0800
- To: Steven Pemberton <steven.pemberton@cwi.nl>
- Cc: XForms <public-xformsusers@w3.org>
- Message-ID: <CAAc0PEUfkbCtsReApcLdx+LKDU6yumEDaTicedeE_2kp6xaqQg@mail.gmail.com>
> > When there is a single-node binding, the context item always has a size of > 1 (or may be missing). This is a bit tricky. What does this do: > > <xf:repeat ref="1 to 10"> > <xf:output value="position"/> > </xf:repeat> > > vs. > > <xf:repeat ref="1 to 10"> > <xf:group ref="."> > <xf:output value="position"/> > </group> > </xf:repeat> > > > They both do the same thing, since a repeat object is a single item > binding: > > "a repeat object consisting of an implicitly generated group element that > binds to the item, and containing a copy of the template." > > I thought about this, and I can think of no place except for bind where a > sequence binding is nested directly within a sequence binding. > They do the same thing as far as the binding item proper, but what about the XPath context position and size? For sequence bindings, we now say: "a size of the size of the sequence, and a position of the position of the generated item in the sequence" So should I expect `position()` to work (as in showing "1", "2", etc.) here: <xf:repeat ref="1 to 10"> <xf:output value="position()"/> </xf:repeat> And in the second case, does the single-item binding (in addition to the implicit group of the repeat) reset the position() and last()? <xf:repeat ref="1 to 10"> <xf:group ref="."> <xf:output value="position()"/> </group> </xf:repeat> In other words, are position() and last() inherited when there is no sequence-binding? In our implementation, I think that single-item bindings reset to position = 1 and size = 1. -Erik
Received on Wednesday, 21 December 2016 19:31:57 UTC