This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: traversing the document twice for different tasks


Hi,

> I want to traverse through an existing xml document twice;
> during one traversal i need to get the maximum count of the node.
> and during the other traversal i need to output the results, which has the
> heading lines as the maximum counted nodes.

the general advise is: use modes.
Something like

<xsl:template match="/">
   <!-- first pass -->
   <xsl:variable name="count">
      <xsl:apply-templates mode="count-mode" />
   </xsl:variable>
   <!-- now $count is available -->
   <!-- second pass -->
   <xsl:apply-templates>
      <xsl:with-param name="count" select="$count" />
   </xsl:apply-templates>
</xsl:template>

<xsl:template match="*" mode="count-mode">
   do something to count the nodes
</xsl:template>

<xsl:template match="*">
   <xsl:param name="count" />
   normal processing
</xsl:template>

Hope this helps,
Oliver


/-------------------------------------------------------------------\
|  ob|do        Dipl.Inf. Oliver Becker                             |
|  --+--        E-Mail: obecker@informatik.hu-berlin.de             |
|  op|qo        WWW:    http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]