aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2006-10-26 22:25:27 +0000
committerRob Austein <sra@hactrn.net>2006-10-26 22:25:27 +0000
commitdfa35082955d33cb3e9c3f4d67aedfd1297759f7 (patch)
tree5d43b830726b778c8d5c97085f1bff461ead1a2b
parent7f96fd72fd48bd54385d8169ab69939427c33ed0 (diff)
Add "total" line at bottom
svn path=/rcynic/rcynic.xsl; revision=448
-rw-r--r--rcynic/rcynic.xsl26
1 files changed, 22 insertions, 4 deletions
diff --git a/rcynic/rcynic.xsl b/rcynic/rcynic.xsl
index 12ce2864..13b9a4da 100644
--- a/rcynic/rcynic.xsl
+++ b/rcynic/rcynic.xsl
@@ -40,9 +40,11 @@
<xsl:param name="refresh" select="1800"/>
- <xsl:variable name="counts">
+ <xsl:param name="show-total" select="1"/>
+
+ <xsl:variable name="sums">
<xsl:for-each select="rcynic-summary/labels/*">
- <x count="{count(/rcynic-summary/host/*[name() = name(current()) and . != 0])}"/>
+ <x sum="{sum(/rcynic-summary/host/*[name() = name(current()) and . != 0])}"/>
</xsl:for-each>
</xsl:variable>
@@ -72,7 +74,7 @@
<tr>
<xsl:for-each select="rcynic-summary/labels/*">
<xsl:variable name="p" select="position()"/>
- <xsl:if test="$suppress-zero-columns = 0 or exslt:node-set($counts)/x[$p]/@count &gt; 0">
+ <xsl:if test="$suppress-zero-columns = 0 or position() = 1 or exslt:node-set($sums)/x[$p]/@sum &gt; 0">
<td>
<b>
<xsl:apply-templates/>
@@ -89,7 +91,7 @@
<tr>
<xsl:for-each select="*">
<xsl:variable name="p" select="position()"/>
- <xsl:if test="$suppress-zero-columns = 0 or exslt:node-set($counts)/x[$p]/@count &gt; 0">
+ <xsl:if test="$suppress-zero-columns = 0 or position() = 1 or exslt:node-set($sums)/x[$p]/@sum &gt; 0">
<td>
<xsl:apply-templates/>
</td>
@@ -97,6 +99,22 @@
</xsl:for-each>
</tr>
</xsl:for-each>
+ <xsl:if test="$show-total != 0">
+ <tr>
+ <td>
+ <b>Total</b>
+ </td>
+ <xsl:for-each select="exslt:node-set($sums)/x[position() &gt; 1]">
+ <xsl:if test="$suppress-zero-columns = 0 or @sum &gt; 0">
+ <td>
+ <b>
+ <xsl:value-of select="@sum"/>
+ </b>
+ </td>
+ </xsl:if>
+ </xsl:for-each>
+ </tr>
+ </xsl:if>
</tbody>
</table>
</body>