Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSLT + сортировка по куску из поля + дополнительное условие / 3 сообщений из 3, страница 1 из 1
31.07.2007, 16:27
    #34696171
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT + сортировка по куску из поля + дополнительное условие
есть XML условно

<ROOT>
<ITEM ID="1" PRICE="-" NAME="aaa"/>
<ITEM ID="2" PRICE="100 $US" NAME="bbb"/>
<ITEM ID="3" PRICE="1 EUR" NAME="ccc"/>
<ITEM ID="4" PRICE="-" NAME="ddd"/>
<ITEM ID="4" PRICE="15 EUR" NAME="ddd"/>
<ITEM ID="4" PRICE="-" NAME="ddd"/>
....
</ROOT>

можно ли через транформацию (xsl:for-each)
отсортировать по @PRICE как число (вырезать число)
по возрастанию и по убыванию (нет денег то по возрастанию = 0)
причём с условием на то что @PRICE может имет "-" и может быть валюта через пробел

Спасибо
...
Рейтинг: 0 / 0
01.08.2007, 10:10
    #34697246
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT + сортировка по куску из поля + дополнительное условие
Ну ... ты загнул
пиши xPath выражение тогда
используй в связке xsl:sort и к примеру функцию translate(@PRICE, 'регулярное выражение(все кроме цифр)', '')
В результате замены @PRICE привратиться из строки в число. по ним и отсортируешь
или тебе надо отсортировать к примеру все в переводе на рубли? :)
...
Рейтинг: 0 / 0
05.08.2007, 12:35
    #34706015
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT + сортировка по куску из поля + дополнительное условие
Спасибо за ответ
я сделал по другому разбил поле цена на два (цена + валюта)
и сортировал по цене "-" это как NULL
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSLT + сортировка по куску из поля + дополнительное условие / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]