Re: [xsl] Applying templates to all but descendant-or-self::

Subject: Re: [xsl] Applying templates to all but descendant-or-self::
From: "Jagdishwar B" <jagdishwar.beemanati@xxxxxxxxx>
Date: Fri, 16 Jun 2006 09:12:14 +0200
Hi,


I'm still rather confused by the reason that <xsl:apply-templates select="*[not(descendant-or-self::sectionnumber or descendant-or-self::sectiontext)]"/> would not match the <change> element. I wonder if you could shed any light on this?

in your case, the <xsl:apply-templates select="*[not(descendant-or-self::sectionnumber or descendant-or-self::sectiontext)]"/> will not match <change> element because, when <change> is the context node, it satisfies the predicate (descendant-or-self::sectionnumber or descendant-or-self::sectiontext) as <change> itself has sectionnumber and sectiontext as descendents. and, not(descendant-or-self::sectionnumber or descendant-or-self::sectiontext) is giving false when <change> is the context node, so it is not getting matched.

i think you can achieve what you are looking for, by using
<xsl:apply-templates select="*[not(self::sectionnumber or self::sectiontext)]"/>
it will match all the children of <section> exept sectionnumber and sectiontext.

Kind Regards,
Jagdishwar.

Current Thread