|
Subject: [xsl] How to increase the counter programmatically From: "Thang X. Le" <tle@xxxxxxxxxxx> Date: Thu, 01 Sep 2005 10:22:18 -0700 |
Hi,
In a <xsl:for-each> loop, I know how to find the
processing order (counter) by calling position(). But how can
I find the counter when it's supposed to increase only in
specific conditions? For example:
<xsl:for-each select="//products/product">
<!-- Do some processing here -->
<xsl:if test="condition">
<!-- What is the counter here? -->
</xsl:if>
</xsl:for-each>
Now, I know that if the "condition" is simple and straightforward,
I can just do this and use position() as counter:
<xsl:for-each select="//products/product[condition]">
<!-- Do some processing here -->
<!-- Now position() will be the ordinal counter -->
</xsl:for-each>
But what if the condition is more complex and require extra steps?
For example, I may want to store a few nodesets in variables, and
use these variables in the 'test' clause and body of <xsl:if>.
I've tried twisting it to use <xsl:template> but it seems the basic
problem is still there. Basically this can be solved easily if I can
do something like $counter = $counter + 1. I know this is not on
with XSLT, so what are my alternatives?
Thanks,
Thang Le
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Prefixes in templates, David Carlisle | Thread | Re: [xsl] How to increase the count, David Carlisle |
| [xsl] Prefixes in templates, Brett Zamir | Date | Re: [xsl] XSLT on the server side, António Mota |
| Month |