On Sat, Jul 01, 2006 at 08:34:38PM +0100, Nic James Ferrier wrote:
> Ok. Here's something I don't understand about namespaces (libxml2 in
> python):
> 
>     dom = libxml2.newDoc("1.0")
> 
>     root = dom.newChild(None, "root", None)
>     ns = root.newNs("http://www.tfnet.co.uk/somenamespace";, "ns")
>     root.setNs(ns)
> 
>     node = root.newChild(ns, "element", None)
>     node.newChild(None, "child", None)
> 
> 
> And the output is:
> 
>    <root xmlns:ns="http://www.tfnet.co.uk/somenamespace";>
>      <ns:element>
>        <ns:child/>
>      </ns:element>
>    </root>
> 
> And the bit I don't understand is why the child element is marked with
> the ns namespace.
> 
> 
> Can anyone explain this?

  Well basically xmlNewChild() create a new node in the parent namespace if
no namespace is provided. Try to setNs(None) on the resulting node. Okay the
API is a bit weird, but changng it now is likely to break stuff...

Daniel

-- 
Daniel Veillard      | Red Hat http://redhat.com/
[EMAIL PROTECTED]  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
xml@gnome.org
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to