Subject: Re: [xsl] why do I get duplicate <HTML> after xsl:copy ? From: Rahil <qamar_rahil@xxxxxxxxxxx> Date: Thu, 02 Jun 2005 17:00:07 +0100 |
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.
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).
<xsl:template match="BODY"> <xsl:copy> <xsl:copy-of select="."/> <xsl:apply-templates select="TABLE | TABLE/TR | TABLE/TR/TD"/> </xsl:copy> </xsl:template>
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.
Thanks Rahil
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] why do I get duplicate <H, Andrew Welch | Thread | Re: [xsl] why do I get duplicate <H, David Carlisle |
RE: [xsl] why do I get duplicate <H, Aron Bock | Date | RE: [xsl] A sequence of more than o, Andrew Welch |
Month |