php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #14325 set_attribute does not keep '&' in character references
Submitted: 2001-12-03 11:39 UTC Modified: 2001-12-03 17:53 UTC
From: andrew at boxuk dot com Assigned:
Status: Not a bug Package: DOM XML related
PHP Version: 4.0.5 OS: Redhat 7.0
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: andrew at boxuk dot com
New email:
PHP Version: OS:

 

 [2001-12-03 11:39 UTC] andrew at boxuk dot com
The '&' in character references is converted to & when used in set_attribute
e.g. ! is changed to !

$oXml      = new_xmldoc("1.0");           
$oRoot     = $oXml->add_root("outputXml");
$oRoot->set_attribute("test","&033;");
print $oXml->dumpmem();

This produces 
<?xml version="1.0"?>
<outputXml test="&amp;033;"/>

instead of
<?xml version="1.0"?>
<outputXml test="&033;"/>

PHP modules compiled:
'./configure' '--prefix=/usr' '--with-apxs=/usr/sbin/apxs' '--with-exec-dir=/usr/bin' '--with-config-file-path=/etc/httpd' '--with-regex=system' '--enable-debugger' '--enable-magic-quotes' '--enable-sysvshm' '--with-dom' '--enable-force-cgi-redirect' '--enable-sigchild' '--with-wddx' '--enable-inline-optimization' '--with-gnu-ld' '--enable-bcmath' '--enable-crypt' '--with-xml' '--with-sablot' '--enable-dbg=shared' '--with-dbg-profiler'

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-12-03 17:53 UTC] mfischer@php.net
You actually ran into a feature of libxml2. It does automatic character encoding. I remember it was discussed to implement a function to set raw attributes but as far as I know the current version it's not implemented so there's little we can do about it (but I would be happy to be proved being wrong here).

Not a PHP bug -> bogusifying.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 02:01:28 2024 UTC