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
