最好是xslt1.0
我有以下 xslt 代码,为所选的 productguarantee 数量重新创建。所以说我选择 5 我得到下面的下拉列表 5 次。在选择超过 1 的任何东西时,它将按顺序对它们中的每一个进行编号。
我想要的是它只对相同的项目进行编号,例如,如果选择 B 3 次,它将是 B 1、B 2、B 3。
棘手的部分是有一个“其他”框,用户可以在其中输入自由文本,所以如果它与另一个其他框匹配,那么它们将被编号,但我暂时不太担心这部分。
目前假设您选择了 5 种产品,您将获得:
选项一 1、选项一 2、选项二 3、选项四 4、选项五 5
我想要的是你只得到倍数的编号,例如
选项一 1,选项一 2,选项二,选项四,选项五
非常感谢任何帮助
代码:
<xsl:if test="productguarantee!=0">
<xsl:for-each select="productguarantees/productguaranteedata">
<xsl:if test="producttypes/option[@id='A']='selected'">OptionOne</xsl:if>
<xsl:if test="producttypes/option[@id='B']='selected'">OptionTwo</xsl:if>
<xsl:if test="producttypes/option[@id='C']='selected'">OptionThree</xsl:if>
<xsl:if test="producttypes/option[@id='D']='selected'">OptionFour</xsl:if>
<xsl:if test="producttypes/option[@id='E']='selected'">OptionFive</xsl:if>
<xsl:if test="producttypes/option[@id='F']='selected'">OptionSix</xsl:if>
<xsl:if test="producttypes/option[@id='G']='selected'">OptionSeven</xsl:if>
<xsl:if test="producttypes/option[@id='H']='selected'"><xsl:value-of select="otherprodtypebox"/></xsl:if>
<xsl:if test="(../../productguarantee)!='1'">
<xsl:value-of select="position()"/>
</xsl:if>
</xsl:for-each>
</xsl:if>
XML:
<productguarantee>0</productguarantee>
<productguarantees>
<productguaranteedata id="0">
<producttypes>
<option id="A">selected</option>
<option id="B"/>
<option id="C"/>
<option id="D"/>
<option id="E"/>
<option id="F"/>
<option id="G"/>
<option id="H"/>
</producttypes>
<otherprodtypebox/>
</productguaranteedata>
</productguarantees>