[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: for vs. for-each

Subject: Re: for vs. for-each
From: "G. Ken Holman g.ken.holman@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 14 Mar 2021 18:57:08 -0000
Re:  for vs. for-each
In:

<xsl:sequence select="$values[.]"/>

... the context when opening the predicate is
$values and not the current item from the for-each.

In:

<xsl:sequence select="$values[current()]"/>

... the context when opening the predicate begins
at $values but current() jumps the context back
to the beginning of the XPath expression, which
is the current item from the for-each.

So it is readily explained. And it isn't a
difference between for and for-each, it is that
your predicate value either uses the context of
the XPath node test (the ".") or ignores the
context of the node test (the $i and current()).

I hope this helps.

. . . . . Ken

At 2021-03-14 18:05 +0000, Michael MC<ller-Hillebrand mmh@xxxxxxxxx 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



--
Contact info, blog, articles, etc. http://www.CraneSoftwrights.com/s/ |
Check our site for free XML, XSLT, XSL-FO and UBL developer resources |
Streaming hands-on XSLT/XPath 2 training class @US$125 (5 hours free) |
Essays (UBL, XML, etc.) http://www.linkedin.com/today/author/gkholman |

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.