powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Сортировка по числовому столбцу
1 сообщений из 1, страница 1 из 1
Сортировка по числовому столбцу
    #34414909
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. меня уже несколько раз спрашивали про сортировку, если это символьные данные, то все достаточно просто. Но если надо отсортировать числа по значению, то нифига не работает. Совсем недавно нашел как это обходится.
К примеру у нас есть xml:
?xml version="1.0" encoding="UTF-8" ?>
<Result>
<Sale>
<title>12</title>
<AssessedValue1>value_2</AssessedValue1>
</Sale>
<title>14</title>
<AssessedValue1>value_3</AssessedValue1>
</Sale>
</Sale>
<title>2</title>
<AssessedValue1>value_1</AssessedValue1>
</Sale>
</Sale>
<title>43</title>
<AssessedValue1>value_4</AssessedValue1>
</Sale>
</Result>
Логически верным было бы отсортировать в следующем порядке: 2, 12, 14, 43
Но с таким кодом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  <xsl:template match="/">
  	<root>
	<xsl:for-each select="//title">
	 <xsl:sort select="title"/>
  	<xsl:value-of select="."/>
	</xsl:for-each>
  	</root>	
</xsl:template>
Лишь получим: 12 14 2 43.
Правильно отсортировать буде так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  <xsl:template match="/">
  	<root>
	<xsl:for-each select="//title">
	 <xsl:sort data-type="number"/>
  	<xsl:value-of select="."/>
	</xsl:for-each>
  	</root>	
</xsl:template>
И результат будет то что надо :2 12 14 43
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Сортировка по числовому столбцу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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