RE: [xsl] Correcting an XML documentxsl-list@lists.mulberrytech.c om

Subject: RE: [xsl] Correcting an XML documentxsl-list@lists.mulberrytech.c om
From: walter.crockett@xxxxxxxxxxxxxxxxxxxxx
Date: Fri, 16 Jul 2004 10:52:15 -0400
It turns out that when I do this:

<xsl:template match="*">
<xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates/></xsl:copy>
</xsl:template>

 I get all the values in the document, but none of the XML tags. I need to
reproduce the entire XML document, tags and all, with the changes in it.

Am I missing something simple?

-----Original Message-----
From: Michael Kay [mailto:mhk@xxxxxxxxx]
Sent: Thursday, July 15, 2004 8:01 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Correcting an XML
documentxsl-list@xxxxxxxxxxxxxxxxxxxxxx


> So, basically, I need to change two types of things and then
> copy over the
> entire XML document with the changes in it. This would seem
> very simple, but I'm at a loss.
>

You write an identity template to copy all elements

<xsl:template match="*">
<xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates/></xsl:copy>
</xsl:template>

and then add template rules to modify the ones you want to modify, e.g.

<xsl:template match="Datatype[.='DATE']">
<Datatype>TIMESTAMP</Datatype>
</xsl:template>

Michael Kay

Current Thread