wel...
given your (2nd pass) input I think
<File>
<Name>
<xsl:value-of select="./Name"/>
</Name>
<Type><xsl:value-of select="./Type"/></Type>
<BriefDescription><xsl:value-of
select="./BriefDescription"/></BriefDescription>
<SourceFileName><xsl:value-of
select="./SourceFileName"/></SourceFileName>
<IgnoreFlag><xsl:value-of select="./IgnoreFlag"/></IgnoreFlag>
</File>
can be replaced by
<xsl:copy-of select="."/>
which means that basically you should be able to merge this in to your
first stylesheet. (In general in pure xslt 1 to merge the results of two
stylesheets you need to do what you are doing, produce an intermediate
documemt, but as one of your transforms is just a copy I think you want
something like
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:key name="x" match="File" use="Name"/>
<xsl:template match="/">
<CodeLibrary>
<xsl:apply-templates
select="doxygenindex/compound[not(key('x',@name)]|document('tblMasterFile.xml')/CodeLibrary/File">
<xsl:sort select="@name|Name"/>
</xsl:apply-templates>
</CodeLibrary>
</xsl:template>
<xsl:template match="doxygenindex/compound">
<File>
<Name><xsl:value-of select="name"/></Name>
<Type><xsl:value-of select="@kind"/></Type>
<BriefDescription/>
<SourceFileName><xsl:value-of select="@refid"/></SourceFileName>
<IgnoreFlag>77</IgnoreFlag>
</File>
</xsl:template>
<xsl:template match="File">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list