Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Sum() sums all numbers in selected nodes

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <data>     <number>1</number>     <number>3</number>     <number>4</number>     <number>17</number>     <number>8</number>     <number>11</number> </data> File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet       version="1.0"       xmlns:xsl="http://www.w3.org/1999/XSL/Transform">     <xsl:template match="/">       <xsl:for-each select="//number">         <xsl:value-of select="."/>         <xsl:choose>           <xsl:when test="position()=last()">             <xsl:text> = </xsl:text>           </xsl:when>           <xsl:otherwise>             <xsl:text> + </xsl:text>           </xsl:otherwise>         </xsl:choose>       </xsl:for-each>       <xsl:value-of select="sum(//number)"/>     </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?>1 + 3 + 4 + 17 + 8 + 11 = 44