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: 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
|