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>
5.50.current group |
| 5.50.1. | value-of select="current-group()" separator=", " |