|
|
|
зациклился
|
|||
|---|---|---|---|
|
#18+
зациклился не пойму где! может кто увидит подскажет когда выполняет строку <xsl:when test="root/object[$par3]"> и объекты уже закончились и значение уже FALSE ПОЧЕМУТО ПЕРЕСКАКИВАЕТ НА <xsl:call-template name="choose "> <xsl:with-param name="par1" select="1"></xsl:with-param> </xsl:call-template> ОБЪЯСНИТЕ ктонибудь почему? <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:template match="/"> <root> <xsl:call-template name="choose "> <xsl:with-param name="par1" select="0"></xsl:with-param> </xsl:call-template> </root> </xsl:template> <xsl:template name=" choose "> <xsl:param name="par1"/> <xsl:choose> <xsl:when test="$par1=0"> <xsl:text> </xsl:text> СТРАНИЦА 1 <xsl:text> </xsl:text> <xsl:call-template name="object "> <xsl:with-param name="par4" select="1"></xsl:with-param> <xsl:with-param name="par3" select="1"></xsl:with-param> </xsl:call-template> </xsl:when> <xsl:when test="$par1=1"> <xsl:text> </xsl:text> ОСТАЛЬНЫЕ СТРАНИЦЫ <xsl:text> </xsl:text> <xsl:call-template name="object "> <xsl:with-param name="par4" select="2"></xsl:with-param> <xsl:with-param name="par3" select="30"></xsl:with-param> <!-- до куда --> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template> <xsl:template name="object"> <xsl:param name="par3"/> <xsl:param name="par4"/> <xsl:choose> <xsl:when test="root/object[$par3]"> <xsl:choose> <xsl:when test="$par4=1"> <xsl:if test="$par3 <= 29"> <xsl:text> </xsl:text> Объект, до 29 или 29 <xsl:call-template name="object"> <xsl:with-param name="par3" select="$par3 +1"></xsl:with-param> <xsl:with-param name="par4" select="1"></xsl:with-param> </xsl:call-template> </xsl:if> <xsl:call-template name="choose"> <xsl:with-param name="par1" select="1"></xsl:with-param> </xsl:call-template> </xsl:when> <xsl:when test="$par4=2"> Объект, после 29 <xsl:call-template name="object"> <xsl:with-param name="par3" select="$par3 +1"></xsl:with-param> <xsl:with-param name="par4" select="2"></xsl:with-param> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:when> </xsl:choose> </xsl:template> </xsl:stylesheet> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 14:03 |
|
||
|
зациклился
|
|||
|---|---|---|---|
|
#18+
А кусок исходного файла который парсишь привети можешь? а то не понятно И еще нафига xmlns:fo="http://www.w3.org/1999/XSL/Format" - в коде чето не заметил его использование ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 14:22 |
|
||
|
зациклился
|
|||
|---|---|---|---|
|
#18+
<?xml version="1.0" encoding="UTF-16"?> <root> <object name=" " kolvo="0" perenos="0"></object> <object name="Документация" kolvo="0" perenos="1"></object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2">Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2">Сборка первого </object> </root> Это я форматирующие объекты которые мне нужны нафик удалил, чтобы они просто не захламляли. а то и так ужас получился а так вообще с ними ни фика не поймешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 14:26 |
|
||
|
зациклился
|
|||
|---|---|---|---|
|
#18+
<?xml version="1.0" encoding="UTF-16"?> <root> <object name=" " kolvo="0" perenos="0"></object> <object name="Документация" kolvo="0" perenos="1"></object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2">Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2">Сборка первого </object> <object name=" " kolvo="0" perenos="0"></object> <object name="Документация" kolvo="0" perenos="1"></object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2">Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2">Сборка первого </object> <object name=" " kolvo="0" perenos="0"></object> <object name="Документация" kolvo="0" perenos="1"></object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2" >Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2">Сборка первого </object> <object perenos="0">уровня 2</object> <object name="Сборка первого уровня 2">Сборка первого </object> </root> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 14:27 |
|
||
|
зациклился
|
|||
|---|---|---|---|
|
#18+
и в чем проблема? в твой код в этом учаске поставил <xsl:when test="root/object[$par3]"> <xsl:choose> <xsl:when test="$par4=1"> <xsl:if test="$par3 <= 29"> <xsl:text> </xsl:text> Объект, до 29 или 29 <xsl:call-template name="object"> <xsl:with-param name="par3" select="$par3 +1"/> <xsl:with-param name="par4" select="1"/> </xsl:call-template> <xsl:value-of select="$par3"/> </xsl:if> Вот результат трасировки .... Объект, до 29 или 29 11 ОСТАЛЬНЫЕ СТРАНИЦЫ 10 ОСТАЛЬНЫЕ СТРАНИЦЫ 9 ОСТАЛЬНЫЕ СТРАНИЦЫ 8 ОСТАЛЬНЫЕ СТРАНИЦЫ 7 ОСТАЛЬНЫЕ СТРАНИЦЫ 6 ОСТАЛЬНЫЕ СТРАНИЦЫ 5 ОСТАЛЬНЫЕ СТРАНИЦЫ 4 ОСТАЛЬНЫЕ СТРАНИЦЫ 3 ОСТАЛЬНЫЕ СТРАНИЦЫ 2 ОСТАЛЬНЫЕ СТРАНИЦЫ 1 ОСТАЛЬНЫЕ СТРАНИЦЫ </root> Пока до 1 не дошел и и работал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 14:45 |
|
||
|
зациклился
|
|||
|---|---|---|---|
|
#18+
Написал бы вывести ОСТАТОК СТРАНИЦЫ, и тут же бы прекратил программу, или чего надо то? И еще чего у тебя в xml все значения атрибуттов одинаковые? ps: На мою темку не заглянешь? ту которую седня выложил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 14:48 |
|
||
|
зациклился
|
|||
|---|---|---|---|
|
#18+
если из кода убрать <xsl:when test="root/object[$par3]"> то получится то как мне нужно, только + бесконечность.. а мне нужно как только элементы object заканчиваются выйти... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 14:56 |
|
||
|
зациклился
|
|||
|---|---|---|---|
|
#18+
почему когда условие <xsl:when test="root/object[$par3]"> FALSE он идет куда-то,а не заканчивает выполнение как я задумал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 14:57 |
|
||
|
зациклился
|
|||
|---|---|---|---|
|
#18+
а ты случаем не заметил, что... :) В xml оставь 4 записи и запусти у тебя обработаеться 4 объекта до 29 и... еще выведется 4 объекта ОСТАТОК СТРАНИЦЫ (это при наличии того самого условия, без которого у тебя бесконечность) т.о. у тебя сначала идет все при параметрах par3 и par4 =1 а затем все ЗАНОВО!! но при других значениях, при каких услоиях у тебя прекращение обработки предусмотренно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 15:29 |
|
||
|
зациклился
|
|||
|---|---|---|---|
|
#18+
Ну чего? разобрался? нашел ошибку, покаж результат интересно ведь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2007, 13:07 |
|
||
|
зациклился
|
|||
|---|---|---|---|
|
#18+
Да, в моей логике было неправильно, что когда выполняется шаблон то он потом после выполнения отдает управление в начало продолжает дальше... так вот... у меня там было условие >=29 - и это выполнялось в xsl:if ...я его заменил choose автор<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:template match="/"> <root> <xsl:call-template name="choose"> <xsl:with-param name="par1" select="0"></xsl:with-param> </xsl:call-template> </root> </xsl:template> <xsl:template name="choose"> <xsl:param name="par1"/> <xsl:choose> <xsl:when test="$par1=0"> <xsl:text> </xsl:text> СТРАНИЦА 1 <xsl:text> </xsl:text> <xsl:call-template name="object"> <xsl:with-param name="par4" select="1"></xsl:with-param> <xsl:with-param name="par3" select="1"></xsl:with-param> </xsl:call-template> </xsl:when> <xsl:when test="$par1=1"> <xsl:text> </xsl:text> ОСТАЛЬНЫЕ СТРАНИЦЫ <xsl:text> </xsl:text> <xsl:call-template name="object2"> <xsl:with-param name="par4" select="2"></xsl:with-param> <xsl:with-param name="par3" select="30"></xsl:with-param> <!-- до куда --> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template> <xsl:template name="object"> <xsl:param name="par3"/> <xsl:param name="par4"/> <xsl:choose> <xsl:when test="$par3 <= 2"> <xsl:text> </xsl:text> Объект, до 29 или 29 <xsl:call-template name="object"> <xsl:with-param name="par3" select="$par3 +1"></xsl:with-param> <xsl:with-param name="par4" select="1"></xsl:with-param> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="choose"> <xsl:with-param name="par1" select="1"></xsl:with-param> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="object2"> <xsl:param name="par3"/> <xsl:param name="par4"/> <xsl:if test="root/object[$par3]"> <xsl:value-of select="$par3"/><xsl:text>,</xsl:text><xsl:value-of select="root/object[$par3]"/> <xsl:text> </xsl:text> <xsl:call-template name="object2"> <xsl:with-param name="par3" select="$par3 +1"></xsl:with-param> <xsl:with-param name="par4" select="2"></xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template> </xsl:stylesheet> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 09:53 |
|
||
|
|

start [/forum/topic.php?fid=14&fpage=65&tid=1334422]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 374ms |

| 0 / 0 |
