pxdom is a stand-alone pure-Python DOM implementation and non-validating
parser, supporting Level 3 Core, XML, Load and Save specifications.
pxdom was written to support the needs of PXTL, but is a general-purpose
implementation suitable for any DOM-based application. It can be included
as a module inside packages that must rely on a fully-working DOM regardless
of what version of Python or PyXML is installed.
The emphasis of pxdom is on standards compliance. It supports the W3C
specifications fully, with only very minor deviations (namely: not all
possible invalid Unicode characters are checked for, and it is lenient
about what nodes a Document may contain, for whitespace-handling
purposes in particular). pxdom passes the DOM L1/2 Core Test Suite.
The emphasis of pxdom is *not* on efficiency. General speed and memory
usage can be expected to be somewhere between minidom and 4DOM levels,
nowhere near cDomlette. Exactly how slow pxdom is remains to be seen;
currently it has only been tested with the DOM Test Suite (where it was
much slower than minidom) and PXTL (where it was - inexplicably -
considerably faster). YMMV.
Because of the relatively small number of applications it has been
tested with, and above all because the DOM Level 3 spec is still subject
to change (though it is now at Last Call), pxdom 0.6 is considered beta
software.
pxdom is compatible with Python 1.5.2 and later (tested up to 2.3);
for correct Unicode support Python 1.6 or later is required. It is
available under a new-BSD-style licence from:
http://www.doxdesk.com/software/py/pxdom.html
--
Andrew Clover
mailto:and at doxdesk.comhttp://www.doxdesk.com/