使用 <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>