ID:               38218
 Updated by:       [EMAIL PROTECTED]
 Reported By:      moksinski at gmail dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         XSLT related
 Operating System: windows 2000
 PHP Version:      6CVS-2006-07-26 (snap)
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip




Previous Comments:
------------------------------------------------------------------------

[2006-07-26 08:47:20] moksinski at gmail dot com

Description:
------------
php:functionString tries to access objects with their names in
lowercase. when you use autoloader to include your classes it generates
fatal error because it cannot find the proper php file.

Reproduce code:
---------------
<?php //FILE AutoLoaded.php 
class AutoLoaded { public static function printText($text) { return
$text; }} 
?>

<?php //FILE index.php
$xsl=<<<EOSTRING
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:php="http://php.net/xsl"; xsl:extension-element-prefixes="php">
<xsl:template match="xml"><xsl:value-of
select="php:functionString('AutoLoaded::printText',@dummy)"
disable-output-escaping="yes"/>
</xsl:template></xsl:stylesheet>
EOSTRING;
$xml='<xml dummy="everything is ok"/>';
function __autoload($className) {
    echo $className."\n";
    static $classes = array('AutoLoaded'=>'AutoLoaded.php');
    require_once($classes[$className]);
}
$doc = new DOMDocument('1.0','utf-8'); $doc->loadxml($xml); $xslt = new
DOMDocument(); $xslt->loadxml($xsl);
$proc = new XSLTProcessor(); $proc->registerPHPFunctions();
$proc->importStyleSheet($xslt);
$proc->transformToXML($doc);
?>

Expected result:
----------------
AutoLoaded

Actual result:
--------------
autoloaded
Fatal error: require_once() [function.require]: Failed opening required
....


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=38218&edit=1

Reply via email to