powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSL пересохранение данных в переменной
8 сообщений из 8, страница 1 из 1
XSL пересохранение данных в переменной
    #38631659
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xsl 1

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

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

Если кто нибудь знает как такое решить ?
...
Рейтинг: 0 / 0
XSL пересохранение данных в переменной
    #38632073
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какое такое? Разговор ни о чем, давай конкретный пример.
...
Рейтинг: 0 / 0
XSL пересохранение данных в переменной
    #38632076
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
XSL пересохранение данных в переменной
    #38632265
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опять ни о чем
xsl не имеет никакого подобия с другими языками. забудь о переменных и циклах и ставь задачу в терминах xml/xsl.
...
Рейтинг: 0 / 0
XSL пересохранение данных в переменной
    #38632271
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть числа от 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
XSL пересохранение данных в переменной
    #38632502
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это задача не для xml/xsl
...
Рейтинг: 0 / 0
XSL пересохранение данных в переменной
    #38632561
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну как бы да
можно извращаться с расширенными функциями, но муторно
...
Рейтинг: 0 / 0
XSL пересохранение данных в переменной
    #38639328
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael Rкак всё таки обойти (через темплайты) ограничение на переменныеРекурсией
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSL пересохранение данных в переменной
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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