|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








