[XML-SIG] List of publicly usable modules

Andrew Kuchling akuchlin@mems-exchange.org
Fri, 10 May 2002 10:40:50 -0400


Here's a list of modules I've just checked into xml-howto.tex.  Are
there any public modules that aren't on this list?  Are there any
modules here that are considered implementation details, and therefore
shouldn't be used outside the PyXML implementation?

--amk

\item[\module{xml.dom}]
  The Python DOM interface.  The full interface
  support DOM Levels 1 and 2.  This implementation is called 4DOM,
  and was written by Fourthought LLC.  \module{xml.dom} contains
  the implementation for DOM trees built from XML documents.

\item[\module{dom.html}]
  DOM trees built from HTML documents are also supported.

\item[\module{dom.javadom}]
  An adaptor for using Java DOM implementations with Jython.

\item[\module{dom.minidom}]
  A lightweight DOM implementation that's also included in the Python
  standard library.  

\item[\module{dom.minitraversal}]
  Offers traversal and ranges on top of
  \module{xml.dom.minidom}, using the 4DOM traversal implementation.

\item[\module{dom.pulldom}]
  Provides a stream of DOM elements.  This module can make it easy 
  to write certain types of DTD-specific processing code.

\item[\module{dom.TreeWalker}]
  Provides the \class{TreeWalker} class for multidirectional iteration 
  over nodes.

\item[\module{dom.ext.Dom2Sax}]
  A parser to generate SAX events from a DOM tree.

\item[\module{dom.ext.Printer}]
  Classes to print XML from a DOM tree.

\item[\module{dom.ext.Visitor}]
  Classes for walking over a DOM tree.

\item[\module{dom.ext.XHtml2HtmlPrinter}]
  Classes for printing an XHTML DOM tree as HTML.
  
\item[\module{dom.ext.XHtmlPrinter}]
  Classes for printing an HTML DOM tree as XHTML.

\item[\module{dom.ext.c14n}]
  Takes a DOM tree and outputs another DOM tree containing the
  Canonical XML representation of the document.

\item[\module{dom.ext.reader}]
  Classes for building DOM trees from various input sources:
  SAX1 and SAX2 parsers, \module{htmllib}, and directly using Expat.

\item[\module{xml.marshal.generic}]
  Marshals simple Python data types into an XML format.
  The marshaller class can be subclassed in order to implement
  marshalling into a different XML DTD.

\item[\module{xml.marshal.wddx}]
  Marshals Python objects into WDDX.  (This module is built on top 
  of the preceding generic module.)

\item[\module{xml.ns}]
  Contains constants for the namespace URIs for various XML-related standards.

\item[\module{xml.parsers.sgmllib}]
  A version of the \module{sgmllib} module that's part of the standard 
  Python library, rewritten to run on top of the \module{sgmlop}
  accelerator module.

\item[\module{xml.parsers.xmlproc}]
  A validating XML parser.

\item[\module{xml.sax}]
  SAX1 and SAX2 support for Python.

\item[\module{sax.drivers}]
  SAX1 drivers for various parsers: \module{htmllib}, 
  LT, Expat, \module{sgmllib}, \module{xmllib}, xmlproc, 
  and XML-Toolkit.

\item[\module{sax.drivers2}]
  SAX2 drivers for various parsers: \module{htmllib}, Java SAX parsers
  (for Jython), Expat, \module{sgmllib}, xmlproc.

\item[\module{sax.handler}] 
  Contains the core SAX2 handler classes \class{ContentHandler}, 
  \class{DTDHandler}, \class{EntityResolver},
  and \class{ErrorHandler}.

\item[\module{sax.saxexts}]
  SAX1 extensions.  This contains various factory classes that create
  parser objects, and the \function{make_parser()} function.

\item[\module{sax.sax2exts}]
  SAX2 extensions.  Like its SAX1 counterpart, this module contains
  various factory classes that create parser objects, and the
  \function{make_parser()} function.

\item[\module{sax.saxlib}]
  Contains two SAX2 handler classes, \class{DeclHandler} and
  \class{LexicalHandler}, and the \class{XMLFilter} interface.  
  Also contains the deprecated SAX1 handler classes.

\item[\module{sax.saxutils}]
  Various utility classes, such as \class{DefaultHandler}, a default
  base class for SAX2 handlers, \class{ErrorPrinter} and
  \class{ErrorRaiser}, two default error handlers, and
  \class{XMLGenerator}, which generates XML output from a SAX2 event stream.
  
\item[\module{sax.xmlreader}]
  Contains the \class{XMLReader}, the base interface for implementing 
  SAX2 parsers.

\item[\module{xml.schema.trex}]
  A Python implementation of TREX, a schema language.

\item[\module{xml.utils.characters}]
  Contains the legal XML character ranges as specified in the XML 1.0
  Recommendation, and regular expressions that match various
  XML tokens.
  
\item[\module{xml.utils.iso8601}]
  Parses ISO-8601 date/time specifiers, which look like 
  \samp{2002-05-09T20:40Z}.
  
\item[\module{xml.utils.qp_xml}]
  A simple tree-based XML parsing interface.  

\item[\module{xml.xpath}]
  An XPath parser and evaluator.

\item[\module{xml.xslt}] 
   An implementation of the XSLT transformation language.
% XXX do the FourThought guys want a credit in the text here?