Subject: Re: [xsl] Merging Two Nodesets .. can it be done? From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Tue, 14 Aug 2007 13:37:56 +0530 |
If the structure of your input XML is fixed, we can achieve the desired output by hardcoding the structure. I can suggest something like below: <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes" /> <xsl:template match="/X"> <X> <Y> <Z> <xsl:copy-of select="Y/Z/*" /> </Z> <xsl:for-each select="Y"> <xsl:copy-of select="*[not(*)]" /> </xsl:for-each> </Y> </X> </xsl:template> </xsl:stylesheet> But if you want the stylesheet to be generic, which could handle any input XML, and merge the nodes, I think it will be slightly difficult to write such a stylesheet. On 8/14/07, Wasiq Shaikh <wasiq911@xxxxxxxxxxx> wrote: > Quick question .. is there a way to merge two node-sets in XSL that have > similar structure? > > Example Input: (generated output from XSLT) > > <X> > <Y> > <aaa> > <Z> > <bbb> > <ccc> > </Z> > </Y> > <Y> > <ddd> > <eee> > <Z> > <fff> > </Z> > </Y> > </X> > > Desired Output: (This is how I would like to get it in the same XSLT > process) > > <X> > <Y> > <Z> > <bbb> > <ccc> > <fff> > </Z> > <aaa> > <ddd> > <eee> > </Y> > </X> > > Notice the Y elements are merged, as well as the Z elements. > > Is there any function or algorithm out there that can do this in one shot > (or at all)? Or do I have to turn this into a two step process by making the > generated output an input do another XSL that does the merge? > > Thanks for any insight! > > W.S -- Regards, Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Merging Two Nodesets .. c, Abel Braaksma | Thread | [xsl] [ann] Kernow 1.5.2 beta - Now, Andrew Welch |
Re: [xsl] Re: XML/XHTML fragment to, Abel Braaksma | Date | [xsl] Re: XML/XHTML fragment to tex, Alain |
Month |