Subject: Re: [xsl] xsl: parsing through specific child nodes From: "Mohit Anchlia" <mohitanchlia@xxxxxxxxx> Date: Sat, 6 Sep 2008 17:23:43 -0700 |
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.mukul@xxxxxxxxx> 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@xxxxxxxxx> 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xsl: parsing through spec, Mukul Gandhi | Thread | RE: [xsl] xsl: parsing through spec, Michael Kay |
Re: [xsl] xsl: parsing through spec, Mukul Gandhi | Date | RE: [xsl] xsl: parsing through spec, Michael Kay |
Month |