This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
weird behavior with last()
- To: xsl-list at lists dot mulberrytech dot com
- Subject: [xsl] weird behavior with last()
- From: Nathan Shaw <n8_shaw at yahoo dot com>
- Date: Tue, 24 Jul 2001 10:49:30 -0700 (PDT)
- Reply-To: xsl-list at lists dot mulberrytech dot com
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()"> | </xsl:if>
</xsl:template>
<xsl:template match="SubMenuItem">
<b><a href="{@URL}"><xsl:apply-templates
/></a></b><xsl:if
test="position()!=last()"> | </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