ID:              49731
 User updated by: moltendorf at gmail dot com
 Reported By:     moltendorf at gmail dot com
 Status:          Open
 Bug Type:        DOM XML related
 PHP Version:     5.2.11
 New Comment:

Adding illegal characters to a text node when saved as XML are not
stripped. This breaks the XML, causing it to be "not well-formed" when
viewed by standards-compliant browsers, like Firefox. Even converting
them to NCRs breaks the XML in most browsers.

For reference, the NCR of the "illegal character" included in the
reproduce code is 


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

[2009-10-01 06:47:18] moltendorf at gmail dot com

Description:
------------
Adding illegal characters to a text node when saved as XML are not
either converted to NCRs, or stripped. This breaks the XML, causing it
to be "not well-formed" when viewed by standards-compliant browsers,
like Firefox.

Reproduce code:
---------------
<?php
header ('Content-Type: text/xml');
$document = new DOMDocument ('1.0', 'utf-8');
$element = $document -> createElement ('element');
$text = $document -> createTextNode (''); // Please copy and paste
this line directly; it contains special characters that may not display
correctly; and are invalid in XML based on the W3C specification.
$element -> appendChild ($text);
$document -> appendChild ($element);
echo $document -> saveXML ( );

Expected result:
----------------
<?xml version="1.0" encoding="utf-8"?>
<element/>

Actual result:
--------------
<?xml version="1.0" encoding="utf-8"?>
<element></element>


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


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

Reply via email to