, <xsl:for-each>, <xsl:apply-templates>, , .
, . , : <xsl:for-each> . . for-each:
<xsl:template match="/">
<e><xsl:apply-templates select="$B/c/d[$A/a/b = .]" /></e>
</xsl:template>
<xsl:template match="d">
<f i="{position()}"><xsl:value-of select="." /></f>
</xsl:template>
:
<e>
<f i="1">20</f>
<f i="2">30</f>
</e>
, . <xsl:for-each>:
<xsl:template match="/">
<e>
<xsl:for-each select="$B/c/d[$A/a/b = .]">
<f i="{position()}"><xsl:value-of select="." /></f>
</xsl:for-each>
</e>
</xsl:template>
, <xsl:apply-templates>, IMHO.