Subject: RE: How to apply templates to all child elements except a few
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 17 Oct 2006 14:59:18 -0400
|
At 2006-10-17 14:45 -0400, cknell@xxxxxxxxxx wrote:
<xsl:template match="el1">
<xsl:apply-templates match="*[not(local-name() = 'CHILD4'] />
</xsl:template>
--
Charles Knell
cknell@xxxxxxxxxx - email
-----Original Message-----
From: rfd ewrew <xmlquestions101@xxxxxxxxxxx>
Sent: Tue, 17 Oct 2006 13:38:15 -0500
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: How to apply templates to all child elements except a few
Hi:
I was wondering if there was any way in xslt to APPLY TEMPLATES a few
elements and exclude a few
Suppose i have an xml with a root element as el1
<el1>
<CHILD1></CHILD1>
<CHILD2></CHILD2>
<CHILD3></CHILD3>
<CHILD4></CHILD4>
</el1>
I want to write something like apply templates to all elements except
CHILD4. How do I do this?
I would suggest, Charles, that using the self::
axis is "safer" because while it accommodates the
elements as given it also accommodates the
situation where readers of the archive happen to
be working with elements in a namespace this
usage pattern would be more appropriate:
<xsl:template match="el1">
<xsl:apply-templates match="*[not(self::CHILD4)]"/>
</xsl:template>
I hope this helps.
. . . . . . . . . . . . Ken
--
UBL/XSLT/XSL-FO training: Allerxd/Verx Denmark 2006-11-13,17,20/24
UBL International 2006 2006-11-13/17 http://www.ublconference.com
World-wide corporate, govt. & user group UBL, XSL, & XML training.
G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Cancer Awareness Aug'05 http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
|