[xsl] Excluding a complete branch while identity copying

Subject: [xsl] Excluding a complete branch while identity copying
From: "Fraser Goffin" <goffinf@xxxxxxxxxxxxxx>
Date: Fri, 10 Oct 2008 18:44:21 +0100
I want to be able to copy a complete XML instance as/is except for
[say] some specific parts of the input tree. I thought immediately of
using an identity transform and specifying copy, but how to remove
those pesky sub-trees :-

Say this was my input :-

<Numbers>
	<Odds>
		<One>1</One>
		<Three>3</Three>
		<Five>5</Five>
	</Odds>
	<Evens>
		<Two>2</Two>
		<Four>4</Four>
		<Six>6</Six>
	</Evens>
	<Doubles>
		<Two>4</Two>
		<Four>8</Four>
		<Eight>16</Eight>
	</Doubles>
	<Squares>
		<Two>4</Two>
		<Four>16</Four>
		<Eight>64</Eight>
	</Squares>
</Numbers>

and I want to copy everything to output except <Evens> and <Squares>.

Lets also assume that the order of the input is undefined, so Evens
and Squares may/may not be in the positions I have shown above,
although I can assume that they are both children of <Numbers>.
Further, I don't know what all the children of Evens and Squares are
called I just know I don't want them.

Whats the easiest way of accomplishing this ?

many thanks

Fraser.

Current Thread