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; a &lt;fake
tag&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; a &lt;fake
tag&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>&lt;fake
tag&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; a &lt;fake
tag&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; a &lt;fake
tag&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; a
&lt;fake
tag&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>&lt;fake
tag&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/
_______________________________________________
XML-SIG maillist - XML...@python.org
http://mail.python.org/mailman/listinfo/xml-sig
Nicolas Delaby wrote:
> 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.
The sourceforge site has been stating the truth for a while now.
> 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 ?
I think the best way to have people use your code is to put it into a new
package and put it up on PyPI. If it keeps up compatibility with the PyXML
marshaller, the better. That will allow users of the marshaller package
(however many there may be left) to easily migrate to your package.
Stefan
Hi Stefan,
Thanks for your reply, it is what i expect :)
I didn't change the regular tests, so it should be still compatible with
PyXML implementation.
So I will publish it on PyPI and send an announcement on this mailing-list
Regards,
Nicolas
--
Nicolas Delaby
Nexedi: Consulting and Development of Libre / Open Source Software
http://www.nexedi.com/
True, but at the moment, only the project page says that.
<http://pyxml.sourceforge.net/> and
<http://pyxml.sourceforge.net/topics/> are the top 2 Google hits for "pyxml"
and don't mention anything about it. In fact the former seems to have recently
gone missing. Did I miss an announcement of its retirement? It used to look
like this: <http://web.archive.org/web/20080429132440/http://pyxml.sourceforge.net/>
I suggest restoring something (anything) to
<http://sourceforge.net/projects/pyxml/> to say what the PyXML project is,
that it's no longer maintained, and to link to the other sites, if not also to
say that a new maintainer would be welcomed despite the declining usefulness
of the package.
I also suggest putting a "PyXML is no longer maintained" on the old topics
subpage.
Mike
Most likely so. I posted an announcement to this list when I stopped
maintaining it. This was four years ago.
Regards,
Martin
I was talking about the page at http://pyxml.sourceforge.net/, which says what
PyXML is. This page only went missing within the last year.
I don't recall the details; I think somebody requested that the old (and
outdated) content was removed.
Regardless - PyXML has been unmaintained much longer.
Regards,
Martin