XSLT и спец. символы

cryo

Guest
XSLT и спец. символы

Возникла необходимость в XSLT динамически формировать ссылку из данных XML-пакета, например так:

<a><xsl:attribute name="href">
http://somehost/somescript.php?id=
<xsl:value-of select="/somenode/someid"/>
</xsl:attribute></a>

Все хорошо и замечательно работает. Но тут вдруг понадобилось сформировать ссылку по типы /somescript?id1=nnn&id2=nnn.

Попытавшись зайти в лоб таким способом:

<a><xsl:attribute name="href">
http://somehost/somescript.php?id1=
<xsl:value-of select="/somenode/someid"/>&id2=<xsl:value-of select="/somenode/someid"/>
</xsl:attribute></a>

естесственно получил кучу ругани по поводу символа & и ; expected. Первая же мысль поменять его на &amp; не привела к успеху - в результирующем xml получил <a href="id1=nnn&amp;id2=nnn"/> что не совсем верно.

Так вот вопрос, как же описать формирование атрибута со спец символами типа & и " и.т.п??
 

cryo

Guest
Вывелось не то что писал вместо &_amp; без "_" получился &amp; ;-)

- в результирующем xml (html) получил <a href="http://somehost/somescript?id1=nnn&_amp;id2=nnn без "_". ;-)
 

BeGe

Вождь Апачей, блин (c)
&amp; <- &
&lt; <- <
&gt; <- >

больше там алиасов нету
ты можешь использовать ЛЮБОЙ символ из UTF-8
используя конструкцию итипа &#dd; это в десятеричный формат или &xXXX; шестнадцетиричный формат.
 

BeGe

Вождь Апачей, блин (c)
Упс некотрые символы не правильно отобразилсиь :((((
 

cryo

Guest
Тогда именно такой алиас и остается в результирующем html. А мне надо чтобы после трансляции в полученном html были алисы уже преобразовались в символы, которые они означают. Т.е. должны получиться не $_amp; а &
 
Сверху