XML Tutorial/XSLT stylesheet/current group
value-of select="current-group()" separator=", "
<source lang="xml">
File: Data.xml <?xml version="1.0"?> <list>
<description>XPath 2.0 Context Functions</description> <date>2003-08-26</date> <function type="new">context-item()</function> <function type="new">current-date()</function> <function type="new">current-dateTime()</function> <function type="new">current-time()</function> <function type="new">default-collation()</function> <function type="new">implicit-timezone()</function> <function type="legacy">last()</function> <function type="legacy">position()</function>
</list>
File: Transform.xslt <?xml version ="1.0"?> <xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes" /> <xsl:template match="list"> <xsl:copy> <xsl:for-each-group select="function" group-by="@type"> <functions type="{@type}"> <xsl:value-of select="current-group()" separator=", " /> </functions> </xsl:for-each-group> </xsl:copy> </xsl:template>
</xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?> <list>
<functions type="new">context-item(), current-date(), current-dateTime(), current-time(), default-collation(), implicit-timezone()</functions> <functions type="legacy">last(), position()</functions>
</list></source>