- From: Jonas Sicking <jonas@sicking.cc>
- Date: Tue, 17 Apr 2007 14:46:17 -0700
- To: Maciej Stachowiak <mjs@apple.com>
- CC: "public-html@w3.org WG" <public-html@w3.org>
I talked with Boris over irc about "to version or not to version". The way I feel is something like this: The cost is pretty low but so is the value. First of all, I don't envision that Firefox will make use of the versioning to trigger significantly different DOMs/rendering/parsing/etc, and I definitely don't want to impose it on new UAs. Both HTML5 and HTML6 will have to live with the "Don't break the web" mantra. So there is no value added in versioning there. Where the value comes in is it might help users migrate to newer versions of the spec. If IE requires the user to opt-in to newer more bug fixed releases then they'll have to do so anyway, until html6 is released. Only once html6 is released they can use that doctype/attribute to automatically get the latest and greatest IE behavior. So no value added in versioning here until html6 is released. The cost is pretty low though if we make the version attribute optional. We have to make sure to write the spec in such a way though that future spec writers aren't tempted to break compat by saying "well, people should have been putting the version attribute in there anyway". All in all I'd like to see real working usecases for versioning. Just like every other feature in the spec :) / Jonas Maciej Stachowiak wrote: > > > If we require a version marker (and I don't necessarily agree we > should), it should be in an attribute on the root element, not in the > doctype string. > > Reasons: > > 1) Ease of authoring and readability. Compare: > > <!DOCTYPE html PUBLIC "-//W3C//HTML 5.0//EN"> > <html> > > <!DOCTYPE html> > <html version=5.0> > > The latter is clearly easier to type correctly from memory and easier to > read. If <!DOCTYPE html5> were usable, then that might be a better > option from this point of view, but it triggers quirks mode in Safari > and Firefox so it is not an option. > > Some people have argued that <!DOCTYPE html> is an invalid doctype > declaration, but that is mistaken; it is syntactically valid in both > SGML and XML. > > 2) In XML, a DOCTYPE declaration is not required, and in fact is not > recommended for languages that do not have a DTD (either because they > don't use any formal schema language or because they use one other than > DTDs, such as RelaxNG). For example, SVG 1.2 doesn't call for any DTD > declaration. > > 3) Other modern XML-based languages use a version attribute, not > versioning in a DTD declaration. Examples include XSLT and SVG. We > wouldn't want the XML serialization of HTML5 to diverge from this. > > 4) In a compound document by inclusion (CDI) scenario, there is no place > to put the doctype. If HTML behavior is to be versioned, then surely you > want to apply that even when it is included directly in some other > markup language. For instance: > > <svg xmlns="http://www.w3.org/2000/svg" version="1.2"> > <foreignObject> > <html xmlns="http://www.w3.org/1999/xhtml/" version="5.0"> > ... > > Where could you possibly put an html doctype declaration in this? > > > I think these reasons are strong enough to rule out versioning via a DTD > declaration. > > Regards, > Maciej >
Received on Tuesday, 17 April 2007 21:47:50 UTC