[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Show a column only if the total is not zero


Subject: Re: [xsl] Show a column only if the total is not zero
From: Mukul Gandhi <mukul_gandhi@xxxxxxxxx>
Date: Tue, 18 May 2004 07:18:44 -0700 (PDT)

Hope the following XSL would be useful -

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0"
encoding="UTF-8" indent="yes"/>
	
<xsl:template match="/root">
  <html>
    <table border="1">
      <th>name</th>
      <xsl:if test="sum(person/fees) &gt; 0">
	<th>fees</th>
      </xsl:if>
      <xsl:if test="sum(person/overtime) &gt; 0">
	<th>overtime</th>
      </xsl:if>	
      <xsl:if test="sum(person/travel) &gt; 0">
        <th>travel</th>
      </xsl:if>
   
     <xsl:for-each select="person">
       <tr>
         <td><xsl:value-of select="name" /></td>
	 <xsl:if test="fees &gt; 0">
           <td><xsl:value-of select="fees" /></td>
         </xsl:if>
         <xsl:if test="overtime &gt; 0">
           <td><xsl:value-of select="overtime" /></td>
         </xsl:if>
         <xsl:if test="travel &gt; 0">
           <td><xsl:value-of select="travel" /></td>
         </xsl:if>                      
       </tr>
     </xsl:for-each>
    </table>
  </html>

</xsl:template>
</xsl:stylesheet>

I have added a <root> tag at the beginning, to make
the XML well-formed.

Regards,
Mukul

--- Richard Huxtable <huxtabler@xxxxxxxxx> wrote:
> The costs on a project look like this.
> 
> <person>
>    <name>Adam</name>
>    <fees>134.25</fees>
>    <overtime>0.00</overtime>
>    <travel>39.25</travel>
> </person>
> <person>
>    <name>Brian</name>
>    <fees>172.50</fees>
>    <overtime>0.00</overtime>
>    <travel>52.75</travel>
> </person>
> <person>
>    <name>Chris</name>
>    <fees>103.75</fees>
>    <overtime>0.00</overtime>
>    <travel>0.00</travel>
> </person>
> 
> I would like the report on the project to look like
> this.
> 
> name		fees		travel
> Adam		134.25		39.25
> Brian		172.50		52.75
> Chris		103.75		0.00
> Total		410.50		92.00
> 
> There was no overtime on this project so I don't
> want it shown. I should
> be most grateful for any suggestions on the best way
> to show the columns
> where the total is not zero. (In practice I have
> more than 3 types of
> cost.) 
> Many thanks.
> 



	
		
__________________________________
Do you Yahoo!?
SBC Yahoo! - Internet access at a great low price.
http://promo.yahoo.com/sbc/


Current Thread
Keywords