Re: What's the problem? "Reuse of 1998 XHTML namespace is potentially misleading/wrong"

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