forum.bitel.ru
http://forum.bitel.ru/

Изменение переменной sid
http://forum.bitel.ru/viewtopic.php?f=14&t=5673
Страница 1 из 1

Автор:  id835559 [ 04 июл 2011, 11:58 ]
Заголовок сообщения:  Изменение переменной sid

Здравствуйте. Появилась необходимость поменять переменную sid, которая активно используется при формировании квитанции.

Цитата:
<xsl:variable name="sid" select="string(/data/bill/pos/@sid)"/>


Необходимо чтобы её значение было равно нулю, если изначально она равна 443. Вместо указанной выше строчки пишем так:

Цитата:
<xsl:variable name="sid">
<xsl:choose>
<xsl:when test="string(/data/bill/pos/@sid) = 443"><xsl:value-of select="0"/></xsl:when>
<xsl:otherwise><xsl:value-of select="string(/data/bill/pos/@sid)"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>


К сожалению выпадает ошибка - квитанция не формируется. Подскажите, пожалуйста, что можно сделать.

Автор:  skn [ 04 июл 2011, 14:44 ]
Заголовок сообщения:  Re: Изменение переменной sid

может так?

Код:
<xsl:variable name="sid">
<xsl:choose>
<xsl:when test="string(/data/bill/pos/@sid) = 443">0</xsl:when>
<xsl:otherwise><xsl:value-of select="string(/data/bill/pos/@sid)"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>

Автор:  id835559 [ 05 июл 2011, 10:59 ]
Заголовок сообщения:  Re: Изменение переменной sid

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

Автор:  dimOn [ 11 июл 2011, 12:44 ]
Заголовок сообщения:  Re: Изменение переменной sid

А где тут выведется? Имхо, правильный вариант подсказали.

Автор:  Администратор [ 17 авг 2011, 16:00 ]
Заголовок сообщения:  Re: Изменение переменной sid

Цитата:
Нет-нет, необходимо не выводить на экран ноль, а присваивать значение переменной.

В чём это присвоение проявиться-то должно? Вообще это не переменная а атрибут в XML документе, который обрабатывается шаблоном.
Шаблон не может менять исходный документ, если вы про это.
Да и смыслу в этом нет, т.к. он генерируется как данные для шаблона и далее уничтожается просто..

Автор:  Cromeshnic [ 18 авг 2011, 06:51 ]
Заголовок сообщения:  Re: Изменение переменной sid

Я бы попробовал вместо
Код:
<xsl:when test="string(/data/bill/pos/@sid) = 443">

так:
Код:
<xsl:when test="/data/bill/pos/@sid = 443">

или так:
Код:
<xsl:when test="/data/bill/pos/@sid = '443'">

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/