WDDX is a Python decoder for the WDDX XML serialization format.
Developer comments
WDDX was an XML data serialisation format created in 1998, initially for the ColdFusion server environment, then open-sourced. It has faded into history now, having lost out to JSON, YAML, and native serialisation. According to its Wikipedia article WDDX was a precursor to SOAP -- which may help explain some of the latter's brain-damage...
This module is a straight-forward decoder for WDDX packets that I wrote while extracting the data from a PHP (which included early built-in support for the format) project that had a home-brewed ORM.
I have decoded many thousands of packets with it, YMMV.
It has good support for the parts of the WDDX standard that the PHP wddx functions actually use, but probably poor support of the full standard. It's impossible to actually tell because the specification is no longer online! DNS entries for wddx.org expired in 2010, last year as I write this.
Example
The API follows the example given by the json, pickle, and marshall modules. You can see lots more examples in the test folder, including recursive sequence and mapping types.
>>> import wddx
>>> xml = """
... < wddxPacket version='1.0' >
... < data >
... < number >3.1415926< /number >
... < null / >
... < string >Hello, world< /string >
... < number >42< /number >
... < dateTime >1998-06-12T04:32:12< /dateTime >
... < /data >
... < /wddxPacket >
... """
>>> wddx.loads(xml)
[3.1415926, None, 'Hello, world', 42, datetime.datetime(1998, 6, 12, 4, 32, 12)]
Requirements:
· Python