ElementTree and namespaces in the header only

Peter Bengtsson peterbe at gmail.com
Wed Jan 16 19:13:41 EST 2008


On Jan 15, 5:22 pm, Fredrik Lundh <fred... at pythonware.com> wrote:
> Peter Bengtsson wrote:
> > root = Element('feed', xmlns='http://www.w3.org/2005/Atom')
> > root.set('xmlns:se', NS_URL)
> > entry = SubElement(root, 'entry')
> > SubElement(root, 'title').text = 'Title'
> > SubElement(entry, SEN('category')).text = 'Category'
> > But surely the xmlns:se attribute on the <se:category> tag is
> > excessive since the namespace (by the URI) is already defined in the
> > <feed> tag. How do I set non-default namespace tags in elements
> > without the automatic xmlns:se attribute repeated each time?
>
> ET 1.2's standard serializer doesn't take explicitly setnamespacesinto
> account.  If you want full control over namespace generation, you have
> to do it yourself:
>
> http://effbot.org/zone/element-namespaces.htm#explicitly-setting-name...
>
> ET 1.3 provides a default_namespace option for this specific case (but
> you still have to use universal names for everything that should go into
> the default namespace).
>
> </F>

That's perfect Fredrik. Exactly what I was looking for.



More information about the Python-list mailing list