2016-11-25 6 views
0

У меня есть проблема в сортировке, когда я сортирую по любому атрибуту по тексту, все работает правильно, но я хочу отсортировать атрибут Amount по числу, и я не могу этого сделать.xslt: Мне нужно сортировать по числу

XML:

<REGISTERS ORDER="AMOUNT" TIPEORDER="ASC" PAG="1" LPP="100"> 
    <DEFREGISTERS> 
     <COLUMN NAME="AMOUNT" DESC="Amount" FORMAT="NUMBER" TIPEDATA="NUMBER"/> 
    </DEFREGISTERS> 
    <REG> 
     <DESCRIPTION DATA="FARM. VILLE" /> 
     <AMOUNT DATA="EX$110.00" FORMAT="NUMBER" /> 
    </REG> 
    <REG> 
     <DESCRIPTION DATA="FARM. VILLE 2" /> 
     <AMOUNT DATA="EX$210.00" FORMAT="NUMBER" /> 
    </REG> 
    <REG> 
     <DESCRIPTION DATA="FARM. VILLE 3" /> 
     <AMOUNT DATA="EX$310.00" FORMAT="NUMBER" /> 
    </REG> 
    <REG> 
     <DESCRIPTION DATA="FARM. BILL" /> 
     <AMOUNT DATA="EX$150.00" FORMAT="NUMBER" /> 
    </REG> 
</REGISTERS> 

Мой атрибут «Сумма» имеет символы и цифры, я хочу, чтобы быть отсортированы по количеству, и пытались только взять символы с подстроки из четвертого символа, и я не сделал запустить его.

XSL:

<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> 

Пожалуйста, помогите мне.

ответ

0

пытался только взять символы с подстрокой из четвертого символа , и я не запускал его.

Это работает для меня:

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

Конечно, это если все суммы имеют префикс 3-обугленного.

+0

Спасибо за ответ, но он по-прежнему не работает, он должен быть для типа переменной, поскольку по тексту (data-type = "text"), если он упорядочен. ты можешь помочь мне с этим? – BAEE

+0

Вы должны объяснить себя более четко, боюсь, я вообще не понимаю этого предложения. –

+0

@BAEE Это работает для части сортировки, как вы можете видеть здесь: http://xsltransform.net/jz1PuPk Остальная часть вашего вопроса непонятна. –

Смежные вопросы