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 06:50:57 -0700
    [Kay]: ($result/BAR)[last()]

           [] has higher precedence than /

Thanks, I hadn't even thought about operator precedences.

    [Pietschmann]: Try select="$result[last()]"

This also seemed to work, judging by the fact that

    <xsl:copy-of select="($result/BAR)[last()]" />
and
    <xsl:copy-of select="$result[last()]" />

produced equivalent (looking) output.  But there was a difference when trying to access the "i" attribute.  That is, with the input:

    <BAR i=1/><BAR i=2/><BAR i=3/>

and using Michael's solution:

    <xsl:variable  name="prior"  select="($result/BAR)[last()]" />

I need to use the following to access the value of "i"

    <xsl:value-of select="$prior/@i" />

but using J's solution:

    <xsl:variable  name="prior"  select="$result[last()]" />

I need to use

    <xsl:value-of select="$prior/TEXT/@i" />

Is there a "root" element here that J's solution creates?

Thanks,

Paul



________________________________________________________
Outgrown your current e-mail service?
Get a 25MB Inbox, POP3 Access, No Ads and No Taglines with LYCOS MAIL PLUS.
http://login.mail.lycos.com/brandPage.shtml?pageId=plus

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


Current Thread