<xsl:apply-templates select="" mode=""> を使用して解決策を見つけました
以下のような個別のcountries.xslファイルを作成し、 <xsl:call-template name="countrySubstitution"> を使用してこれを呼び出しました。
私のメインの XSL では:
<xsl:template match="country">
<xsl:call-template name="countrySubstitution">
<xsl:with-param name="contextName" select="@name"/>
</xsl:call-template>
</xsl:template>
国.xsl:
<xsl:stylesheet version="2.0">
<xsl:template name="countrySubstitution">
<xsl:param name="countryCode" select="."/>
<xsl:apply-templates select="document('countries.xml')" mode="ABCD">
<xsl:with-param name="countryCode" select="@id"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="/" mode="ABCD">
<xsl:param name="countryCode" select="."/>
<xsl:value-of select="//country[@id=$countryCode]/@name" />
</xsl:template>
</xsl:stylesheet>