#37440 [Opn->Bgs]: Problem assigning multiple objects with XML parser within them to one variable

From: Date: Sun, 14 May 2006 20:29:16 +0000
Subject: #37440 [Opn->Bgs]: Problem assigning multiple objects with XML parser within them to one variable
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-97084@lists.php.net to get a copy of this message
ID: 37440 Updated by: tony2001@php.net Reported By: kenashkov at gmail dot com -Status: Open +Status: Bogus Bug Type: XML related Operating System: Fedora Core 4 PHP Version: 4.4.2 New Comment: This is expected since your handlers do not return anything. Previous Comments: ------------------------------------------------------------------------ [2006-05-14 20:11:51] kenashkov at gmail dot com Description: ------------ When assigning multiple times to ane variable an object which contains a XML parser, there is a problem when the xml_parse is called. The parser can not call the registered handlers. The problem can be avoided if the variable is unset before the second call, or using $doc1 =& new xml_doc() for every assignment. Reproduce code: --------------- <? class xml_doc { function xml_doc() { $this->res = xml_parser_create_ns(); xml_set_object($this->res,$this); xml_set_element_handler($this->res,'start_element','end_element'); } function load_string($string) { xml_parse($this->res,$string); } function start_element() { } function end_element() { } } $str = '<?xml version="1" encoding="UTF-8" standalone="yes"?><root></root>'; $doc1 = new xml_doc(); $doc1->load_string($str); //unset($doc1);//this solves the problem //or using $doc1 =& new xml_doc(); in every assignment $doc1 = new xml_doc(); $doc1->load_string($str); ?> Expected result: ---------------- Nothing really... it is too simple to do real parsing. Actual result: -------------- Warning: xml_parse() [function.xml-parse.html]: Unable to call handler start_element() in file.php on line 13 Warning: xml_parse() [function.xml-parse.html]: Unable to call handler end_element() in file.php on line 13 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=37440&edit=1

« previous php.bugs (#97084) next »