Re: [xsl] testing element's contents

Subject: Re: [xsl] testing element's contents
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 3 Oct 2002 17:09:15 +0100
> <xsl:when test="((descendant::*[1])[self::Link] and
> (descendant::*[2])[self::Media]) or

That doesn't test for what you said you were going to test for, which is
that p has only Link and Media children (rather than desecndents).
It would be true if the first child was followed by any other stuff.

I'd do
<xsl:template match="p">
<p>
<xsl:apply-templates/>
</p>
</xsl:apply-templates>

<xsl:template match="p[not(node()[2]) and (Media or (Link/Media and not(Link/node()[2])))]">
<xsl:apply-templates/>
</xsl:apply-templates>

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