Subject: RE: [xsl] Fwd: Combing two different documents From: cknell@xxxxxxxxxx Date: Mon, 17 Jul 2006 06:15:22 -0400 |
Here is an untested set of templates that should merge the two. ===================== <xsl:variable name="file2" select="document('file2.xml')" />
<xsl:template match="/"> <xsl:apply-templates /> </xsl:template>
<xsl:template match="base"> <xsl:apply-templates> </xsl:template>
<xsl:template match="foo"> <foo> <xsl:apply-templates /> <xsl:apply-templates select="$file2/base/foo/*" /> </foo> </xsl:template>
<xsl:template match="foo/*"> <xsl:copy-of select="*" /> </xsl:template> -- Charles Knell cknell@xxxxxxxxxx - email
-----Original Message----- From: David B <daavidb@xxxxxxxxx> Sent: Mon, 17 Jul 2006 10:56:50 +0100 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] Fwd: Combing two different documents
I am trying to combine to seperate XML documents that have the same structure but different leaf nodes, e.g: ---File 1.xml--- <base> <foo> <bar1>123</bar1> </foo> </base> --File 2.xml---- <base> <foo> <bar2>abc</bar2> </foo> </base>
I want the output to be: <base> <foo> <bar1>123</bar1> <bar2>abc</bar2> </foo> </base>
Preferably without hardcoding too much of the structure of the file into the .xsl.
I thought I would run an xslt on file1, and then use the XSLTSL xpath:node template to get the xpath of the current node, construct a string like: <xsl:variable name="path2"> <xsl:text>document('file1.xml')/</xsl:text> <xsl:value-of select="$path"/> <xsl:text>bar2</xsl:text> </xsl:variable>
And then get the contents of the element that xpath points to using: <xsl:value-of select="$path2'"/>
But that just prints the contents of the variable $path2! I would like to use evaluate($path2) but that's not in the xslt standard, so is there any other way of achieving what I am trying to achieve?
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Fwd: Combing two differen, David B | Thread | [xsl] [ANN] XML Studio v6-- Web 2.0, ALT Mobile |
Re: [xsl] Fwd: Combing two differen, andrew welch | Date | Re: [xsl] Fwd: Combing two differen, andrew welch |
Month |