\chapter{Structured Markup Processing Tools
         \label{markup}}

Python supports a variety of modules to work with various forms of
structured data markup.  This includes modules to work with the
Standard Generalized Markup Language (SGML) and the Hypertext Markup
Language (HTML), and several interfaces for working with the
Extensible Markup Language (XML).

It is important to note that modules in the \module{xml} package
require that there be at least one SAX-compliant XML parser
available.  Python includes an interface to the Expat parser as the
\refmodule{xml.parsers.expat} module, but this may not be built by
default on all platforms, since Expat is not always installed, or not
installed in the default location for libraries.  If this is the case
for your system, the easiest way to add support for the \module{xml}
package is to install the \ulink{PyXML add-on
package}{http://pyxml.sourceforge.net/}.  That package provides an
extended set of XML libraries for Python.

The documentation for the \module{xml.dom} and \module{xml.sax}
packages are the definition of the Python bindings for the DOM and SAX
interfaces.

\localmoduletable

\begin{seealso}
  \seetitle[http://pyxml.sourceforge.net/]
           {Python/XML Libraries}
           {Home page for the PyXML package, containing an extension
            of \module{xml} package bundled with Python.}
\end{seealso}
