I like the look of a colon, however it would quite probably conflict
with XML/XHTML so it's probably best to avoid it (although I am not an
expert).
A hyphen or maybe even a tilde (~) would likely be the better option.
<ms-panel> <polymer-element> <a href="xxx" x-controller="xxx">
<ms~panel> <polymer~element> <a href="xxx" x~controller="xxx">
G.
On 2015/02/05 16:51, Melvin Carvalho wrote:
On 4 February 2015 at 22:31, Glen <glen...@gmail.com
<mailto:glen...@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.
+1 to everything
Could a colon perhaps be saved as a special character so in future you
can have <ms:panel> and <msft:panel> and the user agent would be able
to work out which code to use?
Regards,
Glen.