Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Value-of select=current-group() separator=

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>