xsl-list
[Top] [All Lists]

Re: [xsl] Fwd: Combing two different documents

2006-07-17 08:43:00
On 7/17/06, andrew welch <andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> 
wrote:

The problem here, Mukul, is that for each leaf node in the source
document, all leaf nodes in $doc2 will be copied.  If you were to add
a few extra leaf nodes to the examples this would become apparent.

Thanks Andrew, for pointing this to me..

I believe, the following should work:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:output method="xml" indent="yes" />

<xsl:variable name="doc2" select="document('file2.xml')" />

<xsl:template match="node() | @*">
  <xsl:copy>
    <xsl:apply-templates select="node() | @*" />
  </xsl:copy>
</xsl:template>

<xsl:template match="*[* and not(*/*)]">
  <xsl:copy>
    <xsl:copy-of select="*" />
    <xsl:copy-of select="$doc2//*[not(*)]" />
  </xsl:copy>
</xsl:template>

<xsl:template match="*[not(*)]" />

</xsl:stylesheet>

Regards,
Mukul

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--