| Subject: [xsl] counting preceding siblings in with-param From: John Sands <WonkoWatson@xxxxxxxxx> Date: Wed, 23 Jul 2003 10:38:44 -0400 | 
I have a template that works correctly like this:
<xsl:template match="section">
  <xsl:variable name="section-number" select="count(preceding-sibling::section) + 1" />
  ...
("section" elements are interspersed with other elements, but I need
to number them "Section 1, Section 2, etc.").
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:
<xsl:template match="section">
  <xsl:param name="section-number" />
  ...
How do I get the same number, "count(preceding-sibling::section) + 1",
from the calling template? This:
<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, which has no preceding siblings
called "section"? But select="./count(preceding-sibling::section) + 1"
has the same problem. I'm worried that "with-param" is only calculated
once? (I'm using .NET 1.1).
Thanks,
John Sands
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| Re: [xsl] Creating keys depending o, Mukul Gandhi | Thread | Re: [xsl] counting preceding siblin, Wendell Piez | 
| Re: [xsl] Creating keys depending o, David Carlisle | Date | [xsl] How to show distinct node val, Poort, J. | 
| Month |