Re: [xsl] accessing last element of node set passed as parameter

Subject: Re: [xsl] accessing last element of node set passed as parameter
From: "paul morgan" <pmorg@xxxxxxxxx>
Date: Tue, 21 May 2002 12:31:02 -0700
Thanks Joerg.  I had come up with my solution borrowing from a response from Michael Kay to a question I had about recursively building up a nodeset.  Following is Michael's code:

    <xsl:template name="build">
      <xsl:param name="n"/>
      <xsl:param name="tree"/>
      <xsl:call-template name="build">
         <xsl:with-param name="n" select="$n+1"/>
         <xsl:with-param name="tree">
           <xsl:copy-of select="$tree"/>
           <a i="{$n}"/>

I had assumed it was building a nodeset ... but obviously (except to me) not.


On Tue, 21 May 2002 21:15:11  
 Joerg Heinicke wrote:
>Hello Paul,
>you're again creating a RTF and must convert it to a node-set. Either in 
>your "A" template or by changing the apply-templates again:
><xsl:variable name="tmp">
>   <xsl:copy-of select="$result"/>
>   <BAR i="{$i}"/>
><xsl:apply-templates select="following-sibling::*[1]">
>   <xsl:with-param name="result" select="xalan:nodeset($tmp)"/>
>paul morgan schrieb:
>> Thanks David!  Some of this is starting to click ... but then again something happens that shuts the clicker down.
>> Since order is important to me, I decided to heed your warning about the ordering of a union being implementation dependent, so I set about making all of the "BAR" elements be siblings of one another.  I replaced:
>>     <xsl:apply-templates select="following-sibling::*[1]">
>>         <xsl:with-param name="result" select="$result|xalan:nodeset($new)"/>
>>     </xsl:apply-templates> </xsl:template> 
>> with:
>>     <xsl:apply-templates select="following-sibling::*[1]">
>>         <xsl:with-param name="result">
>>             <xsl:copy-of select="$result"/>
>>             <BAR i="{$i}"/>
>>         </xsl:with-param>
>>     </xsl:apply-templates> </xsl:template> 
>> but now I get the following error message:
>>     Can not convert #RTREEFRAG to a NodeList!
>> at the line:
>>     <xsl:copy-of select="($result/BAR)[last()]" />
>> the first time the "A" template is matched with a non-empty value for "result".  Shouldn't "result" be a node set?
>> Paul (I think this language is going to make my head explode)
> XSL-List info and archive:

Outgrown your current e-mail service?
Get a 25MB Inbox, POP3 Access, No Ads and No Taglines with LYCOS MAIL PLUS.

 XSL-List info and archive:

Current Thread