Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSL пересохранение данных в переменной / 8 сообщений из 8, страница 1 из 1
03.05.2014, 00:54
    #38631659
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSL пересохранение данных в переменной
xsl 1

в цикле нужно в зависимости от некого условия менять значения глобальной переменной
и значение этой переменной используется для дальнейших расчётов
начальное значение установленно вне цикла

как всё таки обойти (через темплайты) ограничение на переменные
алгоритм был взять с VB
на XSL именно этот кусок не укладывается

Если кто нибудь знает как такое решить ?
...
Рейтинг: 0 / 0
03.05.2014, 20:56
    #38632073
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSL пересохранение данных в переменной
Какое такое? Разговор ни о чем, давай конкретный пример.
...
Рейтинг: 0 / 0
03.05.2014, 21:04
    #38632076
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSL пересохранение данных в переменной
Antonariy
вот примерный сырой код на VBA
нужно нечто подобное на XSL
разбивка по группам
только разбивка немного хитрая и нестандартная

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
Sub main()
Dim Count As Integer
Dim Group As Integer
Dim NumGroup As Integer
Dim Mods As Integer
Dim Num As Integer
Dim X2 As Double
Dim X3 As Double
Dim X As Integer
Dim i As Integer
Dim j As Integer
Dim CC As Integer
Dim strX As String

Count = 17
Group = 3



strX = ""
Mods = Count Mod Group
Num = Int(Count / Group)

X2 = Mods / Num


j = 1
CC = 0
For i = 1 To Count
  CC = CC + 1
  If j <= Mods Then
    X = Num + 1
    X3 = 0
  Else
    X = Num
    X3 = X2
  End If
  
  
  
  NumGroup = Int(i / X + 0.9 - X3)
  
  If NumGroup <> j Then
    CC = 1
    j = j + 1
  End If
  
  strX = strX & i & " "
   If CC Mod X = 0 Then
        strX = strX & vbCrLf
   End If
     
Next

MsgBox strX
End Sub
...
Рейтинг: 0 / 0
04.05.2014, 11:28
    #38632265
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSL пересохранение данных в переменной
опять ни о чем
xsl не имеет никакого подобия с другими языками. забудь о переменных и циклах и ставь задачу в терминах xml/xsl.
...
Рейтинг: 0 / 0
04.05.2014, 11:57
    #38632271
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSL пересохранение данных в переменной
есть числа от 1 до N
есть G групп
нужно эти числа распредить по группам равномерно
но если существует остаток от деления
то в первые группы нужно добавить по 1 числу согласно кол-ву из остатка

пример
17 чисел
5 групп

1. 1 2 3 4
2. 5 6 7 8
3. 9 10 11
4. 12 13 14
5. 15 16 17

примерно так
...
Рейтинг: 0 / 0
04.05.2014, 18:18
    #38632502
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSL пересохранение данных в переменной
это задача не для xml/xsl
...
Рейтинг: 0 / 0
04.05.2014, 20:42
    #38632561
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSL пересохранение данных в переменной
ну как бы да
можно извращаться с расширенными функциями, но муторно
...
Рейтинг: 0 / 0
13.05.2014, 01:27
    #38639328
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSL пересохранение данных в переменной
michael Rкак всё таки обойти (через темплайты) ограничение на переменныеРекурсией
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSL пересохранение данных в переменной / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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