- From: Robin Berjon <robin@berjon.com>
- Date: Thu, 12 Feb 2009 11:48:22 +0100
- To: Robert J Burns <rob@robburns.com>
- Cc: HTML WG <public-html@w3.org>
Hi Robert,
On Feb 12, 2009, at 11:12 , Robert J Burns wrote:
> On Feb 12, 2009, at 3:15 AM, Robin Berjon wrote:
>> 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.
To be fair in the case of 'small' I think the name is poorly chosen
anyway, but for other reasons. It should be 'smallprint' (even when
the style sheet renders it big on screen media) or something similar.
I reckon 'proviso' might be a good pick.
For certain the case of two elements carrying different semantics that
may appear in the same context is undesirable (see 'input' for
precedent). But I was thinking *within a single language*, if you
recall I was pushing back on your claim that HTML5 conflicted with
itself. The case of two languages sharing the same namespace is
another issue with a totally different entertainment value.
>> 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
No, I'm afraid that to ensure compatible versioning you need a fair
bit more than avoiding name collisions :)
--
Robin Berjon - http://berjon.com/
Feel like hiring me? Go to http://robineko.com/
Received on Thursday, 12 February 2009 10:48:58 UTC