- From: David Flanagan <dflanagan@mozilla.com>
- Date: Mon, 03 Oct 2011 17:04:10 -0700
- To: www-dom@w3.org
The HTML parsing algorithm has steps that require one to "set the Document to quirks-mode" or "set the Document to limited quirks-mode". The DOM doesn't define any API for doing that, but does define the Document.compatMode attribute which depends on those settings having been made. As far as I can tell, this means that it is not possible to implement a conforming HTML parser unless you're also implementing the DOM itself. I can't, for example, write an HTML parser in JavaScript that builds a tree using the native DOM provided by a browser, since I can't get the correct behavior for compatMode. Note that I cannot just expect document.implementation.createDocumentType() to do the right thing based on the doctype name, publicid and systemid. The parsing algorithm also sometimes forces a document into quirks mode based on syntax errors in the <!DOCTYPE> tag, but these syntax errors aren't visible once the tree-building stage of the parsing algorithm begins. I propose, therefore, that DOM4 add a 4th argument to createDocumentType(). If true, then the document associated with that document type would be in quirks mode. If false, or omitted, then the document is in no-quirks mode or limited-quirks mode. Alternatively, and for more future flexibility, this 4th argument could be an optional string that becomes the value of compatMode. David
Received on Tuesday, 4 October 2011 00:04:39 UTC