Subject: Re: [xsl] Fwd: Combing two different documents From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Mon, 17 Jul 2006 22:01:19 +0530 |
No, the problem is the same. You are in the context of a specific element in the first tree, but copy all leaves of the second tree. See the Andrew's solution, how he uses the count of the preceding nodes to target the right element in the second tree.
file1.xml is <base> <foo> <bar1>123</bar1> </foo> </base>
file2.xml is <base> <foo> <bar2>abc</bar2> </foo> </base>
The OP said, that structure of both trees is same, except the leaf elements (bar1 and bar2 here). There can be multiple elements at leaf, on both trees.
The OP wanted to merge the leaf elements, and leaving rest of the structure intact.
<xsl:template match="*[* and not(*/*)]"> <xsl:copy> <xsl:copy-of select="*" /> <xsl:copy-of select="$doc2//*[not(*)]" /> </xsl:copy> </xsl:template>
matches those element nodes in file1.xml, which are just above the leaf elements (for e.g. at level /base/foo). This template first copies its leaf elements, and then copies the other tree's leaves.
Regards, Mukul
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Fwd: Combing two differen, Florent Georges | Thread | Re: [xsl] Fwd: Combing two differen, Florent Georges |
RE: [xsl] Matching elements based o, Michael Kay | Date | RE: [xsl] Matching elements based o, Michael Kay |
Month |