xslt: спецсимволы

Статус
В этой теме нельзя размещать новые ответы.

sigurd

Новичок
xslt: спецсимволы

всем привет.

в процессе преобразования xml->xslt->xhtml пытаюсь вставить в результат форму:

PHP:
<form action="my.phtml?param1=1&param2=2">
blablabla
</form>
xsl:

PHP:
<xsl:element name="form">
	<xsl:attribute name="action">
					<xsl:value-of disable-output-escaping="yes" select="concat('my.phtml?param1=', @id, '&amp;amp;', 'param2=', @p2)"/>
				</xsl:attribute>
</xsl:element>
несмотря на disable-output-escaping="yes" в результате все равно получается action="my.phtml?param1=1&amp;amp;param2=2"

подскажите плз, где я туплю...

такой вариант не хотелось бы использовать - нехорошо... хотя, он и работает
PHP:
<xsl:value-of disable-output-escaping="yes" select="concat('&lt;form action=&quot;', 'my.phtml?param1=', @id, '&amp;amp;', 'param2=', @p2, '&quot;&gt;')"/>
 

crocodile2u

http://vbolshov.org.ru
Зачем тебе понадобился такой action ? Не лучше ли использовать input type="hidden" ?
 

sigurd

Новичок
Автор оригинала: crocodile2u
Зачем тебе понадобился такой action ? Не лучше ли использовать input type="hidden" ?
не то, чтобы нельзя было без этого обойтись, но раз уж проблема возникла, то лучше решить ее сейчас, нежели когда ее нельзя будет обойти, и будут поджимать сроки.
 

sigurd

Новичок
2chameleon

проблема в том, что в экшне форме вместо амперсанда идет его представление. что не есть правильно.
 

crocodile2u

http://vbolshov.org.ru
Ну ладно.. я так и не понял, зачем такой экшн для формы... Но, может быть, написать так:

PHP:
<form action="my.phtml?param1=1& amp;param2=2"> 
blablabla 
</form>
"& amp;" - без пробела, конечно...
 

sigurd

Новичок
crocodile2u

естественно, пробовал... та же самая фигня

-~{}~ 09.11.05 15:44:

а экшн - потому как мне удобнее, когда основная инфа формы идет постом, а дополнительная - гетом.

без этого можно обойтись, но как я уже говорил - проблема есть, значит нужно найти решение на случай, если не удастся ее обойти где-нить еще.
 

chameleon

Новичок
проблема в том, что в экшне форме вместо амперсанда идет его представление. что не есть правильно.
Извини, но проблема не в этом, а в тебе. Вот где ты прочитал, что в URL _не правильно_ ставить сущности?
 

sigurd

Новичок
chameleon

что значит, неправильно? я вижу результат, что вместо амперсанда стоит сущность. и соответственно, хочу этого избежать. После долгих пытаний задаю вопрос на форуме и вместо ответов получаю сообщения с вариантами обхода ситуации, а также сообщение, что моя проблема - не есть проблема вообще.

Да, такой урл работает. Но сие не есть красиво, да и кто поручится, что оно будет работать везде?
 

crocodile2u

http://vbolshov.org.ru
Не претендую на истину в последней инстанции, но, судя по всему, это не возможно [получить action, такой, какой ты хочешь]...
Однако: такое решение [см. мой предыдущий пост] в атрибутах "href" или "src" работает отлично. Насчет экшна для формы - имхо, лучше все передавать в полях этой самой формы. Так что проблема, по-меому, надумана
 

sigurd

Новичок
То есть, всем проще сказать, что проблемы не существует, нежели попытаться решить. Ладно, на том и условимся.

Всем спасибо за внимание.
 

crocodile2u

http://vbolshov.org.ru
Если ты объяснишь, в чем проблема, попытаемся решить.
А так: ты спрашивал про экшн для формы - вот тебе решение - хидден-поля.

Ты говоришь:
без этого можно обойтись, но как я уже говорил - проблема есть, значит нужно найти решение на случай, если не удастся ее обойти где-нить еще.
ok. Пример такого случая в студию, плз.
 

sigurd

Новичок
2 crocodile2u
имхо вполне конкретная проблема: во вполне конкретном случае избавиться от появления сущностей во вполне конкретном урле. Хидденовые поля не прокатят, если у меня например банальный анкор вместо формы.

А по поводу примера описанного случая - если бы он у меня был, то я бы спрашивал именно по нему.
 

crocodile2u

http://vbolshov.org.ru
А что случится, если у тебя будет анкор? С анкором-то какая проблема?
 

sigurd

Новичок
С анкором-то какая проблема?
2 crocodile2u

хорошо, вот тебе конкретная задача:

средствами xslt создать в выходном xml-файле строку
PHP:
<a href="my.php?param1=value1&param2=value2">типа, ссылка</a>
без использования приемов типа
PHP:
<xsl:value-of disable-output-escaping="yes" select="&lt;a href=.........&gt;" />
 

crocodile2u

http://vbolshov.org.ru
вместо "&" будет "& amp;" - на работоспособность URL это _не_ повлияет.
 

sigurd

Новичок
2 crocodile2u
стоп.

про работоспособность ссылки речи не идет. представь, что тебе надо создать элемент вида
PHP:
<string text="Маша&Петя&Вася&Я=ШведскаяСемья" />
2 chameleon это тоже относится. Я уже согласился, с тем, что ссылка будет работать, так что не надо никого ничем никуда тыкать. Хотя, за ссылку спасибо.
 

chameleon

Новичок
sigurd
Ну мордочкой это я так...образно :)..
Как ты не поймешь, что стандарты это набор правил, которые надо соблюдать :)...т.е. "ты _не должен_ этого хотеть" (с) не мой.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху