[XML-SIG] minidom .toxml() brokenness

Mike Brown mike at skew.org
Thu Jul 7 00:47:18 CEST 2005


In 4Suite we have a fairly robust and speedy set of DOM serialization 
routines. To date, we've made sure it works equally well with both minidom and 
Domlette. Is there any interest in porting this into minidom as a replacement 
for the buggy .toxml()? Seems like it would alleviate a bit of frustration.

In 4Suite, the public interface is the Print() and PrettyPrint() functions in 
Ft.Xml.Domlette; you just call one or the other, passing in what you want to 
serialize, and they'll walk the DOM, generating SAX-like events that are 
handled by an instance of the right kind of serializer. The walker detects the 
type of DOM (HTML or XML) automatically, but this can be overridden to force a 
certain kind of output. The user can also choose the output stream (file-like 
object) and character encoding, of course.

(user functions and DOM walker)
===============================
http://cvs.4suite.org/viewcvs/4Suite/Ft/Xml/Lib/Print.py?view=markup

(DOM walker handlers for different kinds of serialization)
==========================================================
http://cvs.4suite.org/viewcvs/4Suite/Ft/Xml/Lib/XmlPrinter.py?view=markup
http://cvs.4suite.org/viewcvs/4Suite/Ft/Xml/Lib/XmlPrettyPrinter.py?view=markup
http://cvs.4suite.org/viewcvs/4Suite/Ft/Xml/Lib/HtmlPrinter.py?view=markup
http://cvs.4suite.org/viewcvs/4Suite/Ft/Xml/Lib/HtmlPrettyPrinter.py?view=markup

(entity/char ref-aware stream writer needed by all of the above)
================================================================
current version (a Python C extension only):
http://cvs.4suite.org/viewcvs/4Suite/Ft/Xml/src/StreamWriter.c?view=markup
last pure-Python version (no longer maintained, but is just 1 patch behind
the C version, presently):
http://cvs.4suite.org/viewcvs/4Suite/Ft/Xml/Lib/StreamWriter.py?hideattic=0&view=markup

-Mike


More information about the XML-SIG mailing list