XSLT и Firefox/Opera и disable-output-escaping

Solid

Drosera anglica
XSLT и Firefox/Opera и disable-output-escaping

Код:
<xsl:template match="item">
<xsl:if test="(position() mod 2)=1"><tr></xsl:if>
<td><xsl:value-of select="."/></td>
<xsl:if test="(position() mod 2)=0 or (position()=last())"></tr></xsl:if>
</xsl:template>
Как сделать что бы этот код работал в Firefox и Opera?

Прочитал полностью bugzilla https://bugzilla.mozilla.org/show_bug.cgi?id=98168. Перечитал пол google.com, http://www.w3.org/TR/xslt#disable-output-escaping - не желает работать ни в какую.

Помогите кто сталкивался с подобной проблемой.
 

ViJu

Новичок
может я не до конца догнал что тебе надо, так как не вижу xslt целиком, но вот тебе ссылка на не новую заметку по xslt в Опере и FF от меня, это если твоя xslt целиком работает в опера и не работает в мозилле

http://viju.tvercity.net/articles/xslt-in-browser

но вообще пока не советую сколько-нибудь полагаться на использование XSLT в броузере (ни полностью ни из javascript), если тебя не страшит единственный способ решения проблем новых фич - интенсивная переписка с браузописателями.
 

Solid

Drosera anglica
ViJu
За ссылку спасибо.
Надо, что бы теги работали в условиях, а то пишет, что <tr> не заканчивается... а не заканчивается, потому что </tr> находится в следующей итерации. Хотя, возможно, это и не правильный код, с точки зрения DOM.
 

slach

Новичок
Solid
причем тут output-escaping
а что? такой НЕ well-formed XSL вообще где то работает?

-~{}~ 06.09.06 07:14:

единственное чего у меня получалось на заре пользования XSLT
чтобы начало тега было в одном условии
а конец тега в другом

это жуткие извраты с CDATA внутри <xsl:text>
IMHO это сильно не правильно
 

denver

?>Скриптер
Solid
Книжку ты заказал, но нифига не понял.

Посмотри на свой код не как на программу, а как на XML.
Открыл ты тэг <tr> а потом закрыл тэг </xsl:if>. Мысль улавливаешь? Это то, почему ты не можешь так написать "физически".

А идейно это неправильно т.к. если второе условие не выполнится то нарушится выходной код (HTML будет не валидный). Так вот, если тебе на выходе нужен валидный HTML то и не извращайся так. Если же тее напевать на выходной HTML (или там не HTML будет вовсе) то юзай disable-output-escaping и <![CDATA[ ... ]]> везде где только можно и у тебя больше не возникнут похожие проблемы. Как и ума не прибавится.

-~{}~ 06.09.06 10:44:

ЗЫ. В XSLT есть возможность выводить в две колонки (и пример я уже приводил), но для этого тебе нужно разобраться с осями XPath, которые ты явно пропустил мимо себя.
 

Solid

Drosera anglica
denver
Да понял я. Теперь знаю, что кодить так нельзя. Это ж было до того, как ты мне объяснил... "нифига не понял"... :)
Насчёт XPath - это да. Надо со всем разобраться. Я слишком многое пропустил мимо себя...
slach
Сенкью, я уже понял это,

но всё же ещё раз спасибо что отговорили от неправильного написания...

-~{}~ 06.09.06 16:32:

Извиняюсь, что ссылка на другой форум... просто ну уж очень в тему: http://www.raleigh.ru/XML/phpbb/viewtopic.php?t=2277
Пусть и другим будет в пример.
 

ViJu

Новичок
За что люблю этот форум - за культуру :) и отзывчивость его постоянных участников.

Как у Вас мужики терпения и времени на всех хватает, ума не приложу. Мне до вас еще расти и расти :) - блин и толковое замечае сделали

ну ладно хватит эмоций
 

Solid

Drosera anglica
ViJu
Форумы призваны помогать. Помогаешь ты - помогают тебе, что-то вроде пиринговых сетей.
 
Сверху