#23148 [Opn->Fbk]: Call to undefined function: xslt_set_encoding()
| From: | sniper@php.net | Date: | Fri, 11 Apr 2003 06:19:34 +0000 |
| Subject: | #23148 [Opn->Fbk]: Call to undefined function: xslt_set_encoding() | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-37552@lists.php.net to get a copy of this message | ||
ID: 23148
Updated by: sniper@php.net
Reported By: Lensman dot D at gmx dot net
-Status: Open
+Status: Feedback
Bug Type: XSLT related
Operating System: SuSE Linux 8.2, Kernel 2.4.19
PHP Version: 4.3.2RC1
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
And if it's still undefined, check config.log for the reason
why the check for SablotSetEncoding fails.
Previous Comments:
------------------------------------------------------------------------
[2003-04-10 08:09:47] Lensman dot D at gmx dot net
My script:
<?php
function nullHandler() { return ''; };
$sha = array();
$sha['get_all'] = 'nullHandler';
$xmlDoc = 'xml_file.xml';
$xslDoc = 'xsl_file.xsl';
if ($REQUEST_METHOD=='POST') {
$data = $Keywords;
$data = ereg_replace(" ", "+", $data);
$data = ereg_replace("%20", "+", $data);
}
elseif ($QUERYSTRING) {
$data = $Keywords;
$data = ereg_replace(" ", "+", $data);
$data = ereg_replace("%20", "+", $data);
}
else {
echo "<b>Missing XML Query — Use form (POST) or querystring
(GET)</b>";
exit;
}
echo "Keywords: ".$Keywords."<p>\n";
$xmlDoc .= "?mkt=de&Keywords=$data";
echo "XML: ".$xmlDoc."<p>\n";
$xmlConn = fopen ("$xmlDoc", "r");
if (!($xmlConn)) {
echo "<b>Connection to XML feed could not be established!</b>";
exit;
}
else {
$xmlFeed = fread($xmlConn,20000);
}
fclose($xmlConn);
$xslConn = fopen ("$xslDoc", "r");
if (!($xslConn)) {
echo "<b>XSL file could not be found!</b>";
exit;
}
else {
$xslFeed = fread($xslConn,20000);
}
fclose($xslConn);
$arguments = array('/_xml' => $xmlFeed,'/_xsl' => $xslFeed);
$xsltproc = xslt_create();
xslt_set_encoding($xsltproc, "ISO-8859-1");
xslt_set_scheme_handlers( $xsltproc, $sha );
$html = xslt_process($xsltproc, 'arg:/_xml', 'arg:/_xsl', NULL,
$arguments);
if (!($html)) die('XSLT processing error: '.xslt_error($xsltproc));
xslt_free($xsltproc);
echo $html;
?>
By calling the script above I get the following error:
Fatal error: Call to undefined function: xslt_set_encoding() in
/usr/local/apache2/2.0.44/htdocs/overture/transform.php on line 54
Environment:
Linux
Kernel 2.4.19
Apache 2.0.44
PHP 4.3.2RC1 (./configure
--with-apxs2=/usr/local/apache2/current/bin/apxs
--with-mysql=/usr/local/mysql/current --with-zlib-dir=/usr/lib/
--enable-versioning --enable-track-vars=yes --enable-url-includes
--enable-trans-sid --enable-syssvshm=yes --enable-syssvsem=yes
--enable-ftp --with-config-file-path=/etc --with-gd --enable-xslt
--with-xslt-sablot=/usr/local/sablot --with-expat-dir=/usr/local/expat
--enable-javascript --with-sablot-js=/usr)
Expat 1.95.6
Sablotron 0.98
JS 1.5.4-3
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=23148&edit=1