Re: for vs. for-each
| Newsgroups | gmane.text.xml.xsl.general.mulberrytech |
|---|---|
| Message-ID | <[email protected]> |
The dot in your second expression picks up the context from $values. You
should use current():
<xsl:for-each select="1 to count($values)">
<xsl:sequence select="$values[current()]"/>
</xsl:for-each>
jk
On 2021-03-14 14:04, Michael Müller-Hillebrand [email protected] 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
>
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/3329386
or by email: [email protected]
--~--