xsl-list
[Top] [All Lists]

RE: why do I get duplicate <HTML> after xsl:copy ?

2005-06-02 08:31:08

The forum has been very quiet for a while but Im still hoping someone 
will be able to help with probably a very simple query.

Im trying to copy all the contents of an HTML file into 
another file but 
I get a duplicate <HTML> tag at the start. Ive tried out loads of 
options but theres always a duplication of the first 
<xsl:apply-templates> expression.

The reason is that you have:

<xsl:copy>
  <xsl:copy-of select="."/>

..which copies the <html> element by itself (xsl:copy), and then copies
the <html> element, it's attributes and all it's descendents
(xsl:copy-of).

I think you are after the 'identity stylesheet':

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

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

</xsl:stylesheet>

This is the basis for the stylesheet when you want to copy most of the
xml, making a few changes here and there. 

Cheers
andrew

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--