Compare Revisions

Namespaces

Change Revisions

Revision 108516:

Revision 108516 by Tonymec on

Revision 473777:

Revision 473777 by Np on

Title:
Namespaces
Namespaces
Slug:
Namespaces
Namespaces
Tags:
Extensions, Add-ons
"Extensions", "Add-ons"
Content:

Revision 108516
Revision 473777
n20      An XML namespace is identified by an unique name (called a n20      An XML namespace is identified by an unique name (called a 
>URI, not a URL, even though it can look like a URL). An URI is an>URI, not a URL, even though it can look like a URL). An URI is an
>y string, although most people choose a URL-based URI because URL>y string, although most people choose a URL-based URI because URL
>s are an easy way to <em>hope</em> for uniqueness. Although there>s are an easy way to <em>hope</em> for uniqueness. Although there
>'s nothing preventing someone else from using the namespace <code>'s nothing preventing someone else from using the namespace <code
>>http:<!-- they avoid an ellipsis in the middle of the namespace>>http:{C}<!-- they avoid an ellipsis in the middle of the namespa
> string -->//www.mozilla.org/keymaster/gatekeeper/there.is.only.x>ce string -->//www.mozilla.org/keymaster/gatekeeper/there.is.only
>ul</code>, it's fairly unlikely anyone would choose that accident>.xul</code>, it's fairly unlikely anyone would choose that accide
>ally. Even if they did accidentally choose it, they may not defin>ntally. Even if they did accidentally choose it, they may not def
>e the same elements as XUL anyway (e.g., <code>&lt;textbox/&gt;</>ine the same elements as XUL anyway (e.g., <code>&lt;textbox/&gt;
>code>) in their schema/DTD.></code>) in their schema/DTD.
t60      There is a very subtle difference here than before. Before t60      There is a very subtle difference here than before. Before 
>I wrote <code>xmlns<strong>:xul</strong>="http<!---->:<!---->//ww>I wrote <code>xmlns<strong>:xul</strong>="http{C}<!---->:{C}<!---
>w.mozilla.org/keymaster/gatekeeper/there.is.only.xul"</code> but >->//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"</code
>here the <strong>:xul</strong> piece is omitted. This signifies t>> but here the <strong>:xul</strong> piece is omitted. This signi
>o the XML parser that <code>http<!---->:<!---->//www.mozilla.org/>fies to the XML parser that <code>http://www.mozilla.org/keymaste
>keymaster/gatekeeper/there.is.only.xul</code> is the <strong>defa>r/gatekeeper/there.is.only.xul</code> is the <strong>default name
>ult namespace</strong> for the element and its descendant element>space</strong> for the element and its descendant elements (unles
>s (unless further overridden by a default namespace on a descenda>s further overridden by a default namespace on a descendant eleme
>nt element), and that any element without a namespace (i.e., no p>nt), and that any element without a namespace (i.e., no prefix an
>refix and colon) belongs to the default namespace. That's why we >d colon) belongs to the default namespace. That's why we can writ
>can write the shorthand <code>&lt;textbox/&gt;</code> instead of >e the shorthand <code>&lt;textbox/&gt;</code> instead of <code>&l
><code>&lt;xul:textbox/&gt;</code> in XUL (although the latter is >t;xul:textbox/&gt;</code> in XUL (although the latter is just as 
>just as correct when not using <code>http<!---->:<!---->//www.moz>correct when not using <code>http://www.mozilla.org/keymaster/gat
>illa.org/keymaster/gatekeeper/there.is.only.xul</code> as the def>ekeeper/there.is.only.xul</code> as the default namespace) -- the
>ault namespace) -- the XUL namespace is defined as the default on> XUL namespace is defined as the default on the topmost element. 
> the topmost element. In other words, a default namespace permits>In other words, a default namespace permits a kind of short-hand 
> a kind of short-hand to be used for all descendants of an elemen>to be used for all descendants of an element.
>t. 

Back to History