Bug #70029 [ReO]: nodeValue of DOMElement list content of children nodes
| From: | Laurent dot Lyaudet at gmail dot com | Date: | Tue, 08 Sep 2015 19:05:33 +0000 |
| Subject: | Bug #70029 [ReO]: nodeValue of DOMElement list content of children nodes | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-195885@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
User updated by: Laurent dot Lyaudet at gmail dot com
Reported by: Laurent dot Lyaudet at gmail dot com
Summary: nodeValue of DOMElement list content of children
nodes
Status: Re-Opened
Type: Bug
Package: DOM XML related
Operating System: Debian Linux
PHP Version: 5.4.42
Block user comment: N
Private report: N
New Comment:
Hi,
Please correct it again.
It's way better to have standard compliance than having code relying on non documented,
unwanted behavior. Code relying on non standard is not portable and reference implementation of DOM
API in PHP should be standard compliant.
Moreover the feature is not removed since it already exists with textContent as you pointed out.
The only negative point is BC break but it is only a minor point since it's so easy to change
nodeValue for textContent in that case.
It's sufficient to explain this possible fix in the release note.
If, for a reason I don't see, it's more clever to have textContent than having null in
nodeValue of DOMElements, then it should be first explained why. And it should be explained not only
here but also at the W3C where the debate should be.
Best regards,
Laurent Lyaudet
Previous Comments:
------------------------------------------------------------------------
[2015-09-06 13:39:14] cmb@php.net
I have reverted the fix and the respective UPGRADING and NEWS
entries.
> Fixing it has exactly zero benefits (except spec compliance)
> while it introduces a BC break and removes a useful features.
IMHO, standard compliance is a benefit, especially as the manual
states[1]:
| The DOM extension allows you to operate on XML documents through
| the DOM API with PHP 5.
Furthermore I don't see a good reason to use DOMNode::nodeValue
instead of DOMNode::textContent to get the text content of a node.
[1] <http://www.php.net/manual/en/intro.dom.php>
------------------------------------------------------------------------
[2015-09-06 13:38:04] cmb@php.net
Automatic comment on behalf of cmb
Revision: http://git.php.net/?p=php-src.git;a=commit;h=1b344f55f4dc033cba41a94cbe0d2fdc2ad606a6
Log: Revert "Fix #70029: nodeValue of DOMElement list content of children nodes"
------------------------------------------------------------------------
[2015-09-06 08:05:14] mbeccati@php.net
Among other things, the fix breaks PHPUnit:
https://revive.beccati.com/bamboo/browse/PHP-PHPUN-477
------------------------------------------------------------------------
[2015-09-06 01:11:19] me at kelunik dot com
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.
------------------------------------------------------------------------
[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,
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=70029
--
Edit this bug report at https://bugs.php.net/bug.php?id=70029&edit=1