RE: [xsl] counting preceding siblings in with-param

Subject: RE: [xsl] counting preceding siblings in with-param
From: "Kienle, Steven C [IT/0200]" <steven.c.kienle@xxxxxxxxxxxxx>
Date: Wed, 23 Jul 2003 12:03:32 -0400

I think the best solution would be to define the parameter but not always
use it.  In the variable declaration you can test if the parameter to see if
it has a value.  If it does, use that value, otherwise calculate it.  As in:

    <xsl:template match="section">
        <xsl:param name="override" />

        <xsl:variable name="section-number">
            <xsl:choose>
                <xsl:when test="$override">
                    <xsl:value-of select="$override"/>
                </xsl:when>
                <xsl:otherwise>
                     <xsl:value-of select="count(preceding-sibling::section)
+ 1" />
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>

     .......


This should do what you need.

	Steve

-----Original Message-----
From: John Sands [mailto:WonkoWatson@xxxxxxxxx]
Sent: Wednesday, July 23, 2003 11:31 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] counting preceding siblings in with-param


Yes - sorry for not being clearer. I ALSO call the same template from
my C# code with an XML document that does not contain all the
sections, but just one of them. I have the correct section number in a
C# variable. Like this:

      XsltArgumentList args = new XsltArgumentList();
      args.AddParam("section-number", "", _sectionNumber.ToString());
      string html = XmlUtils.TransformXmlNode(_node, _xslt, args);

So it has to be a parameter to work in both situations.



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

This communication is intended solely for the use of the addressee and may
contain information that is legally privileged, confidential or exempt from
disclosure.  If you are not the intended recipient, please note that any 
dissemination, distribution, or copying of this communication is strictly 
prohibited.  Anyone who receives this message in error should notify the 
sender immediately and delete it from his or her computer.


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread