xsl-list
[Top] [All Lists]

RE: Correcting an XML documentxsl-list(_at_)lists(_dot_)mulberrytech(_dot_)c om

2004-07-16 07:52:15
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(_at_)mhk(_dot_)me(_dot_)uk]
Sent: Thursday, July 15, 2004 8:01 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Correcting an XML
documentxsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com


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


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