This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: traversing the document twice for different tasks
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] traversing the document twice for different tasks
- From: Oliver Becker <obecker at informatik dot hu-berlin dot de>
- Date: Wed, 13 Jun 2001 09:26:21 +0200 (MET DST)
- Reply-To: xsl-list at lists dot mulberrytech dot com
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