Re: Versioning re-visited (was : mixed signals on "Writing HTML documents", tutorial, etc.)

2007/6/21, Philip Taylor (Webmaster):
>
> Ian Hickson wrote:
>
> > It's not really clear to me that this is an interesting question. I mean,
> > once HTML6 is out, who cares what HTML5 says?
>
> Everyone who has written an HTML 5 document.  I have been
> creating web pages ever since HTML 2.0 (many on this list
> will have been creating them for far longer), and every
> page that I have validated in the past will validate today,
> because the specification against which it is written is
> enshrined in its DOCTYPE directive.  Yes, it might be helpful
> if the validator said (e.g.) "Although your document is
> valid HTML 2.0, it is not valid HTML 4.01 which is the current
> standard", but that is as far as I want it to go :

But browsers are not coded towards HTML 2.0, there are coded as "tag
soup" parsers, and they evolve as HTML evolves (and sometimes in
divergent ways). So validating against HTML 2.0 brings you almost
nothing apart from a) self-satisfaction b) knowing that your SGML tool
still work in the exact same way as before (modulo bug fixes).

Given that HTML 5 is no longer an SGML application, this last argument
fails, and the first is not relevant in this discussion.

By removing versionning, we're ensuring that future versions of HTML
will have to be compatible with what we're now calling "HTML 5" (in
the sense that HTML "5" UAs would still be able to process HTML "6"
documents, and that HTML "5" documents will still be a valid HTML "6"
document).
That's an important constraint for the future but many XML
applications are already doing so (or worse, as some don't even care
about future evolutions of the language). Atom is one recent and
already widely deployed example.

If a future evolution of HTML needs to be incompatible with "HTML 5",
it will "just" have to have another media type. This will ensure that
"legacy UAs" won't fail at processing this eventual "new HTML".

> I most certainly do /not/ want it to say (in effect) "I have ignored
> your DOCTYPE directive and am validating against the most
> recent version of the standard" (a) because that is not the
> validator's job,

Note that the current draft already give such an option for
conformance checkers: "If the DOCTYPE token's name does not
case-insensitively match the string "HTML", or if the token's public
identifier is not missing, or if the token's system identifier is not
missing, then there is a parse error. Conformance checkers may,
instead of reporting this error, switch to a conformance checking mode
for another language (e.g. based on the DOCTYPE token a conformance
checker could recognise that the document is an HTML4-era document,
and defer to an HTML4 conformance checker.)"
http://www.whatwg.org/specs/web-apps/current-work/multipage/section-tree-construction.html#the-initial

> and (b) because "the most recent version of the standard" may
> well be a very contentious concept, particularly in view of the
> divergent evolutionary paths that are only too apparent at the
> moment.

See above.

-- 
Thomas Broyer

Received on Thursday, 21 June 2007 18:07:17 UTC