On 05/02/12 20:32, Wolfgang Sourdeau wrote:
This indeed fixes my output. Does this seem reasonable?
The only downturn I see is that the default tns is not fallen back on
when __namespace__ is not defined. So this is likely to be wrong in
the general case. I don't know how to reconcile this though, since
__namespace__ will always return something and I would think comparing
this to the class's module name would be rather hackish.
No need to worry about non-defined namespaces, they're substituted with
the module name.
This commit fixes the issue:
https://github.com/plq/rpclib/commit/215b8cf1502eb8f390d595a4cb6c3e4f9285ffdd
Start tags are now in the same namespace as the definitions themselves.
intermediate tags are in the parent's namespace, just as before.
In the below example; SomeObject here is the direct child of a senv:
child, so i call it a start tag. Its namespace is the namespace defined
in rpclib model definition. SomeChild is in the s1: namespace in
rpclib.model definition. But its start tag is in its parent namespace,
and its child tag is in SomeChild's own namespace.
<senv:Header>
<s0:SomeObject>
<s0:SomeChild>
<s1:SomeString>blah</s1:SomeString>
</s0:SomeChild>
</s0:SomeObject>
</senv:Header>
With the previous behaviour, start tags were always in the tns: prefix,
like the SomeObject case here:
<senv:Header>
<tns:SomeObject>
<s0:SomeChild>
<s1:SomeString>blah</s1:SomeString>
</s0:SomeChild>
</tns:SomeObject>
</senv:Header>
I think this is an important change. Please let me know if you think
this is wrong.
Best,
Burak
_______________________________________________
Soap mailing list
[email protected]
http://mail.python.org/mailman/listinfo/soap