|
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 |