[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] weird behavior with last()


Subject: RE: [xsl] weird behavior with last()
From: "Oleg Tkachenko" <ost@xxxxxxxxxxxxxxxxx>
Date: Tue, 24 Jul 2001 21:53:43 +0200

Hello Nate !

What about empty whitespace nodes in your source xml ? msxml by default strip all empty whitespace nodes despite of xslt spec.
Try to strip they out and you will get the same behavior of msxml and saxon:
<xsl:strip-space elements="MainMenu SubMenu"/>

---
Oleg Tkachenko,
Multiconn International 

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Nathan Shaw
> Sent: Tuesday, July 24, 2001 7:50 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] weird behavior with last()
> 
> 
> 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.
> 
> TIA,
> 
> Nate
> 
> __________________________________________________
> Do You Yahoo!?
> Make international calls for as low as $.04/minute with Yahoo! Messenger
> http://phonecard.yahoo.com/
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 


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



Current Thread
Keywords