Re: ISSUE-54: doctype-legacy-compat

On Jan 24, 2009, at 12:53, Robin Berjon wrote:

> On Jan 23, 2009, at 23:23 , Larry Masinter wrote:
>> Secondly, "about:" URIs *do* have a clear retrieval path, and there  
>> is some expectation that, should you type one into a browser, you  
>> would get something meaningful; in this case, there is no  
>> requirement (or it would be unreasonable to expect) a browser to  
>> present something meaningful should one accidentally type  
>> about:sgml-compat into the address bar.
> Nothing prevents us from specifying what it should return (I'm  
> guessing the empty string, or a well-formed external subset with no  
> information items depending on how we'd like to tackle that).

In text/html parsing as specified by HTML 5, the system identifier is  
not a URI. It is just a string that can be compared for equality with  
strings hard-coded into the parser. In application/xhtml+xml, the best  
way to achieve compatibility with XSLT and similar serializers is not  
to use a doctype at all.

Thus, "about:sgml-compat" is *not* interpreted as a URI by any  
conforming HTML5 consumer. In my opinion, it is therefore unnecessary  
for it to be of the form of a URI in a registered scheme.

The point of making it *look* like an absolute URI (i.e. have a colon  
in the magic string) is to avoid useless GET requests to URIs relative  
to the document URI in a situation where a piece of software goes and  
dereferences the magic string as if it were a URI.

The point of suggesting "about" as the string before the colon was  
that due to pre-existing special use in browsers, it won't be feasible  
for anyone to register "about" as a URI scheme for another purpose.

The 'tag' URI scheme is less suitable, because 'tag' URIs by their  
nature include non-mnemonic strings which make them harder to  
memorize. Furthermore, the date in the 'tag' URI scheme is dangerously  
close to being a version number, and one of the design goals was to  
avoid putting anything that resembles a version number into the doctype.

The problem with 'urn' is that there are actual URN resolvers that map  
a subset of URNs onto dereferencable URIs. Even if the 'w3c' URN  
scheme went nowhere, finding out that it goes nowhere could still  
cause waste in theoretically possibly scenarios. Using about:  
addresses even that mostly theoretical case.

Henri Sivonen

Received on Saturday, 24 January 2009 13:46:02 UTC