xsl:with-param

faiwer

Новичок
Доброго времени суток. Там где я сейчас стажируюсь, вовсю применяется XLST, и у меня возникла потребность передачи параметров в шаблоны. Нашёл, что для этого используется xsl:with-param, но меня убедили его не использовать, аргументируя это так:

"На локалке у тебя заработает, а на серваке более новая версия и там не пашет"

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

Вопрос - отменили или нет? (мне кажется это малореально) Может заменили на другую конструкцию? Ответа на сей вопрос в гугле я не нашёл (как в прочем и внятного учебника по xlst).
 

Crys

Двинутый новичок
Может быть гл.программист сам стажируется?
 

AmdY

Пью пиво
Команда форума
fixxxer
неужели ты веришь, что шеф дурак, а не новичок, который неправильно интерпретировал задание?
 

fixxxer

К.О.
Партнер клуба
Если в сознании ТС после объяснений отложился такой бред как "на локалке у тебя заработает, а на серваке более новая версия и там не пашет", то либо дурак, потому что несет чушь, либо дурак, потому что не может объяснить. Не исключаю вариант, что дураки оба.
 

faiwer

Новичок
Я процитировал его слова дословно. Как будет доступ к серверу проверю :)
 

newARTix

Новичок
Скорее всего слово "отменили" относится именно к вашим руководителям, то есть ваш руководитель отдела запретил использовать эту фичу из собственных соображений.
Например, чтобы не было соблазна городить в XSLT foreach, if и т.п., вызывать явно из шаблона другой шаблон, вместо использования match. Вместо этого в XSLT нужно активнее использовать контекст и XPath, и тогда никакой передачи параметров не потребуется.
 

faiwer

Новичок
Нет ) Никаких убеждений. Он сказал что сам мучается, мол когда то проверял и не заработало. Я убедил его проверить ещё раз... :)

и тогда никакой передачи параметров не потребуется.
Если только дело не доходит до рекурсий...
 

newARTix

Новичок
faiwer
я конечно не гуру XSLT, но по-моему с рекурсиями у XSLT как раз никаких проблем нет. Работа с большими деревьями у него в крови :) Тем более не понятно как проблему рекурсии может решить with-param :confused:... Мне кажется вам стоит привести какой-нибудь конкретный случай, с которым у вас возникла проблема. Как раз может и я чему-нибудь научусь :)
 

faiwer

Новичок
я конечно не гуру XSLT, но по-моему с рекурсиями у XSLT как раз никаких проблем нет. Работа с большими деревьями у него в крови Тем более не понятно как проблему рекурсии может решить with-param
PHP:
Group
	EditAccess = 1
	GroupId = 1
	...
	Menu
		Title
		...
		Menu
			Title
			...
			Title
				Menu...
		Title
		...
		Menu
			Title
			...
			Menu
Group
	EditAccess = 0
	GroupId = 2
	...
	Menu
		Title
		...
		Menu
1. В каждом подменю надо знать EditAccess и GroupId
2. Количество подменю в 1 меню не ограничено, количество уровней глубины древа тоже.
 

newARTix

Новичок
ну э...
/group/@editaccess
/group/@groupid
не? Мы ведь всегда имеем доступ к корню дерева... Или имеется ввиду что сам шаблон генерирует это значение? А как, и на основании чего?
 

faiwer

Новичок
Группа не 1 =) Немного подправил древо, думаю так нагляднее.
 
Сверху