xsl-list
[Top] [All Lists]

Re: counting preceding siblings in with-param

2003-07-23 08:03:26

I need to move the template into its own file (to make it reusable) and
so I need to pass in the section-number as a parameter, instead of
calculating it inside the template:

the "so" doesn't follow there.
which xsl stylesheet document a template lives in doesn't affect
what elements would be selected by an xpath, so if it worked before it
should work now, (unless you have made some other change you haven't
reported)

however
  <xsl:apply-templates select="section | comment | instructions">
    <xsl:with-param name="section-number" 
select="count(preceding-sibling::section) + 1" />
  </xsl:apply-templates>

  gives 1 every time. I suppose that's because the current node is not
  the "section" node, but its parent,


Yes _any_ parameter you pass from there will have the same value to all
the templates invoked, it is the value you are passing, not the
expression.

  I'm worried that "with-param" is only calculated
  once? (I'm using .NET 1.1).

It's unspecified whether a system evauates a parammeter (or variable)
each time it is used, or just evaluates it once, and stores teh result,
but either way it is specified that you'll get the same result every
time.

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