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

-----BEGIN PGP SIGNED MESSAGE-----
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
> http://www.w3.org/mid/Pine.LNX.4.62.0703242238510.14425@dhalsim.dreamhost.com
>
> Lachlan Hunt's follow-up gives supporting arguments.
>   http://www.w3.org/mid/4605D078.6030403@lachy.id.au
>
> 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
well.

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.

ht
- -- 
 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: ht@inf.ed.ac.uk
                   URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged spam]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQFGDl2HkjnJixAXWBoRAhudAJ9M2Fdt9GLGVa9lhn/KFZtVaOAr2gCfTEm2
9MDb8nyIlckFwanreYic6Sc=
=gmu9
-----END PGP SIGNATURE-----

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