Ayola.net
Новости: В связи с обилием спама, постинг на форуме временно закрыт.

Для связи с поддержкой используйте тикеты в панели управления.
 
*
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь. Июнь 27, 2017, 17:21:14


Войти


Страниц: [1]
  Печать  
Автор Тема: xslt в php-скриптах  (Прочитано 4257 раз)
0 Пользователей и 1 Гость смотрят эту тему.
powerlf
Новичёк
*

Карма: 0
Сообщений: 5


Просмотр профиля
« : Октябрь 20, 2007, 08:05:24 »

Мне выдается сообщение об ошибке Fatal error: Call to undefined function xslt_create() in /www_host/hosts/guitar.cwx.ru/xslt.php on line 5
Есть какая нибудь возможность использовать xslt в php?
В интернете даже нашел описание решения проблемы http://www.hostcms.ru/faq/install/41/

Спасибо
Записан
powerlf
Новичёк
*

Карма: 0
Сообщений: 5


Просмотр профиля
« Ответ #1 : Октябрь 20, 2007, 08:06:23 »

Скрипт выглядит следующим образом
Код:
<?php

function xslt ($xml$xsl) {

    
$xh xslt_create();

    
$args['xml'] = join (''file ($xml));
    
$args['xsl'] = join (''file ($xsl));

    
// try with a string
    
$result xslt_process ($xh'arg:/xml''arg:/xsl'NULL$args);

    
// try with resource
    
if (!$result) { $result xslt_process ($xh$xml$xsl); }

    
xslt_free ($xh);
    return 
$result;

}
echo 
xslt ('./sample.xml''./sample.xsl');
?>

Записан
support@ayola.net
Вне категорий
Маэстро
*****

Карма: 267
Сообщений: 4901



Просмотр профиля WWW
« Ответ #2 : Октябрь 20, 2007, 12:33:33 »

Да, вроде по чьей-то заявке уже подключили.
Записан

Бесплатный хостинг с PHP и MySQL

Вопросы и ответы - http://faq.ayola.net
Правка .htaccess - http://htaccess.ayola.net
Техподдержка - http://www.ayola.net/panel/tickets.php
По вопросам хостинга личные сообщения не пишите. Для этого есть тикеты.
powerlf
Новичёк
*

Карма: 0
Сообщений: 5


Просмотр профиля
« Ответ #3 : Октябрь 20, 2007, 20:28:42 »

А что интересно подключили? Потому что я в примерах не могу ничего найти кроме как использование команды xslt_create(), на которой вываливается ошибка
Записан
powerlf
Новичёк
*

Карма: 0
Сообщений: 5


Просмотр профиля
« Ответ #4 : Октябрь 20, 2007, 20:37:26 »

А, с помощью phpinfo() увидел
Записан
powerlf
Новичёк
*

Карма: 0
Сообщений: 5


Просмотр профиля
« Ответ #5 : Октябрь 20, 2007, 20:47:21 »

Если кому понадобится, вот работающий пример:
Код:
<?

if (PHP_VERSION >= 5) {
    // Emulate the old xslt library functions
    function xslt_create() {
        return new XsltProcessor();
    }

    function xslt_process($xsltproc,
                          $xml_arg,
                          $xsl_arg,
                          $xslcontainer = null,
                          $args = null,
                          $params = null) {
        // Start with preparing the arguments
        $xml_arg = str_replace('arg:', '', $xml_arg);
        $xsl_arg = str_replace('arg:', '', $xsl_arg);

        // Create instances of the DomDocument class
        $xml = new DomDocument;
        $xsl = new DomDocument;

        // Load the xml document and the xsl template
        $xml->loadXML($args[$xml_arg]);
        $xsl->loadXML($args[$xsl_arg]);

        // Load the xsl template
        $xsltproc->importStyleSheet($xsl);

        // Set parameters when defined
        if ($params) {
            foreach ($params as $param => $value) {
                $xsltproc->setParameter("", $param, $value);
            }
        }

        // Start the transformation
        $processed = $xsltproc->transformToXML($xml);

        // Put the result in a file when specified
        if ($xslcontainer) {
            return @file_put_contents($xslcontainer, $processed);
        } else {
            return $processed;
        }

    }

    function xslt_free($xsltproc) {
        unset($xsltproc);
    }
}

$arguments = array(
    '/_xml' => file_get_contents("newxslt.xml"),
    '/_xsl' => file_get_contents("newxslt.xslt")
);

$xsltproc = xslt_create();
$html = xslt_process(
    $xsltproc,
    'arg:/_xml',
    'arg:/_xsl',
    null,
    $arguments
);

xslt_free($xsltproc);
print $html;

?>
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006, Simple Machines LLC

2003-2008 © ООО "Инфотур" - Бесплатный хостинг Ayola.net
Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Страница сгенерирована за 0.049 секунд. Запросов: 17.