thanks. Will this work if I add one more node inside DEF. Something like:
<ZZ>
<ABC>XXXXX</ABC>
<DEF>
<HIJ>YYYYYY<HIJ>
</DEF>
</ZZ>
One more question regarding "<xsl:apply-templates select="*" />". Is
this going to be applied for each node and attribute also? So for eg:
if I have <ABC xmnls:ns2="http://"> would "<template match=*>" be
called for ABC and then xmnls:ns2 also. Reason I am asking is that I
have scenario where I want to get rid of xmnls:ns2.
On Fri, Sep 5, 2008 at 9:08 PM, Mukul Gandhi
<gandhi(_dot_)mukul(_at_)gmail(_dot_)com> wrote:
Please find below the solution.
Let's say the two XML documents be:
x.xml
<ZZ>
<ABC>XXXXX</ABC>
<DEF>YYYYYY</DEF>
</ZZ>
y.xml
<ZZ>
<ABC>AAAAA</ABC>
<DEF>FFFFFFF</DEF>
</ZZ>
The stylesheet is:
test.xsl
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" indent="yes" />
<xsl:variable name="x" select="document('x.xml')" />
<xsl:variable name="y" select="document('y.xml')" />
<xsl:template match="/">
<Body>
<xsl:apply-templates select="$x/ZZ" />
<xsl:apply-templates select="$y/ZZ" />
</Body>
</xsl:template>
<xsl:template match="ZZ">
<ZZ>
<xsl:apply-templates select="*" />
</ZZ>
</xsl:template>
<xsl:template match="*">
<xsl:copy>
<xsl:choose>
<xsl:when test=". = 'YYYYYY'">
<xsl:text>DDDDD</xsl:text>
</xsl:when>
<xsl:when test=". = 'GGGGGG'">
<xsl:text>EEEEEE</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="." />
</xsl:otherwise>
</xsl:choose>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Supposing this is run with Xalan-J as:
java org.apache.xalan.xslt.Process -in test.xsl -xsl test.xsl
The output is:
<?xml version="1.0" encoding="UTF-8"?>
<Body>
<ZZ>
<ABC>XXXXX</ABC>
<DEF>DDDDD</DEF>
</ZZ>
<ZZ>
<ABC>AAAAA</ABC>
<DEF>FFFFFFF</DEF>
</ZZ>
</Body>
On Fri, Sep 5, 2008 at 10:47 PM, Mohit Anchlia
<mohitanchlia(_at_)gmail(_dot_)com> wrote:
one more question, for above scenario should I be using xsl:key for
mapping purposes. for eg: If I want to change value from A to B for
certain node types?
I don't think xsl:key can be useful in this scenario.
--
Regards,
Mukul Gandhi
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--