Re: should CSS, HTML, etc. documents bear version information? (XMLVersioning-41?)

Hash: SHA1

Dan Connolly writes:
>> Conformance checkers should say (like the W3C one does) what version 
>> they are checking against. They should also offer different versions or 
>> profiles to check against (e.g. "the subset supported by IE", "HTML5", 
>> "HTML6"). But the version you check against is independent of the version 
>> the document was authored for, and neither version belongs in the 
>> document, IMHO.
>  -- Ian Hickson 24 March
> Lachlan Hunt's follow-up gives supporting arguments.
> I don't see arguments in webarch to refute him. In fact,
> I'm sympathetic to the argument.

The argument feels to me like a version of the "consumer's wishes
should determine" position.  My view is that this is sometimes right,
but not always.  It's typically expressed as a reaction to the
opposite extreme, namely that "producer's wishes should determine".

Although "producer rules" is clearly wrong, it's also wrong to
overreact.  Consider two examples from history:

XML as specified gives the DTDs contained in a document absolute
authority - - conformant processors which check validity at all MUST
check it against the DTD in the document -- i.e. producers/authors
determine.  This was a mistake.  XML Schema allows producers/authors
to specify the schema to use, but also allows consumers/readers to
override that specification -- but crucially, if they choose not to
override, conformant processors use what the producers specified.

CSS1 allowed authors to mark a rule as 'important' -- conformant user
agents MUST treat an producer/author's important rule as determining.
This was a mistake.  CSS2 introduced '!important' to allow the
consumer/reader to override.  Again, crucially, if consumers choose
not to override producers' choices must be followed.

What's important here is that consumers' wishes are paramount, but it
_is_ none-the-less possible for producers to state their wishes as

I think this applies to versioning.  There are lots of reasons for
authors to indicate version information -- it's a form of
documentation, it helps authoring tools, it provides a default for
validators and interpreters.  What's wrong is to treat
author-specified version information as definitive.

Net-net -- languages should provide a means for specifying version
information, but conformant processors should be able to override such
specifications if requested/directed by consumers.

- -- 
 Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                     Half-time member of W3C Team
    2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
            Fax: (44) 131 650-4587, e-mail:
[mail really from me _always_ has this .sig -- mail without it is forged spam]
Version: GnuPG v1.2.6 (GNU/Linux)


Received on Saturday, 31 March 2007 13:09:43 UTC