我将重新表述整个问题,因为我几乎有了解决方案,而且我的问题构建得很糟糕:
我有代码:
<xsl:for-each select="documentarycredits/documentarycreditdata">
<xsl:if test="tradetypes/option[@id='tradefinguar']='selected'">Trade Finance Guarantee</xsl:if>
<xsl:if test="tradetypes/option[@id='tradefinstand']='selected'">Trade Finance Standby Letters of Credit serving as Financial Guarantees</xsl:if>
<xsl:if test="tradetypes/option[@id='tradefindoc']='selected'">Trade Finance Documentary Credits</xsl:if>
<xsl:if test="position()!=last()">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:if test="position()=last()-1">
<xsl:text> and </xsl:text>
</xsl:if>
<xsl:if test="position()=last()">
<xsl:text></xsl:text>
</xsl:if>
</xsl:for-each>
除了具有 ', and' 例如 'A, and B' 之外,它似乎运作良好。
理想情况下,我想要 A 和 B,其他任何东西都可以有 EG A、B、C 和 F
即使我有 20 个值的下拉列表,我也想应用相同的值。
谢谢
编辑评论 JLRish & Tim C 答案:
<tradetypes>
<option id="tradefinguar">selected</option>
<option id="tradefinstand"/>
<option id="tradefindoc"/>
</tradetypes>
有许多单独的 xslt 屏幕,因此可以选择上述三个以上的屏幕,这将导致倍数,例如 A、A、B、C、A 和 B,但理想情况下我希望它知道是否有被选中已经只生产一次。