Re: [xsl] weird behavior with last()

Subject: Re: [xsl] weird behavior with last()
From: "Thomas B. Passin" <tpassin@xxxxxxxxxxxx>
Date: Tue, 24 Jul 2001 14:20:09 -0400
I got a different result after I copied your code by cut-and-paste.

With Saxon, I always got the trailing "|", with msxml3 I never got it,
whether or not I put the </MainMenu> onthe same line as </MainMenuItem> or
not.

Here, I am using Instant Saxon 6.2.2 running in XML Cooktop.

Sounds like it's time for Mike Kay...

Cheers,

Tom P

[Nathan Shaw]

> Using Saxon with this XML snippet...
>
> <MainMenu>
>     <MainMenuItem URL="/">Home</MainMenuItem>
>     <MainMenuItem URL="/strat.html">Strategic
> Vision</MainMenuItem>
>     <MainMenuItem URL="/themes.html">Research
> Themes</MainMenuItem>
>     <MainMenuItem
> URL="/edu.html">Education</MainMenuItem>
>     <MainMenuItem
> URL="http://commercial.hq.nasa.gov";>Commercial</MainMenuItem>
> </MainMenu>
> <SubMenu>
>     <SubMenuItem
> URL="/strat.html#v">Mission</SubMenuItem>
>     <SubMenuItem
> URL="/strat.html#g">Goals</SubMenuItem>
>     <SubMenuItem
> URL="/strat.html#p">Philosophy</SubMenuItem>
> </SubMenu>
>
> XSL looks like this:
>
> <xsl:template match="MainMenuItem">
> <b><a href="{@URL}"><xsl:apply-templates
> /></a></b><xsl:if
> test="position()!=last()">&#32;|&#32;</xsl:if>
> </xsl:template>
>
> <xsl:template match="SubMenuItem">
> <b><a href="{@URL}"><xsl:apply-templates
> /></a></b><xsl:if
> test="position()!=last()">&#32;|&#32;</xsl:if>
> </xsl:template>
>
> If I transform it like it is, I get an end "|" after
> the last <MainMenuItem> (not correct behavior) but NOT
> the last <SubMenuItem> (correct behavior). If I bring
> the end </MainMenu> tag up to the same line as the
> last </MainMenuItem> tag, I do not get the end "|"
> (correct behavior).
>
> Any ideas as to why this is happening? I realize that
> it is a rather trivial question, but it is an issue as
> I have to hand off the maintainence of the XML files
> to the client.
>



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


Current Thread