可以在子节点中使用变量吗? (xslt/for-each)

Possible to use variable in child node? (xslt/for-each)

在我的 ESP(电子邮件服务提供商)中,我有一个列表或带有变量的客户,并且我有 xslt 将 XML 提要解析为(动态)邮件。 现在,我想个性化我的邮件,向不同的电子邮件订阅者发送不同的内容。

我有一个变量 $profile.pos1_day_camp(可以是数值),我想根据这个变量向他们显示内容。内容因子节点而异。是店铺的@id。

所以,显示

{if $profile.pos1_day_camp == 1}
<xsl:for-each select="//shop[@id='1']/offer]">
**"show content of shop id 1"**
</xsl:for-each>
{/if}

{if $profile.pos1_day_camp == 17}
<xsl:for-each select="//shop[@id='17']/offer]">
**"show content of shop id 17"**
</xsl:for-each>
{/if}

等但这将成为太多的代码,因为有很多可能的值,因此我希望将变量放在 for-each 中。那可能吗?如果我这样做,它什么也没显示:

<xsl:for-each select="//shop[@id='{$profile.pos1_day_camp}']/offer">
**"show content of shop id xx"**
</xsl:for-each>

谢谢!

知道了,谢谢

<xsl:for-each select="shop">
{if $profile.pos1_daily == <xsl:value-of select="@id" />}
        ....
<xsl:for-each select="offer">
</xsl:for-each>  
{/if}
</xsl:for-each>