RE: [xsl] remove certain elements but keep children

Subject: RE: [xsl] remove certain elements but keep children
From: <Jarno.Elovirta@xxxxxxxxx>
Date: Mon, 4 Oct 2004 09:47:12 +0300
Hi,

> I'm writing an app that aggregates html into a single doc.
> The chunks of
> html are put into the new document wrapped in "output" tags. These
> output tags can be intermingled with html tags.
>
> I'm trying to come up with an xpath or xsl template(s) that
> will remove
> the output tags, while leaving their child html and without producing
> duplicate content.
>
> Here's an example doc:
>
> <output>
> 	<div>
> 		<output>
> 			<h1>a header</h1>
> 			<p>some stuff</p>
> 			<output>
> 				<div>
> 					<p>foo bar</p>
> 				</div>
> 			</output>
> 			<p>more html</p>
> 		</output>
> 	</div>
> 	<p>some html</p>
> </output>
>
> And I want it to be:
>
> <div>
> 	<h1>a header</h1>
> 	<p>some stuff</p>
> 		<div>
> 			<p>foo bar</p>
> 		</div>
> 		<p>more html</p>
> </div>
> <p>some html</p>

In pseudo-code:

xsl:template match=node() | @*
  xsl:copy
    xsl:apply-templates select=node() | @*

xsl:template match=output
  xsl:apply-templates select=node()

Cheers,

Jarno - VNV Nation: Legion (janus)
Current Thread