可以在子节点中使用变量吗? (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>
在我的 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>