This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
testing for last node in a list
- To: xsl-list at mulberrytech dot com
- Subject: testing for last node in a list
- From: Ann Marie Rubin - Sun PC Networking Engineering <Annmarie dot Rubin at east dot sun dot com>
- Date: Mon, 22 May 2000 14:46:38 -0400 (EDT)
- Cc: Annmarie dot Rubin at east dot sun dot com
- Reply-To: xsl-list at mulberrytech dot com
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