xslt:我需要按编号排序

时间:2016-11-25 15:22:22

标签: xml sorting xslt

我有一个问题要排序,当我按文字排序任何属性时,一切正常,但我想按数字排序Amount属性,我不能这样做。

XML:

<xsl:for-each select="REGISTERS/REG">
    <xsl:sort case-order="lower-first" select="./AMOUNT/@DATA" order="descending" data-type="number" />
    <xsl:if test="position() > 0 and position() < 101">
        <xsl:variable name="Row" select="4 - ((position() mod 2 * 2) + 1)" />
            <tr valign="middle" class="md-maketable-reg-tr">            
        </tr>
    </xsl:if>
</xsl:for-each>

我的“Amount”属性包含字符和数字,我希望它按数字排序,并尝试仅使用第四个字符中的子字符串,但我没有运行它。

XSL:

[[] for i=1:8]

请帮帮我。

1 个答案:

答案 0 :(得分:0)

  

尝试仅使用第四个子字符串中的字符   性格,我没有运行它。

它对我有用:

<xsl:sort select="substring(AMOUNT/@DATA, 4)" data-type="number" order="descending"/>

当然,假设所有金额都有3个字符的前缀。