Bug #14850 Updated: Problems with XML and DTD entities

From: Date: Fri, 25 Jan 2002 16:48:08 +0000
Subject: Bug #14850 Updated: Problems with XML and DTD entities
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-78120@lists.php.net to get a copy of this message
ID: 14850 Updated by: sander Reported By: mark@chesneycorp.com Old Status: Feedback Status: No Feedback Bug Type: DOM XML related Operating System: FreeBSD 4.5-PRERELEASE PHP Version: 4.1.1 New Comment: No feedback. Previous Comments: ------------------------------------------------------------------------ [2002-01-04 13:50:19] mfischer@php.net For the first bug, you should consult tightly the libxml2 documentation. libxml2 does the conversion on its own and only hell knows why you get what you get. It's probably a runtime configuration option of libxml2 which most likely also isn't implemented in the domxml interface. Or maybe its even expected. Anyway, best is you take a look at libxml2 directly . Feedback. ------------------------------------------------------------------------ [2002-01-04 13:39:39] mfischer@php.net About Example 2: Entity references defined in the document are their own nodes. You should carefully look at print_r($node); Next please don't open one report about two things (even if they look the same). ------------------------------------------------------------------------ [2002-01-04 10:09:37] mark@chesneycorp.com There are two instances where I am having problems with entities. test.php and test.xml below exhibit a problem with xml entities. The output is: Blah Blah &Acirc;&reg; Blah Blah The expected output was: Blah Blah &reg; Blah Blah The second problem exhibited by test2.php and test2.xml has to do with DTD entities. The output is: Blah Blah The expected output was: Blah Blah &reg; Blah Blah The setup is PHP 4.1.1 with a patch to php_domxml.c from 1.67.2.9 to 1.90 that fixes a problem with PHP crashing with DTD entities. test.php: -- <? $xml = "test.xml"; $doc = xmldocfile($xml); $context = $doc->xpath_new_context(); $query = "//test"; $nodes = $context->xpath_eval($query); $node = $nodes->nodeset[0]->children(); $content .= $node[0]->content; echo htmlentities($content); ?> test.xml: -- <?xml version="1.0"?> <test>Blah Blah &#174; Blah Blah</test> test2.php: -- <? $xml = "test2.xml"; $doc = xmldocfile($xml); $context = $doc->xpath_new_context(); $query = "//test"; $nodes = $context->xpath_eval($query); $node = $nodes->nodeset[0]->children(); $content .= $node[0]->content; echo htmlentities($content); ?> test2.xml: -- <?xml version="1.0"?> <!DOCTYPE test [ <!ENTITY reg "&#174;"> ]> <test>Blah Blah &reg; Blah Blah</test> ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=14850&edit=1

« previous php.dev (#78120) next »