Subject: Re: [xsl] Replace nodes in xml file From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx> Date: Sat, 3 Apr 2010 08:43:00 +0530 |
I think, the following XSLT transform may work for this problem description: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes" /> <xsl:variable name="confDoc" select="document('config.xml')" /> <xsl:template match="node() | @*"> <xsl:copy> <xsl:apply-templates select="node() | @*" /> </xsl:copy> </xsl:template> <xsl:template match="element/*"> <xsl:variable name="replc" select="$confDoc/config/element[@name = current()/../@name]/*[local-name() = local-name(current())]" /> <xsl:copy-of select="if ($replc) then $replc else ." /> </xsl:template> </xsl:stylesheet> On Sat, Apr 3, 2010 at 12:45 AM, Suresh <suresh.chinta@xxxxxxxxx> wrote: > I have an xml config file whose nodes are to be replaced into the > source xml file I am transforming using xslt. The source file will be > as > > <source> > <element name="abc"> > <a>1</a> > <b>2</b> > <c>3</c> > <d>4</d> > </element> > <element name="xyz"> > <a>4</a> > <b>3</b> > <c>2</c> > <d>1</d> > </element> > </source> > > The config file has nodes defined in this format: > > <config> > <element name="abc"> > <a>5</a> > <d>9</d> > </element> > <element name="xyz"> > <a>5</a> > <d>9</d> > </element> > </config> > > I need help in writing xslt to read nodes matching > config/element/@name with source/element/@name and replace nodes in > the source file. > > Thanks -- Regards, Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Replace nodes in xml file, Syd Bauman | Thread | [xsl] Announce: Early-bird date ext, G. Ken Holman |
Re: [xsl] Replace nodes in xml file, Syd Bauman | Date | [xsl] Announce: Early-bird date ext, G. Ken Holman |
Month |