#23889 [Asn]: xslt transform stop working after upgrade from 4.2.3 into 4.3.2
| From: | sniper@php.net | Date: | Mon, 16 Jun 2003 03:23:53 +0000 |
| Subject: | #23889 [Asn]: xslt transform stop working after upgrade from 4.2.3 into 4.3.2 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-41987@lists.php.net to get a copy of this message | ||
ID: 23889
Updated by: sniper@php.net
Reported By: sitnikov at infonet dot ee
Status: Assigned
Bug Type: XSLT related
Operating System: Linux
PHP Version: 4.3.2
Assigned To: msopacua
New Comment:
What is the status of this?? Still a bug or not?
Previous Comments:
------------------------------------------------------------------------
[2003-06-06 14:20:42] msopacua@php.net
Check bug http://bugs.php.net/20177 (which is mentioned in
the
commit).
Before the fix of that bug, many people complained. After - you're the
only one of seen. You also have a work-around: set xslt_set_base
hardcoded yourself, then the library doesn't (see
http://bugs.php.net/20518 ).
If you could make the 'full test suite' available in zip or tar/gz,
then I'll look into your scenario, to see how common it is and perhaps
look for an option to set via xslt_set_option. Either way - you'll
probably have to recode.
------------------------------------------------------------------------
[2003-06-06 02:29:16] sniper@php.net
Melvyn, you broke it, you fix it. :)
------------------------------------------------------------------------
[2003-05-30 03:45:45] sitnikov at infonet dot ee
After upgrade PHP from 4.2.3 into 4.3.2 xslt transformation stop
working.
1.php (not working)
<?
// Allocate a new XSLT processor
$xh = xslt_create() or die('Can not do; xslt_create()');
$arguments = array(
'/_xml' => file_get_contents('xml/1.xml'),
'/_xsl' => file_get_contents('xsl/1.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);
?>
2.php - working
<?
// Allocate a new XSLT processor
$xh = xslt_create() or die('Can not do; xslt_create()');
$arguments = array(
'/_xml' => file_get_contents('xml/1.xml'),
);
// Process the document
if ( $result = xslt_process($xh, 'arg:/_xml', 'xsl/1.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);
?>
Test full suite: http://si.infonet.ee/sablot.rar
xml & xsl you can see in rar file.
after some research i found what problem in
http://cvs.php.net/diff.php/php4/ext/xslt/sablot.c?login=2&r1=1.63&r2=1.64&ty=u
patch.
after removing this patch my code again work.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=23889&edit=1