Bug #70029 [Com]: nodeValue of DOMElement list content of children nodes
| From: | me at kelunik dot com | Date: | Sun, 06 Sep 2015 01:11:21 +0000 |
| Subject: | Bug #70029 [Com]: nodeValue of DOMElement list content of children nodes | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-195790@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=70029&edit=1
ID: 70029
Comment by: me at kelunik dot com
Reported by: Laurent dot Lyaudet at gmail dot com
Summary: nodeValue of DOMElement list content of children
nodes
Status: Closed
Type: Bug
Package: DOM XML related
Operating System: Debian Linux
PHP Version: 5.4.42
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Yes, this is a bug, but I'd like to see it reverted and marked as WONTFIX.
Fixing it has exactly zero benefits (except spec compliance) while it introduces a BC break and
removes a useful features.
Previous Comments:
------------------------------------------------------------------------
[2015-09-05 20:02:23] bwoebi@php.net
Could that fix please be noted in UPGRADING?
That just broke my code... :-/
Yes, it's non-standard, but still an useful side-effect,
------------------------------------------------------------------------
[2015-09-05 00:05:30] cmb@php.net
The fix for this bug has been committed.
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
[2015-09-05 00:03:48] cmb@php.net
Automatic comment on behalf of cmbecker69@gmx.de
Revision: http://git.php.net/?p=php-src.git;a=commit;h=25a52d98d7cb2d4f3b3636eac45c71a1ae03c760
Log: Fix #70029: nodeValue of DOMElement list content of children nodes
------------------------------------------------------------------------
[2015-07-08 21:21:06] cmb@php.net
Confirmed: <http://3v4l.org/nrYAR>.
According to the "Document Object Model Core" specification[1]
nodeValue is supposed to yield null for Element nodes, so the
behavior may be considered as bug. However, it works this way
since the beginnings of the DOM extension, and the
documentation[2] isn't particularly clear with regard to the exact
behavior, so changing the behavior would introduce a BC break
which is not easily noticed.
Nonetheless, this should be fixed for PHP 7 (even though beta1 has
already been tagged, which marks the feature freeze), in my
opinion.
[1] <http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-F68D080>
[2] <http://de2.php.net/manual/en/class.domnode.php#domnode.props.nodevalue>
------------------------------------------------------------------------
[2015-07-08 20:57:46] Laurent dot Lyaudet at gmail dot com
Description:
------------
Hi,
When using nodeValue attribute of a DOMElement, the content of descendant (children, grandchildren,
etc.) nodes of the DOMElement are listed.
This bug emerged from a discussion on bug 65569
https://bugs.php.net/bug.php?id=65569
Best regards,
Laurent Lyaudet
Test script:
---------------
<?php
$xml = new DOMDocument();
$xml->loadXml('<tag><childtag>myString</childtag></tag>');
echo $xml->documentElement->nodeValue, "\n";
?>
or
<?php
$xml = new DOMDocument();
$xml->loadXml('<tag><childtag><grandchildtag>myString</grandchildtag></childtag></tag>');
echo $xml->documentElement->nodeValue, "\n";
?>
Expected result:
----------------
no output
Actual result:
--------------
myString
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=70029&edit=1