round the result of sum() : sum « XSLT stylesheet « XML Tutorial






File: Data.xml

<math>
 <down>
  <operand>12.12</operand>
  <operand>23.22</operand>
 </down>
 <up>
  <operand>12.15</operand>
  <operand>23.73</operand>
 </up>
</math>

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:output method="text" />

  <xsl:template match="math">
    <xsl:apply-templates select="up|down" />
  </xsl:template>

  <xsl:template match="up|down">
    <xsl:value-of select="round(sum(operand))" />
    <xsl:text> </xsl:text>
  </xsl:template>

</xsl:stylesheet>

Output:

35 36








5.13.sum
5.13.1.sum()- Takes a node-set as its argument and returns the sum of the value of each individual node after converting the values to a numeric type if possible.
5.13.2.round the result of sum()
5.13.3.Sum value
5.13.4.sum() sums all numbers in selected nodes.
5.13.5.sum only odd ones