Stefan Behnel | 12 Sep 12:47
Picon
Favicon
Gravatar

Re: Serialization with namespaces


Stefan Behnel wrote:
> Anders Bruun Olsen wrote:
>> Now the problem occurs when I try to serialize. When I serialize the
>> root, everything looks fine:
>>
>>    >>> etree.tostring(root, pretty_print=True)
>>    '<topicMap xmlns="http://www.topicmaps.org/xtm/1.0/"
>> xmlns:xlink="http://www.w3.org/1999/xlink" id="personnavnereg1">
>>    ...
>>
>> The XML Namespace is applied as it should. However on the topic-element
>> that I found using XPath no XML Namespace is output:
>>
>>    >>> etree.tostring(elem, pretty_print=True)
>>    '<topic id="abeleHenriksdatter">\n\t\t<instanceOf>\n\t\t\t<topicRef
>>   ...
>>
>> Even though the nsmap attribute is set correctly:
>>
>>    >>> elem.nsmap
>>    {None: 'http://www.topicmaps.org/xtm/1.0/', 'xlink':
>> 'http://www.w3.org/1999/xlink'}
> 
> Hmm, I actually thought these problems were gone with 1.3, but I can reproduce
> this with the current trunk.

Ok, so the problem here is libxml2. It serialises only the namespaces that are
defined on the node itself, not all those that are defined in the node's context.

I'll try to work around it.

Stefan

Gmane