Subject: Re: [xsl] Slow XSLT From: Michael Ludwig <mlu@xxxxxxxxxxxxx> Date: Mon, 03 Mar 2008 20:44:38 +0100 |
Hi Manfread,
I truly appreciate your help. You are real star :)
I have just seen your post and before I try your changes I would like to ask you what this line does i.e. which template does it call?
<xsl:apply-templates select="$set"/>
It "calls" whatever matches the contents of $set. What is in $set depends on the context. At the place you extracted this line from, a template by the name "apply-set", there is an xsl:param named "set". The template "apply-set" is indeed called (using xsl:call-template), as it is a named template. Other templates are matching templates - these go without names. They are applied to nodes (using xsl:apply-templates) based on whether or not they match.
Where is this template being called from?
<xsl:template match="Col"> <td colspan="{$msrs}"> <div><xsl:value-of select="@heading"/></div> </td> </xsl:template>
Incidentally, it is "called", or rather applied, by the xsl:apply-templates above that has caught your intention. It may not be obvious at first glance, but it happens in recursion. See the following snippet from Manfred's example.
<xsl:when test="$set/*"> <xsl:call-template name="apply-set"> <xsl:with-param name="set" select="$set/*"/> </xsl:call-template> </xsl:when>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Slow XSLT, Cleyton Jordan | Thread | Re: [xsl] Slow XSLT, Cleyton Jordan |
[xsl] [Announce] XQuery Training Ev, Stylus Studio | Date | Re: [xsl] Slow XSLT, Cleyton Jordan |
Month |