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>