On 3/17/19 6:52 AM, C. Scott Ananian wrote:
> On Sun, Mar 17, 2019, 9:34 AM Benjamin Eberlei <kont...@beberlei.de> wrote:
>
>> It is still a draft but Thomas and I have started working on an RFC and
>> code to update ext/dom to cover the latest standard release:
>> https://wiki.php.net/rfc/dom_living_standard_api - we plan on proposing
>> that soon, maybe you have some feedback.
>>
> Updating the DOM extension would be something the Wikimedia Foundation
> would very much like to see happen.  It's more complicated than just adding
> some new methods, though: there are significantly spec-compliance issues
> with the current code and performance problems too.  We've been porting
> code from JS to PHP which (in the JS version) used a good spec-compliance
> DOM implementation, and have been keeping a list of all the crazy bugs and
> workarounds that have been necessary.
>
> Start from the basic fact that the modern DOM requires Node#nodeName to be
> uppercase for HTML elements, and the current code uses all lowercase.  It's
> hard to see how that could be addressed without breaking backward compat.
>
> Here are our notes/discussions/etc:
> https://phabricator.wikimedia.org/T215000
> https://mediawiki.org/wiki/Parsoid/PHP/Help_wanted
> (and there's more where that came from)
>   --scott
>
> PS. My personal feeling at this time is that it would be better to put the
> core libxml abstractions in an extension, to allow fast xpath and perhaps
> parse/serialize, but that the actual DOM should be built as a php library
> on top of that, in order to allow rapid changes (the WHATWG is pretty
> actively making additions/changes to the we spec these days) which are
> decoupled from the PHP release cycle.
>

I'll take a look through the lists you have but you need to remember
that the DOM specs were not written for HTML. While HTML might have some
more restrictive requirements that piggy back on the DOM specs
themselves, they are not the standard for DOM. The output HTML
functionality was more convenience methods than part of the core extension,


Rob


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to