This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

testing for last node in a list


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]