- From: Robert J Burns <rob@robburns.com>
- Date: Thu, 12 Feb 2009 04:12:50 -0600
- To: HTML WG <public-html@w3.org>
Hi Robin, On Feb 12, 2009, at 3:15 AM, Robin Berjon wrote: > > On Feb 11, 2009, at 21:47 , Robert J Burns wrote: >> However, HTML5 has introduced namespace collisions all on its own >> so that things like the 'small' element mean two different things >> within the same namespace. In other words a name collision where >> two separate elements share the same name. This is the type of >> thing a namespace should be avoiding or it ceases to have any >> meaning. > > I really don't understand your point? Are you saying that elements > with different semantics with the same fully qualified name are > always bad? So long as they can be distinguished by context, it > really doesn't matter. The only thing it breaks is DTD validation > and no one sane would ever care about that. I'm not sure I disagree with what you're saying in terms of reusing the same name in different contexts. However, there's no reason to expect that two separate elements with the same name will only be used in different contexts. For example, imagine that XHTML2 adds an element 'small' that means the text is smaller than the surrounding text (visually only). However, HTML5 introduces a 'small' element where the element means specific legal disadvantages or caveats. Imagine another meaning of 'small' element is as a small thought not directly relevant to the main topic of the document. I'm not sure how context gets us out of the name collision problem. Unless you mean that a heuristic reading by an intelligent human can always discern what all the text in a document is about, but then we could just name every element in the XHTML namespace 'small' from the root element on down the list. So if a new semantic is worth introducing, I think it is worth introducing a new name for that semantic instead of overloading existing names. If its not worth introducing a new name it probably is not worth introducing the new semantic. > What matters is if a v1 implementation cannot do anything useful > with a v2 document (and worse, vice-versa) or if an implementation > cannot usefully distinguish between two incompatible languages > sharing the same language. Which can be completely avoided by avoiding name collisions. With no name collisions, its possible to allow an implementation to distinguish among every semantics in the namespace even if they come from two or ten different WGs Take care, Rob
Received on Thursday, 12 February 2009 10:17:36 UTC