Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с domxml_xslt_stylesheet_file(), Fatal error: Call to undefined .... 
:(
    Опции темы
Coder
Дата 6.3.2008, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Ошибка:
Код

Fatal error: Call to undefined function domxml_xslt_stylesheet_file() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\ppr\modules\_xslt.module.php on line 51


Хотя в PHP.INI:
..........
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
extension=php_xsl.dll

php_xsl.dll лежит на месте (вместе с другими библиотеками, функции которых работают). Или не в этой библиотеке реализована функция domxml_xslt_stylesheet_file()?
PM MAIL   Вверх
mishaSL
Дата 6.3.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 54



Coder, я так понимаю что у вас скорее всего стоит PHP5. Тогда:
Код


Migrating to PHP 5

Call XSLTProcessor::importStylesheet with DOMDocument::load($xsl_file) as parameter.




--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Coder
Дата 7.3.2008, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



mishaSL, А как вот такой код заменить с учетом PHP5?

Код

$this->xsltDomDocument = domxml_xslt_stylesheet_file($stylesheetFileName);


PM MAIL   Вверх
Coder
Дата 7.3.2008, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Сделал так:
Код

        $this->xsltDomDocument=DOMDocument::load($stylesheetFileName);
        XSLTProcessor::importStylesheet($this->xsltDomDocument);


Выдает ошибку:
Код

Fatal error: Call to undefined method domdocument::load() in .......... on line 63


Ничего не пойму... php_domxml.dll лежит на месте, в PHP.INI прописана. 

phpinfo() выдает:
Код

dom
DOM/XML  enabled  
DOM/XML API Version  20031129  
libxml Version  2.6.26  
HTML Support  enabled  
XPath Support  enabled  
XPointer Support  enabled  
Schema Support  enabled  
RelaxNG Support  enabled  

domxml
DOM/XML  enabled  
DOM/XML API Version  20030407  
libxml Version  20626  
HTML Support  enabled  
XPath Support  enabled  
XPointer Support  enabled  


Все вроде бы все включено... 
PM MAIL   Вверх
mishaSL
Дата 7.3.2008, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 54



Цитата(Coder @  7.3.2008,  08:27 Найти цитируемый пост)
mishaSL, А как вот такой код заменить с учетом PHP5?
$this->xsltDomDocument = domxml_xslt_stylesheet_file($stylesheetFileName);


Вот пример:
Код

<?php

# LOAD XML FILE
$XML = new DOMDocument();
$XML->load( 'data.xml' );

# START XSLT
$xslt = new XSLTProcessor();

# IMPORT STYLESHEET 1
$XSL = new DOMDocument();
$XSL->load( 'template1.xsl' );
$xslt->importStylesheet( $XSL );

#IMPORT STYLESHEET 2
$XSL = new DOMDocument();
$XSL->load( 'template2.xsl' );
$xslt->importStylesheet( $XSL );

#PRINT
print $xslt->transformToXML( $XML );
?>

http://ru2.php.net/manual/ru/function.xsl-...sheet.php#79257

Если не разберешься то напиши.



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Coder
Дата 7.3.2008, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



mishaSL, глянь сообщение выше (на 51 минуте которое).
PM MAIL   Вверх
mishaSL
Дата 7.3.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 54



Coder, $this->xsltDomDocument это экземпляр какого класса?


Примерно так я себе это вижу:
Код

<?php

$this->xsltProcessor = new XSLTProcessor();

$xslt = new XSLTProcessor();

$XSL = new DOMDocument();
$XSL->load($stylesheetFileName);
$this->xsltProcessor->importStylesheet($XSL);

//Там где надо преобразовать делаешь:
print $xslt->transformToXML( $XML );
//Где $XML - экземпляр класса DOMDocument, в который ты уже загрузил нужный тебе xml файл.


?>


Если не понятно, то выложи сюда весь код, который за это отвечает.

Это сообщение отредактировал(а) mishaSL - 7.3.2008, 17:11


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Extensions | Следующая тема »


 




[ Время генерации скрипта: 0.1026 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.