[
Lists Home |
Date Index |
Thread Index
]
On Thu, May 05, 2005 at 10:32:58PM +0400, Oleg A. Paraschenko wrote:
> First, as I understand, if an attribute has no ns prefix, and the
>attribute's element has a ns prefix, then the attribute inherits the ns
>URI from the element. So the following two XML documents are equal:
No.
>1) <ns:elem xmlns:ns="ns:ns:ns" ns:attr="smth" />
>
>2) <ns:elem xmlns:ns="ns:ns:ns" attr="smth" />
>
> Using the James Clark notation, the both examples define the following:
>
><{ns:ns:ns}elem {ns:ns:ns}attr="smth" />
>
> Am I right?
No.
Attributes live in the global namespace by default; they do *not* inherit
the default namespace, unlike elements. Therefore, your first example above
defines the result you show, and the second defines:
<{ns:ns:ns}elem {}attr="smth" />
The only way to get an element in a namespace is to put it there; an
attribute without a prefix is always in the global (unnamed) namespace.
This usually confuses people, because it isn't the way that elements behave.
It is, however, what the namespaces specification defines.
Amy!
--
Amelia A. Lewis amyzing {at} talsever.com
The one thing you can't trade for your heart's desire is your heart.
-- Miles Vorkosigan
|