Re: [xsl] Deep copy that excludes the element tag

Subject: Re: [xsl] Deep copy that excludes the element tag
From: Laurence O Garfield <lgarfiel@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 25 Jul 2001 13:55:28 -0500 (CDT)
On Wed, 25 Jul 2001, Jason Macki wrote:

> Hello,
>
> Is it possible to use XHTML to transform this:
>
> 	<myhtml>This is some <b>HTML</b>!</myhtml>
>
> Into this:
>
> 	This is some <b>HTML</b>!
>
> In other words, I'd like to do a deep copy (a copy that includes any
> elements within the element) of the contents of "myhtml" while excluding
> the tag for the "myhtml" element.
>
> Thanks,
> Jason

Try the following:

<xsl:template match="myhtml">
 <xsl:apply-templates mode="copyall"/>
</xsl:template>

<xsl:template match="@*|*|text()" mode="copyall">
 <xsl:copy>
  <xsl:apply templates select="@*|*|text()" mode="copyall"/>
 </xsl:copy>
</xsl:template>

That would apply the identity transformation ("keep the same") for only
sub-nodes of myhtml, and anywhere else that you called apply-templates
with the copyall mode.

I think that should work, anyway.

--Larry Garfield


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


Current Thread