The suggestion was not meant to cover all possible variations between
browsers, but instead to cover the ones that seem to matter most to people
concerned with content negotiation. Your example of "mailto:" support is a
good point against using DTD's; but most of the other examples I've heard
(for instance, line break after </form> or no?) have not been convincing.
(That particular </form> example, in my mind, is a style sheet problem, not
a negotiation problem.)
Many of us seemed to agree, at the beginning of this thread, that
negotiating on User-Agent is evil (or at least too much work), and that
something better is needed. If you take negotiation down to the most
minute presentational details, I don't see it as any different than
User-Agent negotiation. Every browser is going to do _something_
different. If we standardize a syntax for describing every little quirk,
then every description written in that syntax will be different. At that
point, who needs it? Existing resources (Glenn Trewitt's form-test suite
and the Browser Caps database) can tell us what we need to know based on
the User-Agent header. We will have spent a lot of time getting nowhere.
If we are just negotiating over the capabilities of an HTML parser -- not
its particularities, but its capabilities -- then we have a reasonable
chance of seeing more than one browser using the same capabilities. Even
if not the same, at least we will be given a chance to say "a is a superset
of b" and from that know that our b-version of this page will be
recognized.
My primary reason for mentioning DTD's was to avoid the "reinvent" word,
which has arisen a number of times in this thread. If there is a better
existing format, let's here about it.
I agree that DTD's are not sufficient to describe every peculiarity of a
browser. However, I don't think that's bad. A description of a browser's
HTML parser might be the best way to find _commonalities_ between browser
capabilities (at a finer level of detail than Internet Media Types), and
therefore take us beyond user-agent negotiation. I'm trying to avoid "one
page for every browser."
M. Hedlund <hedlund@best.com>
[I don't want to ignore Koen's excellent suggestion to talk about the
subject of negotiation separately from the format of negotiation. I have
kept the topics linked because I want to see if we can use an existing
format. If we can't, then let's back up a step and talk about the subject
of negotiation exclusively.]