si
Administrator
php 4.3.2+Sablot 0.98 - проблемы xslt преобразования
после перехода на новые версии PHP и саблот имеем не работающий код:
методом не научного тыка установил что если 'arg:/_xsl' заменить на имя файла с xsl то все работает:
куски лога:
----- не рабоающий пример ---
Sablotron Message on line none, level log: Parsing 'arg:/_xsl'...
Sablotron Message on line none, level log: Parse done in 0.009 seconds
Sablotron Message on line none, level log: Parsing 'arg:/_xml'...
Sablotron Message on line none, level log: Parse done in 0.011 seconds
Sablotron Message on line none, level log: Executing stylesheet 'arg:/_xsl'...
Sablotron Message on line none, level log: Parsing 'file:/...2.php'...
----- рабоающий пример ---
Sablotron Message on line none, level log: Parsing 'file:/...data/2.xsl'...
Sablotron Message on line none, level log: Parse done in 0.009 seconds
Sablotron Message on line none, level log: Parsing 'arg:/_xml'...
Sablotron Message on line none, level log: Parse done in 0.011 seconds
Sablotron Message on line none, level log: Executing stylesheet 'file:/...data/2.xsl'.
Sablotron Message on line none, level log: Parsing 'file:/...data/2.xsl'...
Sablotron Message on line none, level log: Parse done in 0.005 seconds
Sablotron Message on line none, level log: Execution done in 0.077 seconds
как видите он почемуто пытается чтото сделать с php файлом.
какие есть предложения, мысли ?
так же замечено что это зависит от самого шаблона.
Тестовые скрипты: http://si.infonet.ee/sablot.rar
после перехода на новые версии PHP и саблот имеем не работающий код:
PHP:
<?
// Allocate a new XSLT processor
$xh = xslt_create() or die('Can not do; xslt_create()');
xslt_set_log($xh, true);
xslt_set_log($xh, '/tmp/sablot.log');
$arguments = array(
'/_xml' => file_get_contents('./data/2.xml'),
'/_xsl' => file_get_contents('./data/2.xsl'),
);
// Process the document
if ( $result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments) ) {
print "SUCCESS, test.xml was transformed by test.xsl into result.xml";
print ", result.xml has the following contents\n<br>\n";
print "<pre>\n";
echo $result;
print "</pre>\n";
}
else {
print "Sorry, test.xml could not be transformed by test.xsl into";
print " result.xml the reason is that " . xslt_error($xh) . " and the ";
print "error code is " . xslt_errno($xh);
}
xslt_free($xh);
?>
PHP:
<?
// Allocate a new XSLT processor
$xh = xslt_create() or die('Can not do; xslt_create()');
xslt_set_log($xh, true);
xslt_set_log($xh, '/tmp/sablot.log');
$arguments = array(
'/_xml' => file_get_contents('./data/2.xml'),
'/_xsl' => file_get_contents('./data/2.xsl'),
);
// Process the document
if ( $result = xslt_process($xh, 'arg:/_xml', './data/2.xsl', NULL, $arguments) ) {
print "SUCCESS, test.xml was transformed by test.xsl into result.xml";
print ", result.xml has the following contents\n<br>\n";
print "<pre>\n";
echo $result;
print "</pre>\n";
}
else {
print "Sorry, test.xml could not be transformed by test.xsl into";
print " result.xml the reason is that " . xslt_error($xh) . " and the ";
print "error code is " . xslt_errno($xh);
}
xslt_free($xh);
?>
----- не рабоающий пример ---
Sablotron Message on line none, level log: Parsing 'arg:/_xsl'...
Sablotron Message on line none, level log: Parse done in 0.009 seconds
Sablotron Message on line none, level log: Parsing 'arg:/_xml'...
Sablotron Message on line none, level log: Parse done in 0.011 seconds
Sablotron Message on line none, level log: Executing stylesheet 'arg:/_xsl'...
Sablotron Message on line none, level log: Parsing 'file:/...2.php'...
----- рабоающий пример ---
Sablotron Message on line none, level log: Parsing 'file:/...data/2.xsl'...
Sablotron Message on line none, level log: Parse done in 0.009 seconds
Sablotron Message on line none, level log: Parsing 'arg:/_xml'...
Sablotron Message on line none, level log: Parse done in 0.011 seconds
Sablotron Message on line none, level log: Executing stylesheet 'file:/...data/2.xsl'.
Sablotron Message on line none, level log: Parsing 'file:/...data/2.xsl'...
Sablotron Message on line none, level log: Parse done in 0.005 seconds
Sablotron Message on line none, level log: Execution done in 0.077 seconds
как видите он почемуто пытается чтото сделать с php файлом.
какие есть предложения, мысли ?
так же замечено что это зависит от самого шаблона.
Тестовые скрипты: http://si.infonet.ee/sablot.rar