Most people use (position() = last()) to test for the last item in a list.
The reason your test isn't working is that the last section with a non-empty
HTML element *does* have a following sibling, it just happens to be a
following-sibling that you're not including in your list.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Maria Amuchastegui [mailto:mamuchastegui(_at_)to(_dot_)epost(_dot_)ca]
Sent: 20 February 2005 20:43
To: 'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com'
Subject: [xsl] Following-sibling node test
I am trying to output a list of all 'ref' attributes for which the
corresponding 'HTML' element is empty. For example, given the
following xml
data, I would want to output ['2','3','4','5']. The final
element in the
list should *not* be followed by a comma. I am tying to use the
following-sibling node test but it's not working. How can I
test for these
two conditions (HTML element is not empty, and is last item in list)?
<Content>
<Section ref="1">
<Name/>
<HTML/>
</Section>
<Section ref="2">
<Name>Summary</Name>
<HTML>This is the Summary section.</HTML>
</Section>
<Section ref="3">
<Name>Details</Name>
<HTML>This is the Details section.</HTML>
</Section>
<Section ref="4">
<Name>Contacts</Name>
<HTML>This is the Contacts section.</HTML>
</Section>
<Section ref="5">
<Name>Terms</Name>
<HTML>This is the Terms section.</HTML>
</Section>
<Section ref="6">
<Name/>
<HTML/>
</Section>
</Content>
<xsl:template name="SectionNumbers">
<xsl:for-each select="/Content/Section[HTML != '']">
<xsl:text>'</xsl:text>
<xsl:value-of select="@ref"/>
<xsl:choose>
<xsl:when test="(following-sibling::*) and (HTML != '')">
<xsl:text>',</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>'</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--