This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Exclude elements from apply-templates?
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Fri, 21 Jun 2002 21:46:41 +0100
- Subject: RE: [xsl] Exclude elements from apply-templates?
- Reply-to: xsl-list at lists dot mulberrytech dot com
> The title and subtitle are handled by the chapter template,
> so I when I say apply-templates later, I don't want these to
> appear again the output. This seemed logical to me:
>
> <xsl:apply-templates select="not(title | subtitle)"/>
>
> But Saxon says: "Sequence selected by xsl:apply-templates
> contains an item that is not a node."
>
Guessing the language by trial and error works surprisingly often, but
occasionally it's useful to read the spec. The not() function returns a
boolean, not a node-set.
In XSLT 2.0 (which you're using, judging by the error message) you can
do
select="* except (title|subtitle)"
In 1.0 you need something like
select="*[not(self::title)][not(self::subtitle)]"
Alternatively create template rules for these two elements that output
nothing:
<xsl:template select="title|subtitle"/>
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list