小编Ton*_*ler的帖子

如何使用xslt将数字(1,2,3等)转换为序数(第1,第2,第3等)

非常简单的问题,如何使用xslt将数字(1,2,3等)转换为打印友好序数(第1,第2,第3等)?

目前以下工作适用于1-20,但我们可能会看到更多的实体很快就会排名:

<xsl:template name="FormatRanking">
    <xsl:param name="Value"></xsl:param>

    <xsl:choose>
        <xsl:when test="$Value = '1'">
            <xsl:value-of select="$Value"/>st
        </xsl:when>
        <xsl:when test="$Value = '2'">
            <xsl:value-of select="$Value"/>nd
        </xsl:when>
        <xsl:when test="$Value = '3'">
            <xsl:value-of select="$Value"/>rd
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$Value"/>th
        </xsl:otherwise>
    </xsl:choose>

</xsl:template> 
Run Code Online (Sandbox Code Playgroud)

我知道如何做到这一点的唯一方法是改变xsl:when's:

<xsl:when test="$Value = '1'">
<xsl:when test="$Value = '2'">
<xsl:when test="$Value = '3'">
Run Code Online (Sandbox Code Playgroud)

到(甚至不确定这是否正确):

<xsl:when test="$Value = '1' or $Value = '21' or $Value = '31' ...">
<xsl:when test="$Value = '2' or $Value = '22' or $Value = '33' ...">
<xsl:when test="$Value = '3' or $Value …
Run Code Online (Sandbox Code Playgroud)

xslt

5
推荐指数
2
解决办法
1403
查看次数

标签 统计

xslt ×1