- From: Simon Pieters <simonp@opera.com>
- Date: Mon, 19 Oct 2009 12:11:54 +0200
- To: "Geoffrey Sneddon" <gsneddon@opera.com>, "Doug Schepers" <schepers@w3.org>
- Cc: "www-dom@w3.org" <www-dom@w3.org>
On Mon, 19 Oct 2009 11:26:15 +0200, Geoffrey Sneddon <gsneddon@opera.com>
wrote:
> Doug Schepers wrote:
>> However, I think it makes more sense at this point to simply include
>> these new attributes in DOM4 Core, along with the indispensable bits of
>> Element Traversal (that is, everything except the childElementCount,
>> which is superfluous to childElements.length). I'd like this to
>> also contain the work that Simon Pieters did on Web DOM Core [4], if
>> he's willing to have that folded in (I left it out pending word from
>> him... he's BCCed on this message).
>
> I started playing around with Web DOM Core back in the end of August,
> mainly from a viewpoint of getting a complete test suite for DOM Core. I
> did, however, also edit the spec a bit (mainly just adding one or two
> missing exceptions from DOM Level 3 Core). What I did is in the hg repo
> at [1].
>
> That said, there are quite a few issues with the spec (both DOM 3 Core
> and Web DOM Core) as it stands today from a browser POV:
>
> - There isn't in any sense of an abstract model, and browsers (through
> their HTML parsers) can create DOMs that could not be created via the
> scripting interface to the DOM (e.g., an <a@b> tag). There is no way to
> explain the current DOM behaviour in DOM 3 Core.
>
> - Likewise, from that above point, it seems better to try and sort out
> the current mess of the error checking: sometimes it matches what can be
> serialized in XML 1.0 Fourth Edition, sometimes it matches some of the
> restrictions in XML 1.0 Fourth Edition (but not all!), and sometimes it
> doesn't do any error checking. This leads to a state of play in which
> the error checking doesn't actually help ensure the DOM can be
> serialized as XML, and as such, little is gained by it.
Indeed.
> It would be nice to resolve the above issue with element local names
> such as "a@b" by just removing error checking. (However, this can't be
> done blindly as IE supports weirdness like document.createElement("<div
> title=magic>") to create a "div" element with a "title" attribute whose
> value is "magic". To prevent this from seeming too sensible, this
> appears to use a different HTML tokenizer to the one normally used. In
> this case, content relies upon browsers throwing exceptions to work in
> other UAs!)
I think it would probably be disruptive to change the error checking in
the DOM at this point.
> - The behaviour of several operations in the DOM needs to depend upon an
> HTMLness bit. The current state of play is that HTML 5 redefines certain
> operations for HTMLDocument. (However, HTML 5 also states: "All Document
> objects (in user agents implementing this specification) must also
> implement the HTMLDocument interface, available using binding-specific
> methods. (This is the case whether or not the document in question is an
> HTML document or indeed whether it contains any HTML elements at all.)
> Document objects must also implement the document-level interface of any
> other namespaces that the UA supports.").
>
> - Probably quite a few other things I've forgotten off the top of my
> head (Simon, can you think of other major things?).
* The "legal hierarchy" checking is wrong and should be revamped and
probably be part of appendChild/insertBefore/etc.
* At some point, I had hope that we could somehow drop support for Attr
nodes and related methods, but I think Web compat requires at least some
of the methods to be supported, so it's probably better to just spec them
to the extent that browsers have implemented them.
> [1]: http://hg.gsnedders.com/web-dom-core/
--
Simon Pieters
Opera Software
Received on Monday, 19 October 2009 10:12:31 UTC