Re: [xsl] RE: apply-templates and excluding a node

Subject: Re: [xsl] RE: apply-templates and excluding a node
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 4 Oct 2001 17:27:03 +0100
> it is <xsl:apply-templates select="*[not(self::PRFID)]" />

> What I do not undestand is why "self" why not "child"? Can anyone explain
> this?

becuse inside the [] the current node is one of the nodes matched by *
not the original context.

If you just wanted to select child elements that had a xxx attribute
you'd go

select="*[@xxx]"

this works because @xxx selects xxx attributes of the children selected
by *.

similarly

select="*[xxx]" is short for select="*[child::xxx]"

and that would select children which had xxx children (which would be
xxx grandchildren of the original node)

you don't want that you want children which are (or are not) xxx

select="*[self::xxx]" which actually is the same as select="xxx"
and
select="*[not(self::xxx)]"

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