Subject: Re: [xsl] Problem with using xsl:variable within a template in XSL1.0 From: "Gareth Howells" <subscriptions@xxxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 13 Dec 2007 11:36:18 -0000 (UTC) |
You can tell I've not slept enough... of course you can use variables "within templates" - the original for each loop was inside the 'default' template (match="/"). So... any thoughts where I'm going wrong here? G > S'mee again (be honest, you'd miss me otherwise ;)) > > I had a stylesheet using <xsl:for-each> which worked perfectly. Within the > loop, there were several <xsl:variable> statements. Now that I've > converted the stylesheet to using templates these statements are causing a > stack trace. > > The beginning of the original loop: > > <xsl:for-each select="teamPlayers/teamPlayer"> > > <xsl:variable name="playerG" > select="//results[@week=$week]/playerResult[@player=current()]/g * > $gPoints" /> > <xsl:variable name="playerA" > select="//results[@week=$week]/playerResult[@player=current()]/a * > $aPoints" /> > <xsl:variable name="playerGDA" > select="//results[@week=$week]/playerResult[@player=current()]/gda * > $gdaPoints" /> > <xsl:variable name="playerGDCS" > select="//results[@week=$week]/playerResult[@player=current()]/gdcs * > $gdcsPoints" /> > <xsl:variable name="playerGDGA" > select="//results[@week=$week]/playerResult[@player=current()]/gdga * > $gdgaPoints" /> > > </xsl:for-each> > > This has now been replaced with > > <xsl:apply-templates select="teamPlayers/teamPlayer" mode="playerTable"> > > and > > <xsl:template match="teamPlayer" mode="playerTable"> > > { those variable declarations again } > > </xsl:template> > > I'm not sure if it's relevant, but the original for-each loop, and now the > apply-templates statement, is nested within a for-each loop, which itself > is nested within a for-each loop. > > <xsl:for-each select="//results"> > <xsl:for-each select="//teams/team"> > <xsl:apply-templates select="teamPlayers/teamPlayer" > mode="playerTable" /> > </xsl:for-each> > </xsl:for-each> > > The apply-templates statement is currently commented out, as is the entire > template other than the xsl:template and /xsl:template tags, and those > variable declarations, so I'm fairly sure they're whats causing the > problem. Is it not possible to define variables within a template? > > Gareth
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Problem with using xsl:variab, Gareth Howells | Thread | Re: [xsl] Problem with using xsl:va, David Carlisle |
[xsl] Problem with using xsl:variab, Gareth Howells | Date | Re: [xsl] Problem with using xsl:va, David Carlisle |
Month |