Re: Action item on syntax-based interoperability

On Friday, October 24, 2003, 2:56:27 PM, Elliotte wrote:

ERH> At 10:42 AM +0100 10/24/03, wrote:
>>>  Application developers have taken years to get CSS sort of vaguely
>>>  right, though some have certainly put more effort into it than others.
>>>  It's pretty obvious, however, that this isn't an easy task.  DOM interop
>>>  has faced similar problems, with similar results.
>>Whereas HTML and HTTP are universally supported perfectly?

ERH> They're supported far better and much more interoperably with much
ERH> greater success.

Sorry, I can't let that one go by.

No, they are not well supported at all, in fact HTML 4 is one of the
least implemented specifications I have ever seen. I did see one
implementation, once; it was not widely deployed and was not complete
butdid at least conform to the basics of the HTML 4 specification.

ERH> A large part of that is because not everyone has to
ERH> do the same thing thing with the same syntax.

Firstly, yes they do and secondly, when they don't that gives the
problems that hinder CSS and DOM from working correctly. the parse
tree or trees (some browsers have several for different purposes, for
the same document) is clearly necessary for both CSS and for DOm 9and
indeed for XPath and anything else that uses a stree rather than a
stream of formatting escapes as its model).

ERH> If you send correct
ERH> HTML syntax, pretty much any browser or HTML-aware process can do
ERH> something reasonable with it, where the definition of reasonable of
ERH> course varies to fit local conditions.

... and where that definition does not include doing what the spec

Its a myth that sending correct HTML gives interoperability. Some
browsers 'correct' </p> to <p> for example, and some move forms
outside of tables, and so forth.

The crucial thing that XML did for interoperability (which is why it
really annoys me to hear it called 'draconian') was to *relax* the
requirements for parsing to the point that they were actually

In SGML, a DTD is required. For 'well formed SGML' a catalog of all
elements and whether they are empty or not is still required.

XML wisely separated tag names from the parsing process. An XML parser
does not need to know every tag name to be able to parse the document,
so <myfunkyextension>  is clearly an opening tag not an empty one.

Thus, XML-based grammars have good CSS and DOM interoperability
because processors are required to construct the same tree.


Received on Friday, 24 October 2003 12:52:17 UTC