[XML-SIG] Status of pyxml development

Nicolas Delaby nicolas at nexedi.com
Wed Oct 21 18:39:44 CEST 2009


Hi all,
I would like to know what is the status of pyxml ? I saw on sourceforge
that it is no longer maintained but i want to have a confirmation.

So i'm using a interesting module of the pyxml library: the Marshaller.
I played a bit with and find some weakness like non support of namespaces.

I reimplemented it with lxml (may be its a troll in this mailing-list,
sorry in advance) with full support of namespaces.

How can i contribute ? do i need to fork this code ?
Do you have suggestions ?

Regards,
Nicolas

*Here the output of the test with defautl behaviour:*
Testing XML marshalling...
<marshal><none/></marshal>
<marshal><int>1</int></marshal>
<marshal><long>10633823966279326983230456482242756608</long></marshal>
<marshal><float>19.72</float></marshal>
<marshal><complex>1.0 5.0</complex></marshal>
<marshal><string>here is a string &amp;amp; a &amp;lt;fake
tag&amp;gt;</string></marshal>
<marshal><tuple><int>1</int><int>2</int><int>3</int></tuple></marshal>
<marshal><list
id="i2"><string>alpha</string><string>beta</string><string>gamma</string></list></marshal>
<marshal><dictionary
id="i2"><int>1</int><int>2</int><string>key</string><string>value</string></dictionary></marshal>
<marshal><object id="i2" module="__main__"
class="_A"><tuple/><dictionary id="i3"><string>self</string><reference
id="i2"/><string>subobject</string><object id="i4" module="__main__"
class="_B"><tuple/><dictionary id="i5"><string>list</string><list
id="i6"><none/><int>1</int><long>10633823966279326983230456482242756608</long><float>19.72</float><complex>1.0
5.0</complex><string>here is a string &amp;amp; a &amp;lt;fake
tag&amp;gt;</string></list></dictionary></object></dictionary></object></marshal>
<marshal><list
id="i2"><none/><int>1</int><long>10301051460877537453973547267843</long><dictionary
id="i3"><int>1</int><string>spam</string><int>2</int><string>eggs</string></dictionary><string>&amp;lt;fake
tag&amp;gt;</string><complex>1.0 5.0</complex><reference
id="i2"/></list></marshal>
<marshal><object id="i2" module="__main__"
class="_A"><tuple/><dictionary id="i3"><string>self</string><reference
id="i2"/><string>subobject</string><object id="i4" module="__main__"
class="_B"><tuple/><dictionary id="i5"><string>list</string><list
id="i6"><none/><int>1</int><long>10633823966279326983230456482242756608</long><float>19.72</float><complex>1.0
5.0</complex><string>here is a string &amp;amp; a &amp;lt;fake
tag&amp;gt;</string></list></dictionary></object></dictionary></object></marshal>

*Here the output of the test with namespace support:*
m = Marshaller(namespace_uri='http://www.erp5.org/namespaces/marshaller')
dumps = m.dumps

Testing XML marshalling...
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:none/></marshal:marshal>
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:int>1</marshal:int></marshal:marshal>
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:long>10633823966279326983230456482242756608</marshal:long></marshal:marshal>
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:float>19.72</marshal:float></marshal:marshal>
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:complex>1.0
5.0</marshal:complex></marshal:marshal>
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:string>here
is a string &amp;amp; a &amp;lt;fake
tag&amp;gt;</marshal:string></marshal:marshal>
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:tuple><marshal:int>1</marshal:int><marshal:int>2</marshal:int><marshal:int>3</marshal:int></marshal:tuple></marshal:marshal>
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:list
id="i2"><marshal:string>alpha</marshal:string><marshal:string>beta</marshal:string><marshal:string>gamma</marshal:string></marshal:list></marshal:marshal>
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:dictionary
id="i2"><marshal:int>1</marshal:int><marshal:int>2</marshal:int><marshal:string>key</marshal:string><marshal:string>value</marshal:string></marshal:dictionary></marshal:marshal>
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:object
id="i2" module="__main__" class="_A"><marshal:tuple/><marshal:dictionary
id="i3"><marshal:string>self</marshal:string><marshal:reference
id="i2"/><marshal:string>subobject</marshal:string><marshal:object
id="i4" module="__main__" class="_B"><marshal:tuple/><marshal:dictionary
id="i5"><marshal:string>list</marshal:string><marshal:list
id="i6"><marshal:none/><marshal:int>1</marshal:int><marshal:long>10633823966279326983230456482242756608</marshal:long><marshal:float>19.72</marshal:float><marshal:complex>1.0
5.0</marshal:complex><marshal:string>here is a string &amp;amp; a
&amp;lt;fake
tag&amp;gt;</marshal:string></marshal:list></marshal:dictionary></marshal:object></marshal:dictionary></marshal:object></marshal:marshal>
<marshal:marshal
xmlns:marshal="http://www.erp5.org/namespaces/marshaller"><marshal:list
id="i2"><marshal:none/><marshal:int>1</marshal:int><marshal:long>10301051460877537453973547267843</marshal:long><marshal:dictionary
id="i3"><marshal:int>1</marshal:int><marshal:string>spam</marshal:string><marshal:int>2</marshal:int><marshal:string>eggs</marshal:string></marshal:dictionary><marshal:string>&amp;lt;fake
tag&amp;gt;</marshal:string><marshal:complex>1.0
5.0</marshal:complex><marshal:reference
id="i2"/></marshal:list></marshal:marshal>

-- 
Nicolas Delaby
Nexedi: Consulting and Development of Libre / Open Source Software
http://www.nexedi.com/


More information about the XML-SIG mailing list