ID に参加する必要がある XML があります
XML 入力 (93 Mb)
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <Partner>
      <ID>186561</ID>
   </Partner>
   ...
<root>
XML : fuzzymatched.xml (40 Mb)
<?xml version="1.0" standalone="yes"?>
<root>
   <Partner>
    <ID>186561</ID>
    <FUZZYMATCH>71</FUZZYMATCH>
  </Partner>
  ...
<root>
このファイルを次の XSLT で結合すると、非常に遅くなります。毎回大きなドキュメントを開くようです?! より良い解決策はありますか?または私は何か間違ったことをしていますか。Talend Open Studio の XSLT エンジンを使用しています
XSLT ファイル
<!-- ********************************************* -->
<!-- fuzzymatch_joiner.xsl : -->
<!-- ********************************************* -->
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:variable name="vPartners" select="document('file:///c:/temp/fuzzymatched.xml')/root" />
<xsl:template match="root">
    <xsl:copy>
          <xsl:apply-templates select="Partner"></xsl:apply-templates>          
        </xsl:copy>
</xsl:template>
<!-- ********************************************* -->
<xsl:template match="Partner">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"></xsl:apply-templates>
        <xsl:copy-of select="$vPartners/Partner[ID = current()/ID]/FUZZYMATCH"/>
    </xsl:copy>
</xsl:template>
<!-- ********************************************* -->
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
      </xsl:copy>
</xsl:template>
<!-- ********************************************* -->
 </xsl:stylesheet>