xsl-list
[Top] [All Lists]

RE: Parameter problem

2003-10-02 07:28:49
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(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Marsha Salo
Sent: 02 October 2003 13:00
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] 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(_at_)nag(_dot_)co(_dot_)uk]
Sent: Thursday, October 02, 2003 1:30 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] 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



<Prev in Thread] Current Thread [Next in Thread>