Subject: RE: Parameter problem
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 2 Oct 2003 15:28:49 +0100
|
Does $firstN have a value in the PartyList/When [1] template?
Is the PartyList/When [last()] template actually being called?
If so, something very odd is going on. Tell us which processor you are
using, and post a complete stylesheet + source document so we can debug
it for you.
Incidentally, the match="PartyList/When[last()]" is potentially very
expensive (though it all depends on the optimizer), and not really
necessary here. I would do all the work in one template myself.
Michael Kay
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
> Marsha Salo
> Sent: 02 October 2003 13:00
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: Parameter problem
>
>
> Hi Dave
>
> i have made the changes as you have said,
>
> <xsl:template match="PartyList/When [last()]">
>
> <xsl:param name = "first"/>
> <xsl:param name = "last" select="@Attendance"/>
>
> <xsl:variable name="difference" select = "$last -
> $first"/>
> <TD><xsl:value-of select="$first"/></TD>
> <TD><xsl:value-of select="$last"/></TD>
> <TD><xsl:value-of select="$difference"/></TD>
>
> </xsl:template>
>
> <xsl:template match="PartyList/When [1]">
>
> <xsl:variable name="firstN"><xsl:value-of
> select="@Attendance"/></xsl:variable>
> <TD><xsl:value-of select="$firstN"/></TD>
>
> <xsl:apply-templates
> select="following-sibling::When [last()]">
> <xsl:with-param name="first" select="$firstN"/>
> </xsl:apply-templates>
>
> </xsl:template>
>
> but the parameter 'first' in template PartyList/When [last()]
> still does not have a value. And difference is NaN.
>
> marsha
>
> -----Original Message-----
> From: David Carlisle [mailto:davidc@xxxxxxxxx]
> Sent: Thursday, October 02, 2003 1:30 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: Parameter problem
>
>
>
> <xsl:template match="PartyList/When [1]">
> here your current node is a When element
> so here
> <xsl:apply-templates select="PartyList/When [last()]">
> you are selecting a When grandchild of the current When
> element. i suspect that you don't want that, you want your
> youngest sibling so that's <xsl:apply-templates
> select="following-sibling::When [last()]">
>
> Incidentally don't do
> <xsl:param name = "last"><xsl:value-of
> select="@Attendance"/></xsl:param>
>
> or
> <xsl:variable name="difference"><xsl:value-of select =
> "$last - $first"/></xsl:variable>
>
> or
>
> <xsl:with-param name="first"><xsl:copy-of
> select="$firstN"/></xsl:with-param>
>
> It makes the system work much harder than necessary.
>
>
> just use
>
>
> <xsl:param name = "last" select="@Attendance"/>
> <xsl:variable name="difference" select = "$last -$first"/>
> <xsl:with-param name="first" select="$firstN"/>
>
> David
>
> ______________________________________________________________
> __________
> This e-mail has been scanned for all viruses by Star
> Internet. The service is powered by MessageLabs. For more
> information on a proactive anti-virus service working around
> the clock, around the globe, visit: http://www.star.net.uk
> ______________________________________________________________
> __________
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|