[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] How to increase the counter programmatically
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|