I am trying to parse is xml
<a>
<b Number="first">
<c Over="1">
<name>1</name>
</c>
<c Over="2">
<name>2</name>
</c>
</b>
<b Number="Second">
<c Over="1">
<name>3</name>
</c>
<c Over="2">
<name>4</name>
</c>
</b>
</a>
using grouping concept
I do like this
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ext="http://exslt.org/common" exclude-result-prefixes="ext">
<xsl:key name="node-by-over" match="c" use="@Over" />
<xsl:template match="a">
<xsl:apply-templates select="b[@Number='first']/c[generate-id() = generate-id(key('node-by-over', @Over)[1])]"/>
</xsl:template>
<xsl:template match="c">
<table id="">
<xsl:for-each select="key('node-by-over', @Over)">
<tr>
<td>balls:::<xsl:value-of select="name"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
my output
<table><tr><td>balls:::1</td></tr><tr><td>balls:::3</td></tr></table><table><tr><td>balls:::2</td></tr><tr><td>balls:::4</td></tr></table>
expected
<table><tr><td>balls:::1</td></tr><tr><td>balls:::2</td></tr></table>
why it is giving output like this 1,3,2,4 ??? I already use mention in applytemplate
I need all c
node which @Number is first
<xsl:apply-templates select="b[@Number='first']/c[generate-id() = generate-id(key('node-by-over', @Over)[1])]"/>
expected output 1,2 (parsing of name)