[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Following-sibling node test


Subject: Re: [xsl] Following-sibling node test
From: "Joris Gillis" <roac@xxxxxxxxxx>
Date: Sun, 20 Feb 2005 21:49:38 +0100

Tempore 21:42:55, die 02/20/2005 AD, hinc in xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit Maria Amuchastegui <mamuchastegui@xxxxxxxxxxx>:

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)?



By using a predicate:


<xsl:template name="SectionNumbers">
  <xsl:for-each select="/Content/Section[not(HTML = '')]">
	   <xsl:text>'</xsl:text>
	   <xsl:value-of select="@ref"/>
	   <xsl:choose>
			<xsl:when test="following-sibling::*[not(HTML = '')]">
				 <xsl:text>',</xsl:text>
			</xsl:when>
			<xsl:otherwise>
				 <xsl:text>'</xsl:text>
			</xsl:otherwise>
	   </xsl:choose>
  </xsl:for-each>
</xsl:template>

regards,
--
Joris Gillis (http://www.ticalc.org/cgi-bin/acct-view.cgi?userid=38041)
"Et ipsa scientia potestas est"  - Francis Bacon , Meditationes sacrae


Current Thread