Re: Are web components *seriously* not namespaced?

Glen -

Glenn has the answer.

So we're going to come up with yet-another-registry rather than use one
that already exists and guarantees (at least as far can be guaranteed)
uniqueness: DNS.

The ramifications of not making HTML5 be XHTML5 will be with us for a very
long time indeed.

Cheers,

- Bill

On Wed, Feb 4, 2015 at 3:41 PM, Dimitri Glazkov <dglazkov@google.com> wrote:

> The proposed solution is using registries:
> https://www.w3.org/Bugs/Public/show_bug.cgi?id=24578
>
> The registry API hasn't been spec'd yet.
>
> :DG<
>
> On Wed, Feb 4, 2015 at 1:31 PM, Glen <glen.84@gmail.com> wrote:
>
>> I know I'm rather late to the party, but I've been doing a lot of reading
>> lately about web components and related technologies, and the one thing
>> that confounds me is the fact that web components appear not to have any
>> "real" namespacing.
>>
>> Can someone explain why this is so, and what the justification is? Or is
>> it just a case of "it was too complicated, this is good enough"?
>>
>> I see this has been brought up once before @
>> http://lists.w3.org/Archives/Public/public-webapps/2013AprJun/0964.html,
>> but nothing changed.
>>
>> It's not going to be long before <x-tabs> has been defined by 1,000,000
>> people (slight exaggeration), and you have no idea what it is or where it
>> came from without looking through imports/scripts etc. Also you want to
>> keep things short, so you call your element <ms-panel> (you work for Monkey
>> Solutions LLC), but then someone else on the team is importing <ms-panel>
>> from Microsoft, and BAM!, you have another problem.
>>
>> Why can't we do something like this?
>>
>> <!-- /scripts/monkey-solutions/panel.js -->
>> <script>
>>     var panel = document.registerElement("panel", {
>>         namespace: "ms https://monkey-solutions.com/namespace"
>>     });
>> </script>
>>
>> <!-- /scripts/microsoft/panel.js -->
>> <script>
>>     var panel = document.registerElement("panel", {
>>         namespace: "ms https://microsoft.com/namespace"
>>     });
>> </script>
>>
>> <!-- Uses last defined element, as it currently works. -->
>> <ms-panel>
>>
>> <!-- Redefine the namespace prefix for one of the custom elements. -->
>> <element name="panel" namespace="https://microsoft.com/namespace"
>> prefix="msft" />
>>
>> <ms-panel>
>> <msft-panel>
>>
>> You could also assign a prefix to all elements within a namespace like
>> this:
>>
>> <element name="*" namespace="https://microsoft.com/namespace"
>> prefix="msft" />
>>
>> You can override the prefix multiple times and the closest <element>
>> definition is used.
>>
>> Please note that the above syntax is just an example of what could be
>> used.
>>
>> Another BIG pro here is that IDEs can pull in information about the
>> elements by sending an HTTP request to the namespace URI so that a tooltip
>> could be displayed with an element description, author, sample usage, etc.
>>
>> I really do hope that it's not too late to make such a change.
>>
>> Regards,
>>
>> Glen.
>>
>>
>

Received on Wednesday, 4 February 2015 22:29:38 UTC