Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Sum only odd ones

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[text() mod 2 = 1]">         <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[text() mod 2 = 1])"/>     </xsl:template> </xsl:stylesheet>   Output: <?xml version="1.0" encoding="UTF-8"?>1 + 3 + 17 + 11 = 32