XSL for-each: how to detect last node?
xslt
Solution
If you're using XSLT 2.0, the canonical answer to your problem is
<xsl:value-of select="GroupsServed" separator=", " />
On XSLT 1.0, the somewhat CPU-expensive approach to finding the last element in a node-set is
<xsl:if test="position() = last()" />
Problem
I have this simple code: ``` <xsl:for-each select="GroupsServed"> <xsl:value-of select="."/>,<br/> </xsl:for-each></font> ``` I'm trying to add a comma for each item added. This has 2 flaws: - Case of when there's only 1 item: the code would unconditionally add a comma. - Case of when there's more than 1 item: the last item would have a comma to it. What do you think is the most elegant solution to solve this? I'm using XSLT 2.0