powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / проблема с xslt
5 сообщений из 5, страница 1 из 1
проблема с xslt
    #33351717
mr_Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла проблемма. Странички сайта формируются на основе данных получаемых из БД в XML. Сами странички формируются путем XSLT преобразования. С текстом проблемм нет. Но если в данных из БД приходит текст содержащий тэги, то xslt-процессор их выкусывает и оставляет только один текст, тот что между тэгами был. Подскажите плиз, как мне написать, чтоб при преобразовании тэги не выкусывались?

xml:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?xml version="1.0" encoding="windows-1251"?>
<dataxml>
	<rows>
		<row>
	            <Title>Полезные ссылки</Title>
                        <Short_Text></Short_Text>
                        <Full_Text><br />sdsd<br /></Full_Text>
		</row>

	</rows>
</dataxml>

xslt:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="windows-1251" indent="yes" omit-xml-declaration="yes"  media-type="text/html"/>
  <xsl:template match="/dataxml/rows">
    <p>
      <table border="0" width="100%" cellspacing="0" cellpadding="2">
        <tr valign="top" bgcolor="#e3e3e3">
          <td align="center">
            <b><xsl:value-of select="row/Title" /></b>
          </td>
        </tr>
      </table>
    </p>
    <p>
      <xsl:value-of select="row/Short_Text" />
    </p>
    <p>
      <xsl:value-of select="row/Full_Text" />
    </p>
  </xsl:template>
</xsl:stylesheet>

пробразование:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
$proc=new XSLTProcessor ();
$xml = @DOMDocument::loadXML($xmlText);
if ($xml==false)
{
   return - 1 ;
}

$xsl = @DOMDocument::loadXML($xslText);
if ($xsl==false)
{
  return - 1 ;
}

@$proc->importStyleSheet($xsl);
return trim(@$proc->transformToXML($xml));

В результате выводится из Full_Text только sdsd. Тэги в Full_Text пропадают.
php 5.
...
Рейтинг: 0 / 0
проблема с xslt
    #33351813
VERS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<Full_Text><![CDATA[<br />sdsd<br />]]></Full_Text> не спасет?

-------------------------------
www.free-lancer.ru
...
Рейтинг: 0 / 0
проблема с xslt
    #33356553
Unused name
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так вы бы, молчел, писали бы уже шаблон на каждый тэг...
чтобы обрабатывать каждый
а не в одном темплэйте на весь хмл-файл
некрасиво и непонятно. эт хорошо, что хмл-файл у вас еще мелкий...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
<xsl:template match="Full_Text">
  <p>
    <xsl:value-of select=".">
    <xsl:apply-templates />
  </p>
</xsl:template>

<xsl:template match="br">
  <br />
</xsl:template>
...
вы тэги-то не обрабатываете (<br />) вот он их и "выкусывает"...
...
Рейтинг: 0 / 0
проблема с xslt
    #33356556
Unused name
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
извиняюсь, забыл слэш закрывающий в
Код: plaintext
xsl:value-of select
...
Рейтинг: 0 / 0
проблема с xslt
    #33357230
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
copy-of
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / проблема с xslt
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]