Subject: Re: traversing the document twice for different tasks
From: Oliver Becker <obecker@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 13 Jun 2001 09:26:21 +0200 (MET DST)
|
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@xxxxxxxxxxxxxxxxxxxxxxx |
| op|qo WWW: http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|