Re: If we have versioning, it should be in an attribute, not the doctype

Seems to me that a namespace declaration on the root element would do the 
trick.
That would be in keeping with Web Architecture and available tools.
Why not a namespace?

At 01:51 PM 4/17/2007 -0700, 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">
>The latter is clearly easier to type correctly from memory and easier to 
>read. If 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 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: ... 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 Wednesday, 18 April 2007 01:03:49 UTC