[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Replace nodes in xml file

Subject: Re: Replace nodes in xml file
From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx>
Date: Sat, 3 Apr 2010 08:43:00 +0530
Re:  Replace nodes in xml file
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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.