Subject: RE: Copy a node inside a template but exclude a deeply nested child
From: "Adam Retter" <adam.retter@xxxxxxxxxxxx>
Date: Mon, 4 Sep 2006 16:17:52 +0100
|
Thanks Michael,
For completeness, I accomplished your code below by copying your two
templates into my xslt stylesheet and replacing -
<xsl:copy-of select="content/main/show/node()"/>
with -
<xsl:apply-templates mode="copy" select="content/main/show/node()"/>
It seems to work very well, hopefully that is as you described I should
do?
Cheers Adam.
-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
Sent: Mon 9/4/2006 12:52 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: Copy a node inside a template but exclude a deeply
nested child
> I have an existing xslt and in one of the templates it makes
> a copy of a node from the xml document, I now have the need
> to exclude a deeply nested child from that copy
You have to replace the xsl:copy-of with a recursive use of the identity
template:
<xsl:template match="*" mode="copy">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates mode="copy"/>
<xsl:copy>
</xsl:template>
<xsl:template match="element-to-be-excluded" mode="copy"/>
Michael Kay
http://www.saxonica.com/
|