[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Incrementing a variable in XSL
Ken Ross wrote: > In short you can't. > > You can simulate it by using <xsl:value-of > select="count(preceding::a)+1"/>. Wouldn't something like this (admittedly ad hoc, untested code) work too? <xsl:template match="docroot"> <xsl:variable name="var">1</xsl:variable> <xsl:apply-templates select="a[1]" mode="tailRecurseSibs"/> </xsl:template> <xsl:template match="a" mode="tailRecurseSibs"> <xsl:param name="var" select="1"/> <xsl:value-of select="$var"/> <xsl:apply-templates select="following-sibling::a" mode="tailRecurseSibs"> <xsl:with-param name="var" select="$var + 1"/> </xsl:apply-templates> </xsl:template> In other words, while direct iteration using a variable will not allow the desired operation, tail recursion using a parameter should. Right? -- Roger Glover glover_roger@xxxxxxxxx > -----Original Message----- > From: Mukul [mailto:mukulw3@xxxxxxxxx] > Sent: Thursday, 16 January 2003 3:37 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Incrementing a variable in XSL > > > Hello , > I have a simple XML file as below: > <?xml version="1.0" encoding="UTF-8"?> > <docroot> > <a>1</a> > <a>2</a> > <a>3</a> > <a>4</a> > </docroot> > > I have written a XSL stylesheet as below: > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:template match="docroot"> > <xsl:variable name="var">1</xsl:variable> > <xsl:for-each select="a"> > <xsl:value-of select="$var"/> > <!-- incrementing $var ?? --> > </xsl:for-each> > </xsl:template> > </xsl:stylesheet> > > I want to increment a variable in <xsl:for-each .., > and print it with <xsl:value-of .. > > There is a situation where in the XML file, a tag > repeats and I want to output the no's 1, 2, 3 etc in > the output with each tag instance. > > How can I do this? > > Regards, > Mukul XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|