|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Recursively looping through a template only X numb
> The problem appears to be that xsl:with-param can not be a child of > xsl:template, so I can't call the template recursively while changing > the param value. It's true that xsl:with-param cannot be a child of xsl:template, but that's not the point: to use recursion you need to call the template from within itself, using xsl:call-template. Brief example: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:call-template name="xyzTemp"> <xsl:with-param name="counter" select="1"/> </xsl:call-template> </xsl:template> <xsl:template name="xyzTemp"> <xsl:param name="counter"/> This is line <xsl:value-of select="$counter"/>.<xsl:value-of select="'% <xsl:if test="$counter < 10"> <xsl:call-template name="xyzTemp"> <xsl:with-param name="counter" select="$counter + 1"/> </xsl:call-template> </xsl:if> </xsl:template> </xsl:stylesheet> hth, b. > -----Original Message----- > From: Austin, Darrel [mailto:Darrel.Austin@xxxxxxxxxxxxxxxxxx] > Sent: Tuesday, November 28, 2006 12:17 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: Recursively looping through a template only X number of > times? > > > You want to use template parameters. Declare xsl:param inside > > the template, and use xsl:with-param to set a value on the call. > > The problem appears to be that xsl:with-param can not be a child of > xsl:template, so I can't call the template recursively while changing > the param value. > > > Just have > > <xsl:variable name="tocdepth" select="2"/> > > then wrap your code in > > <xsl:if test="count(ancestor::ruleItem)<=$tocdepth"> > > .. make a toc entry... > > </xsl:if> > > Of course! Makes perfect sense. That works nicely. > > That said, I'm still curious as to how (or if) one can create recursive > logic that can 'count' the recursions via XSL. > > -Darrel
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Cast Your Vote
We need your help – Vote for DataDirect XML Products!
Winners and finalists announced at SOA World Conference in November. 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
|







