Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.116.62.45] |
|
Сообщ.
#1
,
|
|
|
Понадобилось мне вывести алфавит (не просто алфавит, а с пачкой примудростей, поэтому просто написать его как он есть не получится).
Решил сделать так: в XML: <ABC>ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ</ABC> И вывести все это дело темплейтом с циклом: <xsl:template name="abc"> <xsl:param name="last"/> <xsl:param name="first"/> <xsl:if test="$last > $first"> <xsl:value-of select="substring(ABC,$first,1)"/> <xsl:call-template name="abc"> <xsl:with-param name="first" select="$first + 1"/> </xsl:call-template> </xsl:if> </xsl:template> И позвать этот темплейт с параметрами номера первой буквы и номера последней необходимой буквы: <xsl:call-template name="abc"> <xsl:with-param name="last" select="27"/> <xsl:with-param name="first" select="1"/> </xsl:call-template> Суть проблемы: Если в темплейт написать <xsl:param name="first" select="27"/> или <xsl:if test="27 > $first"> то все замечательно работает, если передавать этот параметр при вызове <xsl:with-param name="last" select="27"/> то выводится только первая буква алфавита. Переменная передается, через value-of внутри темплейта выводится нормально. Подскажите, где я ошибся? |
Сообщ.
#2
,
|
|
|
Въехал... Вопрос закрыт
|