私はほとんど解決策を持っていて、私の質問はひどく構成されていたので、質問全体を言い換えます:
私はコードを持っています:
<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>
これは、'、および'、たとえば'A、およびB'を持っていることとは別にうまく機能しているようです。
理想的には、AとBが欲しいのですが、他のものはすべてEG A、B、C、Fを持つことができます
20個の値のドロップダウンがある場合でも同じように適用したいと思います。
ありがとう
JLRish&TimCの回答に関するコメントを編集します。
<tradetypes>
<option id="tradefinguar">selected</option>
<option id="tradefinstand"/>
<option id="tradefindoc"/>
</tradetypes>
個別のxslt画面がいくつかあるので、上記の3つ以上を選択して、A、A、B、C、A、Bなどの倍数にすることができますが、理想的には、すでに選択されているのは一度だけです。