Re: [xsl] Problems merging two xml documents

Subject: Re: [xsl] Problems merging two xml documents
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Mon, 04 May 2009 19:07:03 +0200
sp wrote:

final doc, which is just a new version of doc1:


 <!-- etc -->

 <!--etc -->

 <c1>more recent stuff</c1>
 <c2>more recent stuff</c2>
 <!--etc -->

<d> new element not in doc1 </d>


Here is a sample XSLT 2.0 stylesheet that does the job with Saxon 9 and the XML input samples you provided:


<xsl:output indent="yes"/>

  <xsl:param name="url2" select="'test2009050404.xml'"/>
  <xsl:variable name="d2" select="document($url2)"/>

<xsl:template match="/*">
<xsl:apply-templates select="@*"/>
<xsl:apply-templates select="*"/>
<xsl:copy-of select="$d2/*/*[not(some $c in current()/* satisfies (node-name(.) eq node-name($c)))]"/>

<xsl:template match="/*/*">
<xsl:copy-of select="*[not(some $c in $d2/*/*[node-name(.) eq node-name(current())]/* satisfies (node-name(.) eq node-name($c)))]"/>
<xsl:copy-of select="$d2/*/*[node-name(.) eq node-name(current())]/*"/>



	Martin Honnen

Current Thread