RE: [xsl] apply-templates with exceptions

Subject: RE: [xsl] apply-templates with exceptions
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 12 Nov 2003 00:12:52 -0000
> 
> Hey, just found out how to get a "negative" node list (thank-you, 
> archives!):
> 
> <xsl:apply-templates select="*[not(name() = 'title')]" />
> 
> I'll use this unless anyone has a cleaner or more efficient method?
> 

Well, it's definitely better to write select="*[not(self::title)] if you
know the name at compile time (for a start, it avoids namespace
complications).

In XPath 2.0 you can write select="* except title".

Another approach is to apply-templates on all the elements (perhaps in a
special mode) and then define a null template

<xsl:template match="title" mode="xxx"/>

This last approach is definitely the neatest once you have a (growing)
list of elements to be excluded.

Michael Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread