[whatwg] DOMParser / XMLSerializer
Anne van Kesteren
annevk at opera.com
Thu May 21 00:55:02 PDT 2009
On Thu, 21 May 2009 01:25:25 +0200, João Eiras <joaoe at opera.com> wrote:
> XMLSerializer must generate well formed xml (all tags closed, no
> attributes without values, case preserved, etc) and it accepts a full
> document, so you get a serialized output with doctype, processing
> instructions, comments which are not descendants of the root, and the
> root itself.
This is no different from innerHTML in XML documents.
> DOMParser parses xml into a full document so if I have a doctype subset,
> those will be recognized and replaced on the document. That does not
> happen with innerHTML. If the input source has processing instructions,
> these will be preserved also in the result document.
It does happen with *document*.innerHTML.
On Thu, 21 May 2009 01:46:24 +0200, Jonas Sicking <jonas at sicking.cc> wrote:
> Mostly I think these APIs came about before innerHTML was supported in
> XML content. DOMParser is also somewhat more convenient if you want a
> full document back. And XMLSerializer is more convenient if you want
> an XML serialization of text/html content.
document.innerHTML also gives a full document back but yeah, you cannot get an XML serialization of an HTML document at this point I believe. Just an HTML serialization.
On Thu, 21 May 2009 05:23:40 +0200, Boris Zbarsky <bzbarsky at mit.edu> wrote:
> Ignoring the non-web-facing functionality (like parsing from and
> serializing to streams), and speaking only of Gecko's implementations,
> basically the following:
> 1) DOMParser can parse as a given content type (in theory XML vs HTML;
> I assume that if document.innerHTML doesn't do that yet it could be
> changed to do so).
If the document is of the right type (HTML document vs XML document) it works fine.
> 2) DOMParser can parse from a byte array instead of a string; this
> makes it a little easier to work with XML in encodings other than
> UTF-8 or UTF-16.
ECMASCript doesn't have byte arrays though. (Though it would be nice if it did.)
> 2) XMLSerializer can serialize a subtree rooted at a given node without
> removing the node from its current location in the DOM.
Isn't this true for innerHTML too?
Anne van Kesteren
More information about the whatwg