Subject: Re: [xsl] for vs. for-each From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sun, 14 Mar 2021 18:55:44 -0000 |
$values[.] obviously doesn't work because the value of the context item within square brackets is different from the value outside. The fact that the value of "." is context-dependent often causes difficulties like this, but it's fundamental to the design of XPath.. The real culprit here is the overloading of A[B] to do both subscripting and filtering. Changing the focus is necessary for filtering, but it gets in the way for subscripting. I would argue that this is a design mistake (in fact, I tried to argue this before XPath 1.0 was finalized) but it's impossible to change it now. For 4.0, however, I would like to see better ways of accessing items in a sequence by position, and there has been much discussion about how best to achiieve this. Michael Kay Saxonica > On 14 Mar 2021, at 18:04, Michael MC<ller-Hillebrand mmh@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Folks, > > Given a variable with a sequence of values > > <xsl:variable name="values" select="(1,2,3,4,5)" as="xs:double+"/> > > these are three methods to report its content > > <xsl:sequence select="for $i in 1 to count($values) return $values[$i]"/> > > <xsl:for-each select="1 to count($values)"> > <xsl:sequence select="$values[.]"/> > </xsl:for-each> > > <xsl:for-each select="1 to count($values)"> > <xsl:sequence select="$values[current()]"/> > </xsl:for-each> > > The first works as expected, the second does not, but the third astonishingly enough gives me the same result as the first. Check it out: > > https://xsltfiddle.liberty-development.net/ei5R4v8/2 > > I read/understand that there is a difference between a for expression and a path expression, but since we can use atomized values in xsl:for-each, I would like to see more similarity between for and for-each. > > Should this be on the wishlist for XSLT 4 or do I have to learn/understand some more concepts? > > Puzzled greeting, > > - Michael
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] for vs. for-each, director@xxxxxxxxxxx | Thread | Re: [xsl] for vs. for-each, Dimitre Novatchev dn |
Re: [xsl] for vs. for-each, director@xxxxxxxxxxx | Date | Re: [xsl] for vs. for-each, G. Ken Holman g.ken. |
Month |