Кому нужен модуль DOMXML с поддержкой XSLT под винду

[DAN]

Старожил PHPClub
Кому нужен модуль DOMXML с поддержкой XSLT под винду

Скомпилил всё всместе для php 4.2.1
Версии библиотек у меня следующие:
*) libxml 2.4.23
*) libxslt 1.0.19
*) libexslt 0.7.10

Кому надо, можно скачать тут

Все замечания/предложения пишите в топик.
 

[DAN]

Старожил PHPClub
Могу. А этот разве не подходит ?
Мне просто интересно. У меня стоит 4.2.1
 

[DAN]

Старожил PHPClub
Автор оригинала: _KV_
[DAN], а для 4.2.2 можешь компильнуть?
Done.
Модуль domxml для php4.2.2 лежит тут
Либы те же.
Файлы модуля были взяты сегодня с cvs.php.net
Так что это самая свежая либа под винды :)
 

rudik

Developer
Автор оригинала: [DAN]

Done.
Модуль domxml для php4.2.2 лежит тут
Либы те же.
Файлы модуля были взяты сегодня с cvs.php.net
Так что это самая свежая либа под винды :)
Может не совсем в тему, но интересно было бы знать как компилировать эти самые вещи под Винду?
 

[DAN]

Старожил PHPClub
Автор оригинала: rudik
Может не совсем в тему, но интересно было бы знать как компилировать эти самые вещи под Винду?
Скорее совсем не в тему. Для вопросов про пхп и винду есть соответствующий форум.
 

ray

Guest
Originally posted by [DAN]

Done.
Модуль domxml для php4.2.2 лежит тут
Либы те же.
Файлы модуля были взяты сегодня с cvs.php.net
Так что это самая свежая либа под винды :)
Огромная благодарность DANу, что заботится о таких как я.
Кстати, предыдущая версия dll работала с 4.2.2
Если кто поможет разрешить следующую проблему, буду просто счастлив:
$xslt->process отдает кирилические буквы в виде &#10XX;
Можно ли получать непосредствено русские буквы вместо HTML-entities.
Может есть функция для перекодировки. Велосипед изобретать не хочется.
Броузеры такой код отлично понимают, однако мне нужно формировать тело почтового сообщения, а HTML понимают не все почтовые клиенты.
Ray.
 

[DAN]

Старожил PHPClub
указывай кодировку encoding="windows-1251" и в xml-документе и в xsl-шаблоне.
Тогда все будет выдаваться в нормальных символах.
Например:
<?xml version="1.0" encoding="windows-1251"?>
<root/>

P.S. а вообще поищи по форуму, тема обсуждалась не раз.
 

ray

Guest
Originally posted by [DAN]
указывай кодировку encoding="windows-1251" и в xml-документе и в xsl-шаблоне.
Тогда все будет выдаваться в нормальных символах.
Например:
<?xml version="1.0" encoding="windows-1251"?>
<root/>

P.S. а вообще поищи по форуму, тема обсуждалась не раз.
С кодировкой у меня все в порядке было. И в xml и в xsl в начале прописано <?xml version="1.0" encoding="windows-1251"?>

А у тебя под Виндой таких проблем нет?
Поставил соответсвующие версии libxml, libexslt,libxslt.
Iconv1.8 поставил.
Все попрежнему.
Может у кого еще мысли по этому поводу есть?:mad:
 

ray

Guest
Originally posted by slach
а ты <xsl:eek:utput encoding="windows-1251" method="html" />

ставишь ?
Угу, ставлю.
Я так думаю, если бы он ($xslt->process) русские символы не понимал, соответсвенно выводил бы "тараканов". Он же все понимает и выход правильный, только русcкие закодированы в html.

Пробовал менять encoding в <xsl:eek:utput>, можно даже вскякую ерунду написать типа: <xsl:eek:utput encoding="blablabla" method="html"/> все-равно выводит в Unicode
 

[DAN]

Старожил PHPClub
Посмотри в этом топике http://phpclub.net/talk/showthread.php?s=&threadid=19471 мои примеры. Скачай и запусти. Должно выводить русские буквы. Если у тебя не выводит, тогда уж не знаю, что и говорить.
Распишешь проблему в деталях.
 

ray

Guest
Originally posted by [DAN]
Посмотри в этом топике http://phpclub.net/talk/showthread.php?s=&threadid=19471 мои примеры. Скачай и запусти. Должно выводить русские буквы. Если у тебя не выводит, тогда уж не знаю, что и говорить.
Распишешь проблему в деталях.
Вот мой PHP-код:
<?php
$xml_data='<?xml version="1.0" encoding="windows-1251" ?>
<poll>
<vote id="1">
<question>How much is the fish ?</question>
<option value="1">1$</option>
<option value="2">2$</option>
<option value="3">3$</option>
<url>
<post>?action=vote</post>
</url>
</vote>
<vote id="2">
<question>Вы учавствуете в вечеринках PHPCluba ?</question>
<option value="1">Да</option>
<option value="2">Да, но редко</option>
<option value="3">Нет, но собираюсь</option>
<option value="4">Нет, и не собираюсь</option>
<url>
<post>?action=vote</post>
</url>
</vote>
</poll>';

$xsl_data='<?xml version="1.0" encoding="windows-1251" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:eek:utput encoding="windows-1251" indent="no" standalone="yes" />
<xsl:template match="poll">
<xsl:for-each select="./vote">
Вопрос:
<b>
<xsl:value-of select="./question/text()" />
</b>
<form action="{//poll/vote/url/post}" method="post">
<input type="hidden" name="p_action" value="vote" />
<xsl:for-each select="./option">
<input type="radio" name="poll[option]" value="{@value}">
<xsl:value-of select="." />
</input>
<br />
</xsl:for-each>
<input type="submit" value="Vote" />
</form>
<hr />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>';

$xslt = domxml_xslt_stylesheet($xsl_data);
$doc = domxml_open_mem($xml_data);
$newDoc = $xslt->process($doc);
echo domxml_html_dump_mem($newDoc);
?>

Получаю следующий HTML:

&amp;#1042;&amp;#1086;&amp;#1087;&amp;#1088;&amp;#1086;&amp;#1089;:
<b>How much is the fish ?</b><form action="?action=vote" method="post">
<input type="hidden" name="p_action" value="vote"><input type="radio" name="poll[option]" value="1"><br><input type="radio" name="poll[option]" value="2"><br><input type="radio" name="poll[option]" value="3"><br><input type="submit" value="Vote">
</form>
<hr>
&amp;#1042;&amp;#1086;&amp;#1087;&amp;#1088;&amp;#1086;&amp;#1089;:
<b>&amp;#1042;&amp;#1099; &amp;#1091;&amp;#1095;&amp;#1072;&amp;#1074;&amp;#1089;&amp;#1090;&amp;#1074;&amp;#1091;&amp;#1077;&amp;#1090;&amp;#1077; &amp;#1074; &amp;#1074;&amp;#1077;&amp;#1095;&amp;#1077;&amp;#1088;&amp;#1080;&amp;#1085;&amp;#1082;&amp;#1072;&amp;#1093; PHPCluba ?</b><form action="?action=vote" method="post">
<input type="hidden" name="p_action" value="vote"><input type="radio" name="poll[option]" value="1"><br><input type="radio" name="poll[option]" value="2"><br><input type="radio" name="poll[option]" value="3"><br><input type="radio" name="poll[option]" value="4"><br><input type="submit" value="Vote">
</form>
<hr>


Может дело в domxml_html_dump_mem?
 

Воланд

Guest
Автор оригинала: ray
Может дело в domxml_html_dump_mem?
Именно в нём . domxml_dump_mem выводит русские буквы нормально , а domxml_html_dump_mem переводит их в entiny :(
 

CrazyHacKeRs

Guest
Скачал я библиотки - при запуске выдает ошибку - не могу найти модуль php_domxml.dll

С стандартной dll из поставки 4.2.2 - никаких траблов нет :(
 

[DAN]

Старожил PHPClub
Криво подключил значит. Или не в то место .dll засунул.
Ни у кого таких глюков не возникало.
 
Сверху