[XML-SIG] PyXML vs. stdlib xml.sax
Mike Brown
mike at skew.org
Fri Oct 28 05:54:42 CEST 2005
What exactly does PyXML's xml.sax offer that isn't in stdlib? I have been
having trouble locating any docs that answer the question "why would I want to
install this?"
After looking in various places (mainly the source code), I get the impression
that you would want PyXML's xml.sax libs if you...
* want to use SAX in Python < 2.0 (xml.sax wasn't in stdlib until Python 2.0), or
* want stdlib xml.sax bug fixes made after the release of your version of Python, or
* want SAX 1 drivers, or
* want a larger set of SAX 2 drivers (in stdlib there is only a driver for Pyexpat,
whereas PyXML gives you drivers for PyXML's xmlproc and Python's htmllib, sgmlop,
and sgmllib), or
* want these enhancements that are not yet (and may never be) in Python xml.sax:
* xml.sax.saxlib - SAX 2 core interface classes
* additions to xml.sax.saxutils, including:
* unescape(), a function which does the inverse of escape()
* AttributeMap, a SAX 1 AttributeList implementation
* Location, a SAX 1 & 2 Locator implementation
* DefaultHandler, a SAX 2 DefaultHandler interface class
* Canonizer, a SAX 1 DocumentHandler that produces Canonical XML
* ContentGenerator, a SAX 1 DocumentHandler wrapper for XMLGenerator
(which is an XML-serializing SAX 2 ContentHandler)
* ESISDocHandler, a SAX 1 DocumentHandler that produces naive ESIS output
* LexicalXMLGenerator, an XMLGenerator that also supports the SAX 2
LexicalHandler interface
* BaseIncrementalParser, a minimal IncrementalParser for driver authors
* EventBroadcaster, a class that relays method calls to multiple objects
* xml.sax.saxexts - experimental extensions, including:
* parser factories for XML, SGML, and HTML, supporting all the SAX 1
drivers in PyXML
* ExtendedParser, an extension of the xml.sax.saxlib.Parser interface
* xml.sax.sax2exts - experimental SAX 2-specific extensions, including:
* parser factories for XML, SGML, and HTML, supporting all the SAX 2
drivers in PyXML
Does this look right? What other differences are there?
Thanks,
Mike
More information about the XML-SIG
mailing list