vil
Guest
Преобразование xm+xsl с помощью sablotron. Достало уже все!!!!
Всем привет!!!
О великие программеры на php, пожалуйста помогите, умоляю!!!! Скоро вешаться пойду нафиг!!!!
Я делаю сабж. Делаю это так:
<?php
$xmlData = '<?xml version="1.0" encoding="windows-1251" ?>
<my_root>
<head />
<page>
<mainmenu>
<menuitem link="/">Меню 1</menuitem>
<menuitem link="/classroom/">Меню 2</menuitem>
<menuitem link="/work/">Меню 3</menuitem>
<menuitem link="/courses/">Меню 4</menuitem>
<menuitem link="/news/">Меню 5</menuitem>
<menuitem link="/docs/">Меню 6</menuitem>
<menuitem link="/register/">Меню 7</menuitem>
<menuitem link="http://link.ru">Меню 8</menuitem>
<menuitem link="/files/">Меню 9</menuitem>
<menuitem link="/quit/">Меню 10</menuitem>
</mainmenu>
<column width="30%">
<hd>Новости</hd>
<news date="2004-01-15">
Новость 1
<link href="/news/?news_id=150">подробнее</link>
</news>
<news date="2004-11-21">
Новость 2
<link href="/news/?news_id=141">подробнее</link>
</news>
<news date="2004-11-19">
Новость 3
<link href="/news/?news_id=140">подробнее</link>
</news>
<news date="2004-11-17">
Новость 4
<link href="/news/?news_id=139">подробнее</link>
</news>
</column>
<column width="50%">
<hd>Информация</hd>
<br />
<btext>
Который день не могу решить одну проблему!!! АААА!!! Обращаться в психушку!!
<link href="mailto[email protected]">Психи: [email protected]</link>
</btext>
</column>
<footer>
<footermenu>
<copyright>Пост</copyright>
</footermenu>
</footer>
</page>
</my_root>';
// Создание объекта документа из текстовой строки
$xmldoc = domxml_open_mem($xmlData);
//print($xmldoc->dump_mem());
include_once("class_xslt.php");
$xslt=new Xslt();
$xslt->setXmlString($xmldoc);
$xslt->setXsl("ent.xsl");
if($xslt->transform())
{
$ret=$xslt->getOutput();
echo $ret;
}
else {
print("Error:".$xslt->getError());
}
$xslt->destroy();
?>
Значит xml документ находится в $xmlData, а xsl - в файле ent.xsl
Использую класс class_xslt.php взятый отсюда
http://www.sourceforge.net/projects/phpxmlclasses - самый последний файл class_xslt_1.2
В итоге парсер выдает это:
<B>Error:XML parser error 5: unclosed token
!!!Ответьте пожалуйста Что это такое?????? Как решить эту проблему???</B>
Но самое интересное в этом:
Когда я за место строки $xslt->setXmlString($xmldoc);
подставляю $xslt->setXmlString($xmlData); - ВСЕ работает!!!!!!!
И еще один вопрос если в атрибутах элемента я вставляю знак "&" - <b>парсер выдает "Error:XML parser error 4: not well-formed"</b>
<b>Все стоит на фрях 5.3-RELEASE-p10. Саблотрон версии 1.0.1. expat_1.95.8 . iconv library version 1.9 . есть поддержка domxml</b>
<b>!!!!!!Пожалуйста ответьте. Как избавиться от первой проблемы,потому что все написано именно с использованием функций domxml!!!!!!!!!!!!!!!!!!!!!!!!! Что такое с функцией domxml_open_mem. Почему он пишет не закрытый маркер?????</b>
-~{}~ 24.06.05 08:51:
Да и еще забыл:
Стоит на машике Apache/1.3.33 (Unix) PHP/4.3.11 mod_perl/1.29 mod_ssl/2.8.22 OpenSSL/0.9.7d rus/PL30.20
Всем привет!!!
О великие программеры на php, пожалуйста помогите, умоляю!!!! Скоро вешаться пойду нафиг!!!!
Я делаю сабж. Делаю это так:
<?php
$xmlData = '<?xml version="1.0" encoding="windows-1251" ?>
<my_root>
<head />
<page>
<mainmenu>
<menuitem link="/">Меню 1</menuitem>
<menuitem link="/classroom/">Меню 2</menuitem>
<menuitem link="/work/">Меню 3</menuitem>
<menuitem link="/courses/">Меню 4</menuitem>
<menuitem link="/news/">Меню 5</menuitem>
<menuitem link="/docs/">Меню 6</menuitem>
<menuitem link="/register/">Меню 7</menuitem>
<menuitem link="http://link.ru">Меню 8</menuitem>
<menuitem link="/files/">Меню 9</menuitem>
<menuitem link="/quit/">Меню 10</menuitem>
</mainmenu>
<column width="30%">
<hd>Новости</hd>
<news date="2004-01-15">
Новость 1
<link href="/news/?news_id=150">подробнее</link>
</news>
<news date="2004-11-21">
Новость 2
<link href="/news/?news_id=141">подробнее</link>
</news>
<news date="2004-11-19">
Новость 3
<link href="/news/?news_id=140">подробнее</link>
</news>
<news date="2004-11-17">
Новость 4
<link href="/news/?news_id=139">подробнее</link>
</news>
</column>
<column width="50%">
<hd>Информация</hd>
<br />
<btext>
Который день не могу решить одну проблему!!! АААА!!! Обращаться в психушку!!
<link href="mailto[email protected]">Психи: [email protected]</link>
</btext>
</column>
<footer>
<footermenu>
<copyright>Пост</copyright>
</footermenu>
</footer>
</page>
</my_root>';
// Создание объекта документа из текстовой строки
$xmldoc = domxml_open_mem($xmlData);
//print($xmldoc->dump_mem());
include_once("class_xslt.php");
$xslt=new Xslt();
$xslt->setXmlString($xmldoc);
$xslt->setXsl("ent.xsl");
if($xslt->transform())
{
$ret=$xslt->getOutput();
echo $ret;
}
else {
print("Error:".$xslt->getError());
}
$xslt->destroy();
?>
Значит xml документ находится в $xmlData, а xsl - в файле ent.xsl
Использую класс class_xslt.php взятый отсюда
http://www.sourceforge.net/projects/phpxmlclasses - самый последний файл class_xslt_1.2
В итоге парсер выдает это:
<B>Error:XML parser error 5: unclosed token
!!!Ответьте пожалуйста Что это такое?????? Как решить эту проблему???</B>
Но самое интересное в этом:
Когда я за место строки $xslt->setXmlString($xmldoc);
подставляю $xslt->setXmlString($xmlData); - ВСЕ работает!!!!!!!
И еще один вопрос если в атрибутах элемента я вставляю знак "&" - <b>парсер выдает "Error:XML parser error 4: not well-formed"</b>
<b>Все стоит на фрях 5.3-RELEASE-p10. Саблотрон версии 1.0.1. expat_1.95.8 . iconv library version 1.9 . есть поддержка domxml</b>
<b>!!!!!!Пожалуйста ответьте. Как избавиться от первой проблемы,потому что все написано именно с использованием функций domxml!!!!!!!!!!!!!!!!!!!!!!!!! Что такое с функцией domxml_open_mem. Почему он пишет не закрытый маркер?????</b>
-~{}~ 24.06.05 08:51:
Да и еще забыл:
Стоит на машике Apache/1.3.33 (Unix) PHP/4.3.11 mod_perl/1.29 mod_ssl/2.8.22 OpenSSL/0.9.7d rus/PL30.20