Andrew Welch wrote:
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).
So if I get rid of <xsl:copy> from within the <xsl:template
match="HTML"> it should not copy <HTML> twice ? I tried this approach
hoping that by removing <xsl:copy> it should not copy the present node.
This solved the duplicate <HTML> at the start but also removed the end
tag </HTML> at the end of the file. Im obviously going wrong somewhere
but dont know how to resolve it.
I apply the same logic in the next block
<xsl:template match="BODY">
<xsl:copy>
<xsl:copy-of select="."/>
<xsl:apply-templates select="TABLE | TABLE/TR | TABLE/TR/TD"/>
</xsl:copy>
</xsl:template>
Then why doesnt the result contain duplicate <BODY> tags ?
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.
Can I use this approach for copying an HTML file? Isnt this applicable
only to XML files?
Thanks
Rahil
--~------------------------------------------------------------------
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>
--~--