#36795 [Com]: Inappropriate "unterminated entity reference" in DOMElement->setAttribute

From: Date: Fri, 28 Sep 2007 06:40:20 +0000
Subject: #36795 [Com]: Inappropriate "unterminated entity reference" in DOMElement->setAttribute
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-117927@lists.php.net to get a copy of this message
 ID:               36795
 Comment by:       ocus51 at gail dot com
 Reported By:      john at carney dot id dot au
 Status:           No Feedback
 Bug Type:         DOM XML related
 Operating System: Windows/Linux
 PHP Version:      5.1.2
 New Comment:

Hi,

I'm still experiencing this problem :
 - PHP Version 		5.2.0-8+etch7
 - DOM/XML API Version 	20031129
 - libxml Version 	2.6.27


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

[2006-12-06 11:49:37] philippe dot levan_nospam at kitpages dot fr

Hi,

I have the same problem. My config is :
- PHP 5.2
- libxml Version 2.6.16
---------
<?php
$xmlStr = "<?xml version='1.0'
encoding='UTF-8'?><root></root>";
$xml = new SimpleXMLElement($xmlStr);
$xml->addChild("foo",utf8_encode("start < > end"));
echo "foo tag added ok";
$xml->addChild("bar",utf8_encode("start & end"));
echo "error on bar tag because of &amp;";
$result = $xml->asXML();
echo "<pre>".htmlentities($result)."</pre>";
?>
-------------
you can run this script at :
http://www.kitpages.fr/test/bugSimpleXml.php

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

[2006-06-19 14:30:10] php dot net at jax dot be

In PHP 4.2.2 I have the same issue.
<code>
<?php
	require_once("sms/messageRelay.class.php");
	$doc = domxml_new_doc("1.0");
	$msg = $doc->create_element("message");
	$msg->set_attribute("type", "MT");
	$doc->append_child($msg);
	$auth = $doc->create_element("authentication");
	$str = "abc < d & e > f";
	$auth->set_content($str);
	$msg->append_child($auth);
	
	echo "<pre>";
	echo $doc->dump_mem(true, "UTF-8");	
	echo "</pre>";
?>
</code>
It chokes on the &.

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

[2006-04-01 04:49:32] tamit at xmission dot com

This is most definitely a bug.  I've replicated by producing the
following tree in my code:

(This is well-formed XML so I have no idea why there would be a
problem.)

---------BEGIN XML----------------------------
<?xml version="1.0" encoding="iso-8859-1"?>
<classes>
	<class classid="0" parentid="" class_level="0">Root<class
classid="1"
parentid="0" class_level="1">Adhesives </class>
		<class classid="3286" parentid="0"
class_level="1">Agricultural and
Farming Products</class>
		<class classid="3283" parentid="0"
class_level="1">Architectural and
Civil Engineering Products</class>
		<class classid="14" parentid="0" class_level="1">Automatic
ID</class>
		<class classid="45" parentid="0" class_level="1">Chemical
Processing
</class>
		<class classid="124" parentid="0" class_level="1">Cleaning
Products
</class>
		<class classid="148" parentid="0"
class_level="1">Communication
Systems </class>
		<class classid="264" parentid="0" class_level="1">Computer
Hardware
</class>
		<class classid="3281" parentid="0"
class_level="1">Construction
Equipment and Supplies</class>
		<class classid="489" parentid="0" class_level="1">Controls
</class>
		<class classid="589" parentid="0" class_level="1">Display
</class>
		<class classid="612" parentid="0" class_level="1">Electrical
Equipment </class>
		<class classid="772" parentid="0" class_level="1">Electronic
Components </class>
		<class classid="3282" parentid="0" class_level="1">Explosives,

Armaments, and Weaponry</class>
		<class classid="920" parentid="0" class_level="1">Fasteners
</class>
		<class classid="954" parentid="0" class_level="1">Fluid
</class>
		<class classid="3461" parentid="0" class_level="1">Food
Processing
</class>
		<class classid="3288" parentid="0" class_level="1">Health,
Medical,
</class>
		<class classid="1029" parentid="0"
class_level="1">HVAC</class>
		<class classid="1068" parentid="0" class_level="1">Labels Tags
Signage </class>
		<class classid="3279" parentid="0" class_level="1">Laboratory
and
Research Supplies and Equipment</class>
		<class classid="1083" parentid="0"
class_level="1">Lubricants</class>
		<class classid="1106" parentid="0" class_level="1">Machinery
</class>
		<class classid="1424" parentid="0" class_level="1">Material
Handling
</class>
		<class classid="1303" parentid="0" class_level="1">Materials
</class>
		<class classid="3284" parentid="0" class_level="1">Mechanical
Components and Assemblies</class>
		<class classid="1620" parentid="0" class_level="1">Mechanical
Power
Transmission</class>
		<class classid="3462" parentid="0" class_level="1">Mining, Oil
Drilling </class>
		<class classid="1728" parentid="0" class_level="1">Mounting
</class>
		<class classid="3285" parentid="0"
class_level="1">Non-Industrial
Products</class>
		<class classid="1782" parentid="0" class_level="1">Optics
</class>
		<class classid="2054" parentid="0" class_level="1">Packaging
Equipment </class>
		<class classid="2151" parentid="0" class_level="1">Paints
</class>
		<class classid="2185" parentid="0" class_level="1">Plant
Furnishings
</class>
		<class classid="2196" parentid="0" class_level="1">Portable
Tools</class>
		<class classid="2286" parentid="0" class_level="1">Printing
</class>
		<class classid="3539" parentid="0" class_level="1">Problematic
Headings</class>
		<class classid="3463" parentid="0" class_level="1">Retail and
Sales
Equipment</class>
		<class classid="2328" parentid="0"
class_level="1">Robotics</class>
		<class classid="2369" parentid="0" class_level="1">Safety
</class>
		<class classid="2399" parentid="0" class_level="1">Sensors
Monitors
</class>
		<class classid="3280" parentid="0"
class_level="1">Services</class>
		<class classid="2585" parentid="0"
class_level="1">Software</class>
		<class classid="2697" parentid="0" class_level="1">Test
</class>
		<class classid="3919" parentid="0" class_level="1">Textile
Industry
Products</class>
		<class classid="3167" parentid="0" class_level="1">Thermal
</class>
		<class classid="3190" parentid="0" class_level="1">Timers
</class>
		<class classid="3287" parentid="0"
class_level="1">Transportation
Industry Products</class>
		<class classid="3193" parentid="0" class_level="1">Vision
Systems</class>
		<class classid="3208" parentid="0" class_level="1">Waste
Handling
Equipment</class>
		<class classid="3246" parentid="0" class_level="1">Welding
Equipment
</class>
	</class>
</classes>
--------------END XML---------------------------

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

[2006-03-28 01:00:05] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

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

[2006-03-20 15:34:55] rrichards@php.net

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.

Also, what version of libxml2 are you using as I am unable to reproduce
this.

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/36795

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


Thread (19 messages)

« previous php.bugs (#117927) next »