RE: [xsl] Slow XSLT

Subject: RE: [xsl] Slow XSLT
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 13 Mar 2008 16:43:10 -0000
  <xsl:template match="Cell[not(*)]">
    <xsl:for-each select="/Report/Measures/Measure">
      <td>&#xa0;</td>
    </xsl:for-each>
  </xsl:template>

Try assigning /Report/Measures/Measure to a global variable so it only has
to be evaluated once.

Michael Kay
http://www.saxonica.com/

 

> -----Original Message-----
> From: Cleyton Jordan [mailto:cleytonjordan@xxxxxxxxxxx] 
> Sent: 13 March 2008 16:33
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] Slow XSLT
> 
> Hi Michael, David,
> 
> XSLT 1.0
> 
> The push-processing coding style demonstrated by David 
> Carlisle improved the transformation quite a bit but it still 
> takes 7 seconds to transform in IE and Firefox.
> 
> I was wondering if using KEYS it would help to improve the 
> transformation?
> 
> If so, I would appreciate if you could help me to produce a 
> key that would work.
> 
> I am posting the latest XSLT below with some formatting. I am 
> also posting an XML but it is not going to be as long as the 
> one I am using locally (1.5mb).
> 
> Cheers
> 
> C
> 
> Here is the latest working XSLT however it is slow 
> _________________________________________________
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>   <xsl:strip-space elements="*"/>
> 
>   <xsl:decimal-format name="fd1" decimal-separator="."
> grouping-separator="," NaN=" \"/>
>   <xsl:param name="axisHeads" select="'false'"/>
>   <xsl:param name="sortCol" select="'0'"/>
>   <xsl:param name="sortCell" select="'0'"/>
>   <xsl:param name="dataType" select="'text'"/>
>   <xsl:param name="sortOrder" select="'ascending'"/>
>   <xsl:param name="ltCurFormat"
> select="'$##,###.00'"/>
>   <xsl:param name="ltNumFormat"
> select="'###,.00'"/>
>   <xsl:param name="heading"/>
>   <xsl:param name="height" select="'500'"/>
>   <xsl:param name="width" select="'880'"/>
>   <xsl:param name="id" select="'audit'"/>
> 
> 
>   <xsl:template match="Report">
>     <html>
>       <head>
>         <title>report</title>
>       </head>
>       <body>
>         <table border="1">
>           <xsl:apply-templates/>
>         </table>
>       </body>
>     </html>
>   </xsl:template>
>   
>   <xsl:template match="Row">
>     <tr>
>       <xsl:apply-templates/>
>     </tr>
>   </xsl:template>
>   
>   <xsl:template match="Msr">
>     <xsl:choose>
>       <xsl:when test="string(number(@val)) ='NaN'">
>         <td align="left" style="overflow:none">
>           <nobr>
>             <div style="width:80px;overflow:none">
>               <xsl:value-of select="@val"/>
>             </div>
>           </nobr>
>         </td>
>       </xsl:when>
>       <xsl:otherwise>
>         <td align="right" style="overflow:none">
>           <nobr>
>             <div style="width:80px;overflow:none">
>               <xsl:variable name="numberVal"
> select="@val"/>
>               <xsl:variable name="style"
> select="@class"/>
>               <xsl:if test="$numberVal != ''">
>                 <xsl:choose>
>                   <xsl:when test="$numberVal = '-1' or 
> $numberVal = '0'">
>                     <xsl:text
> xml:space="preserve">-</xsl:text>
>                   </xsl:when>
>                   <xsl:when test="$numberVal = '-1' or 
> $numberVal = '0'">
>                     <xsl:text
> xml:space="preserve">-</xsl:text>
>                   </xsl:when>
>                   <xsl:when test="$style='wholeNum'">
>                     <xsl:value-of
> select="format-number($numberVal,'###,')"/>
>                   </xsl:when>
>                   <xsl:when test="$style='currency'">
>                     <xsl:value-of
> select="format-number($numberVal,$ltCurFormat)"/>
>                   </xsl:when>
>                   <xsl:when test="$style='percent'">
>                     <xsl:value-of
> select="format-number($numberVal * 100,'0.00')"/>
>                     <xsl:text>%</xsl:text>
>                   </xsl:when>
>                   <xsl:otherwise>
>                     <xsl:value-of
> select="format-number($numberVal,$ltNumFormat)"/>
>                   </xsl:otherwise>
>                 </xsl:choose>
>               </xsl:if>
>               <xsl:if test="$numberVal = ''">
>                 <xsl:text
> xml:space="preserve">-</xsl:text>
>               </xsl:if>
>             </div>
>           </nobr>
>         </td>
>       </xsl:otherwise>
>     </xsl:choose>
>   </xsl:template>
> 
>   <xsl:template match="Cell[not(*)]">
>     <xsl:for-each select="/Report/Measures/Measure">
>       <td>&#xa0;</td>
>     </xsl:for-each>
>   </xsl:template>
>  
> </xsl:stylesheet>
> 
> 
> =====================================
> 
> XML
> ___
> 
> 
> <?xml version="1.0" encoding="utf-8" ?>
> <Report name="audit" title="Audit" date="03-11-2008">
>   <Measures>
>     <Measure idx="1" heading="Total Pages"
> class="num1"/>
>     <Measure idx="2" heading="Cost" class="cur1"/>
>     <Measure idx="3" heading="Total Ads"
> class="num1"/>
>     <Measure idx="4" heading="Insert Pages"
> class="num1"/>
>   </Measures>
>   <Columns>
>     <ColGrp heading="Month">
>       <ColGrp heading="2003">
>         <ColGrp heading="Quarter 1">
>           <Col heading="January"/>
>         </ColGrp>
>       </ColGrp>
>     </ColGrp>
>   </Columns>
>   <Rows>
>     <RowGrp heading="">
>       <RowGrp heading="">
>         <Row heading="rows">
>           <Cell>
>             <Msr idx="1" val="1" class="num1"/>
>             <Msr idx="2" val="2840" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="1" class="num1"/>
>             <Msr idx="2" val="2840" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="1" class="num1"/>
>             <Msr idx="2" val="2840" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="1" class="num1"/>
>             <Msr idx="2" val="2840" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="1" class="num1"/>
>             <Msr idx="2" val="2840" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="1" class="num1"/>
>             <Msr idx="2" val="2840" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="3" class="num1"/>
>             <Msr idx="2" val="6912" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="3" class="num1"/>
>             <Msr idx="2" val="6912" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="3" class="num1"/>
>             <Msr idx="2" val="6912" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="15" class="num1"/>
>             <Msr idx="2" val="37776" class="cur1"/>
>             <Msr idx="3" val="9" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>         </Row>
>       </RowGrp>
>       <RowGrp heading="">
>         <Row heading="rows">
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="1" class="num1"/>
>             <Msr idx="2" val="3909" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val=""/>
>             <Msr idx="2" val=""/>
>             <Msr idx="3" val=""/>
>             <Msr idx="4" val=""/>
>           </Cell>
>           <Cell>
>             <Msr idx="1" val="1" class="num1"/>
>             <Msr idx="2" val="3909" class="cur1"/>
>             <Msr idx="3" val="1" class="num1"/>
>             <Msr idx="4" val="0" class="num1"/>
>           </Cell>
>         </Row>
>       </RowGrp>
>     </RowGrp>
>   </Rows>
> </Report>
>         
> 
> --- Michael Kay <mike@xxxxxxxxxxxx> wrote:
> 
> > > 
> > > For each Row in my xml I need to output a <tr>. So
> > I apply templates. 
> 
> 
> 
> 		
> ___________________________________________________________
> NEW Yahoo! Cars - sell your car and browse thousands of new 
> and used cars online! http://uk.cars.yahoo.com/

Current Thread