xsl-list
[Top] [All Lists]

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

2004-05-18 07:18:44
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(_at_)rpo(_dot_)co(_dot_)uk> 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.


--+------------------------------------------------------------------
XSL-List info and archive: 
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to:
http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--




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


<Prev in Thread] Current Thread [Next in Thread>