Tim,
In the first example:
> <ns:elemA xmlns:ns="urn:myNS">
> <elemB/> <!-- this elem would implicitly be in the 'ns' namespace -->
> </ns:elemA>
ElemB is either unqualified or it is qualified by the default namespace (the
xmlns="some-uri" declaration, if there is one). There's no assumption that
it belongs to its parent's namespace.
Namespace *declarations* are inherited. In other words, you don't have to
redeclare your namespaces for each child element. So, for example:
<elemA <!-- this elem is in the default namespace -->
xmlns="urn:myNS"
xmlns:joe="urn:joeNS"
xmlns:fred="urn:fredNS">
<elemB> <!-- this elem is in the default namespace -->
<joe:elemB/> <!-- this elem is in the "joe" namespace -->
<fred:elemB/> <!-- this elem is in the "fred" namespace -->
</elemB>
</elemA>
If you couldn't inherit namespace declarations then you would need to do
this:
<elemA xmlns="urn:myNS">
<elemB xmlns="urn:myNS">
<elemB xmlns="urn:joeNS"/>
<elemB xmlns="urn:fredNS"/>
</elemB>
</elemA>
Anne
> -----Original Message-----
> From: Watts, Tim T [mailto:[EMAIL PROTECTED]
> Sent: Thursday, March 13, 2003 2:22 PM
> To: [EMAIL PROTECTED]
> Subject: Namespaces inherited?
>
>
> Hello,
>
> I read that child elements "inherit" the namespace of their
> parent by default ("Professional Java SOAP", p30, Wrox Press).
> The W3C spec says that they're in scope for all children. But
> that's not the same as inheriting. To my understanding,
> "inheriting" would mean that the children automatically become
> members of the parent's namespace unless explicitly overridden
> while "in scope" means that the namespace is merely *available*
> to the children.
>
> According to the book, the following examples are semantically equivalent:
>
> <ns:elemA xmlns:ns="urn:myNS">
> <elemB/> <!-- this elem would implicitly be in the 'ns' namespace -->
> </ns:elemA>
>
> <ns:elemA xmlns:ns="urn:myNS">
> <ns:elemB/>
> </ns:elemA>
>
> I don't think this is correct but I would like to hear from more
> knowledgable sources. The behavior of the Xerces implementation
> of DOM does not conform to the above.
>
> ---------------------------------------------------------------------
> In case of troubles, e-mail: [EMAIL PROTECTED]
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]