[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: for vs. for-each
$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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|