This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Exclude elements from apply-templates?


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]