[Python-Dev] minidom -> new-style classes?

Fred L. Drake, Jr. fdrake at acm.org
Wed Apr 18 04:56:52 CEST 2007

On Tuesday 17 April 2007 22:37, Jason Orendorff wrote:
 > The right way to implement these quirks is using new-style classes and
 > properties.  Right now minidom uses old-style classes and lots of
 > hackery, and it's pretty broken.  (Another example--there is an
 > Attr._set_prefix method, but it is *not* called from __setattr__.)

Yes, it's truly vile.  Better than it used to be, but....

There's also some vague attempt at supporting the Python CORBA IDL mapping, 
since the W3C DOM specifications use that.  I expect the support is 
incomplete at best.

 > Surely nobody is subclassing these classes.  You don't subclass DOM
 > interfaces--the DOM doesn't work that way.  So this change should be
 > OK.  Right?

There are people who've tried building new DOM implementations by subclassing 
the minidom classes to get most of the behavior.  I'm don't know the status 
of any of these implementations, but changes to these classes have proved 
difficult due to this and the possibility of breaking pickles (amazed me, 
that one did!).

I'd love to see a sane implementation, using new-style classes and properties, 
but as long as we've got to support existing applications, we're pretty well 
hosed as far as xml.dom.minidom is concerned.

A new DOM implementation conforming to the W3C recommendations would be nice, 
but I'd really rather see an XML object model that doesn't suck, but that 
supports as much of the information found in the W3C DOM as possible.  
Something based more on the ElementTree API, perhaps.  The value of the 
W3C-approved API has certainly turned out to be more decoy than anything.


Fred L. Drake, Jr.   <fdrake at acm.org>

More information about the Python-Dev mailing list