номер позиции в переменную

#
номер позиции в переменную
мне нужно чтобы номер позиции элемента подставлялся в xsl шаблоне в строчку :

<span id="bN" style="cursor: pointer;" onclick="swhdN()">Родословная</span>

где N - это номер позиции


я сделала в начале шаблона строчку
<!-- Получаем номер позиции и записываем в переменную $position_num -->
<xsl:variable name="position_num" select="position()"/>


а в нужном месте строчка у меня выглядит так:

<span id="b{$position_num}" style="cursor: pointer;" onclick="swhd{$position_num}()">Родословная</span>




Что неправильно подскажите? на сайте вылезают ошибки: ПРЕДУПРЕЖДЕНИЕ: XSLTProcessor::transformToDoc() [function.XSLTProcessor-transformToDoc]: runtime error: file /home/s/smooth/public_html/ line 125 element span в файле /home/s/smooth/public_html/modules/Xsl/Xsl.class.php (строка 272)
ПРЕДУПРЕЖДЕНИЕ: XSLTProcessor::transformToDoc() [function.XSLTProcessor-transformToDoc]: Variable 'position_num' has not been declared. в файле /home/s/smooth/public_html/modules/Xsl/Xsl.class.php (строка 272)
ПРЕДУПРЕЖДЕНИЕ: XSLTProcessor::transformToDoc() [function.XSLTProcessor-transformToDoc]: xmlXPathCompiledEval: evaluation failed в файле /home/s/smooth/public_html/modules/Xsl/Xsl.class.php (строка 272)
ПРЕДУПРЕЖДЕНИЕ: XSLTProcessor::transformToDoc() [function.XSLTProcessor-transformToDoc]: runtime error: file /home/s/smooth/public_html/ line 125 element span в файле /home/s/smooth/public_html/modules/Xsl/Xsl.class.php (строка 272)
ПРЕДУПРЕЖДЕНИЕ: XSLTProcessor::transformToDoc() [function.XSLTProcessor-transformToDoc]: Variable 'position_num' has not been declared. в файле /home/s/smooth/public_html/modules/Xsl/Xsl.class.php (строка 272)
ПРЕДУПРЕЖДЕНИЕ: XSLTProcessor::transformToDoc() [function.XSLTProcessor-transformToDoc]: xmlXPathCompiledEval: evaluation failed в файле /home/s/smooth/public_html/modules/Xsl/Xsl.class.php (строка 272)
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: номер позиции в переменную
Puma, в данном случае вам не нужна переменная. Номер позиции можно вывести использовав функция position() в явном виде:
<span id="b{position()}" style="cursor: pointer;" onclick="swhd{position()}()">Родословная</span>

И все будет хорошо.

А у вас к тому же, определение переменной, судя по сообщению об ошибке, находится вне зоны видимости для того места где вы его выводите.
Заказов не беру. Консультирую редко.
#
Re: номер позиции в переменную
СПАСИБО, в очередной раз, вроде получилось (правда пока  не работает то что должно было в итоге получится)


а переменную я определяла в самом начале шаблона, где определение др.перемнной в  демо шаблоне , может конечно и не там надо было, я ж не знаю...
)
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: номер позиции в переменную
Puma, да пожалуйста!
А переменная определенная в самом первом темплейте шаблона видна только до его [темплейта] конца, а для следующих темплейтов ее как бы и не существует вовсе, даже если эти следующие темплейты вызываются из первого.
Вам бы где-нибудь почитать толковой документации по xslt-программированию...
Заказов не беру. Консультирую редко.
Авторизация