testing for last node in a list

Subject: testing for last node in a list
From: Ann Marie Rubin - Sun PC Networking Engineering <Annmarie.Rubin@xxxxxxxxxxxx>
Date: Mon, 22 May 2000 14:46:38 -0400 (EDT)
Hello,

I am generating a list of ancestor nodes for a matched CLASS element. The XSL 
calls this template to output the ancestors when a CLASS is matched. I want to 
output a "|" character after each CLASS node, EXCEPT the last one.  I am unable 
to express the correct test for the last node in this list. I tried using 
<xsl:if test="position()=last()">, but this statement returns true each time the 
template is called.

Is there another way to solve this?

Thanks,

Ann Marie


My XSL:
------------------
<!-- named template to do the hierarchy tracing -->
<xsl:template match="CLASS" mode="hierarchy">
    <xsl:apply-templates select="key('classes', @SUPERCLASS)" mode="hierarchy"/>
    <br data="{@SUPERCLASS}"><a href="{@NAME}.html"><xsl:value-of 
select="@NAME"/></a></br>
<xsl:if test="position()=last()">
    <xsl:text>|</xsl:text>
</xsl:if>
</xsl:template>

Output:
----------
CIM_ManagedSystemElement
|
CIM_LogicalElement
|
CIM_SoftwareElement
|
Solaris_Package
|



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


Current Thread