Re: [xsl] Output conditional on preceding nodes.

Subject: Re: [xsl] Output conditional on preceding nodes.
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 7 Dec 2001 17:10:27 GMT

<xsl:template match="h1[. = 'foo']">
	<xsl:if test="./following::p[3]">
		<xsl:copy-of select="./following::p[3]"/>
	</xsl:if>
</xsl:template>

You don't need the xsl:if there, it isn't doing anything useful
the above is equivalent to


<xsl:template match="h1[. = 'foo']">
		<xsl:copy-of select="following::p[3]"/>
</xsl:template>

If you want everything except that then you want all nodes except p
and all p except the third in which case that's


<xsl:template match="h1[. = 'foo']">
 <xsl:copy-of select="following::node()[not(self::p)]|p[position()!=3]"/>
</xsl:template>

David

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.

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


Current Thread