|
Subject: Re: [xsl] Slow XSLT From: Cleyton Jordan <cleytonjordan@xxxxxxxxxxx> Date: Mon, 3 Mar 2008 22:50:13 +0000 (GMT) |
Hi Manfred,
Thanks again. I will debug the xslt to understand
exactly what it is doing. Then I will write the
javascript test harness to test the speed and let you
know the outcome.
Cheers
C
--- Manfred Staudinger <manfred.staudinger@xxxxxxxxx>
wrote:
> Hi,
>
> In addition to what Michael already discussed:
>
> On 03/03/2008, Cleyton Jordan
> <cleytonjordan@xxxxxxxxxxx> wrote:
> > Where is this template being called from?
> >
> > <xsl:template match="Col">
> > <td colspan="{$msrs}">
> > <div><xsl:value-of select="@heading"/></div>
> > </td>
> > </xsl:template>
> It's called from the "apply-set" template
> <tr>
> <xsl:apply-templates select="$set"/>
> </tr>
> With each recursion, a new $set variable is used,
> which gets its
> initial value here:
> <xsl:with-param name="set" select="$set/*"/>
> The new set of nodes is selected to contain all the
> child elements
> (note the /*) of the nodes in the current set. On
> the very last
> recursion $set contains the "Col" elements and those
> match the
> template in question.
> The fact that there are no more child elements is
> used to stop the
> recursion and get the call closed. If you look at
> the point in
> "apply-set" where we called it again
> <xsl:call-template name="apply-set">
> <xsl:with-param name="set" select="$set/*"/>
> </xsl:call-template>
> and where we return from the "active" call, you see
> that "apply-set"
> has already done all it should do, so closing it
> silently.
>
> Hope this helps,
>
> Manfred
>
>
> On 03/03/2008, Cleyton Jordan
> <cleytonjordan@xxxxxxxxxxx> wrote:
> > Hi Michael,
> >
> > Thanks for your input.
> >
> > I will debug the xslt and see if I can undertand
> what
> > is going on.
> >
> > Cheer
> >
> >
> > C
> >
> >
> > --- Michael Ludwig <mlu@xxxxxxxxxxxxx> wrote:
> >
> > > Cleyton Jordan schrieb:
> > > > 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>
> > >
> > > Michael
> > >
> > >
> >
> >
> >
> >
> >
> >
>
___________________________________________________________
> > NEW Yahoo! Cars - sell your car and browse
> thousands of new and used cars online!
> http://uk.cars.yahoo.com/
>
>
___________________________________________________________
To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Slow XSLT, Manfred Staudinger | Thread | Re: [xsl] Slow XSLT, Cleyton Jordan |
| RE: [xsl] Is it possible to nest te, Carla Lotito | Date | Re: [xsl] Slow XSLT, Cleyton Jordan |
| Month |