powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Ужасное подозрение - XSLT - функциональный язык?
8 сообщений из 8, страница 1 из 1
Ужасное подозрение - XSLT - функциональный язык?
    #34391343
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прикиньте, вот изучаю XSLT и возникло у меня ужасное подозрение - XSLT это функциональный язык?!
Что-то я нигде не нашел способа как объявить переменную, а потом изменить ее значение.

Например:

<xsl:variable name="x" select="1"/>
<xsl:variable name="x" select="x+1"/>

Неужели это действительно так и придется вспоминать старый Lisp? Какой кошмар. Простой код разрастается на несколько экранов из-за такой фигни.

Если это действительно так, то можно как-то накопить результат работы в цикле for-each? А то влом описывать функцию под каждый перебор.
...
Рейтинг: 0 / 0
Ужасное подозрение - XSLT - функциональный язык?
    #34392079
andrei77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
действительно, XSLT - язык шаблонов, и изменять переменные НЕЛЬЗЯ.

единственный способ - рекурсия, с использованием именованных шаблонов.

(а я предлогал добавить этот вопрос в FAQ)
...
Рейтинг: 0 / 0
Ужасное подозрение - XSLT - функциональный язык?
    #34392085
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fixin нигде не нашел способа как объявить переменную,
А это ?
<xsl:variable name="x" select="1"/>
вроде как объявил переменную x=1
потом изменить ее значение.
Ну.... в явном виде нельзя... можно в другом шаблоне написать тоже самое но с другим значением, будет тебе переопределение

Неужели это действительно так и придется вспоминать старый Lisp? Какой кошмар. Простой код разрастается на несколько экранов из-за такой фигни.
Не обезатьельно... сдесь мной один раз поднималась тема про счетчик, там приведена ссылка где это можно поискать, там реализовали
А чтоб не плодить тот код каждый раз, занеси в отдельный шаблон и либо ссылайся на него, либо запихни в файл, а файл уж импортируй
...
Рейтинг: 0 / 0
Ужасное подозрение - XSLT - функциональный язык?
    #34395116
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrei77действительно, XSLT - язык шаблонов, и изменять переменные НЕЛЬЗЯ.

единственный способ - рекурсия, с использованием именованных шаблонов.

(а я предлогал добавить этот вопрос в FAQ)

Мда... Ужас...
Я изучал в свое время Лисп и я вижу, как простой код выливается в большой набор функций, короче, мрак. ;-)
...
Рейтинг: 0 / 0
Ужасное подозрение - XSLT - функциональный язык?
    #34397409
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему подозрение - действительно функциональный. Вот статья с объяснением:

http://www.topxml.com/xsl/articles/fp/

и почему ужасное - XSLT придуман очень умно. По моим наблюдениям, скрипты получаются очень надёжными по сравнению с процедурными языками. Что не значит, что вообще функциональные языки вообще лучше процедурных. Просто XSLT хорошо подходит для того, для чего предназначен. Впрочем, есть альтернатива - XQuery, более процедурный.
...
Рейтинг: 0 / 0
Ужасное подозрение - XSLT - функциональный язык?
    #34407231
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MПочему подозрение - действительно функциональный. Вот статья с объяснением:

http://www.topxml.com/xsl/articles/fp/

и почему ужасное - XSLT придуман очень умно. По моим наблюдениям, скрипты получаются очень надёжными по сравнению с процедурными языками. Что не значит, что вообще функциональные языки вообще лучше процедурных. Просто XSLT хорошо подходит для того, для чего предназначен. Впрочем, есть альтернатива - XQuery, более процедурный.

Просто отсутствие оператора присваивания Х=Ф(Х) вызывает чрезмерное написание лишнего кода. Такой код приходится выносить в функцию, что влечет избыточное увеличение числа функций.
...
Рейтинг: 0 / 0
Ужасное подозрение - XSLT - функциональный язык?
    #34407595
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем тебе присвоение?
Как показала практика можно обойтись и без него используя запросы и сравнение. Вывод тоже работает
Вот отсутсвие счетчика и различный вывод значений в зависимости переменную выводишь или узел раздражает. Согласен
...
Рейтинг: 0 / 0
Ужасное подозрение - XSLT - функциональный язык?
    #34407764
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuSaА зачем тебе присвоение?
Как показала практика можно обойтись и без него используя запросы и сравнение. Вывод тоже работает
Вот отсутсвие счетчика и различный вывод значений в зависимости переменную выводишь или узел раздражает. Согласен

Речь идет именно о Х=Ф(Х), т.е. когда Х и в левой и в правой части.
Это и счетчики и списки-накопители.

Короче, достаточно криво.

Ничего не имею против функциональных языков в теори, но попытка пропихнуть функциональный язык в практику раздражает. Я когда начал юзать ХСЛТ не знал, что он функциональный. ;-)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Ужасное подозрение - XSLT - функциональный язык?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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