
Structured Markup Processing Tools
**********************************

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 ``xml`` package require
that there be at least one SAX-compliant XML parser available.
Starting with Python 2.3, the Expat parser is included with Python, so
the ``xml.parsers.expat`` module will always be available. You may
still want to be aware of the PyXML add-on package; that package
provides an extended set of XML libraries for Python.

The documentation for the ``xml.dom`` and ``xml.sax`` packages are the
definition of the Python bindings for the DOM and SAX interfaces.

* ``HTMLParser`` --- Simple HTML and XHTML parser
  * Example HTML Parser Application
* ``sgmllib`` --- Simple SGML parser
* ``htmllib`` --- A parser for HTML documents
  * HTMLParser Objects
* ``htmlentitydefs`` --- Definitions of HTML general entities
* ``xml.parsers.expat`` --- Fast XML parsing using Expat
  * XMLParser Objects
  * ExpatError Exceptions
  * Example
  * Content Model Descriptions
  * Expat error constants
* ``xml.dom`` --- The Document Object Model API
  * Module Contents
  * Objects in the DOM
    * DOMImplementation Objects
    * Node Objects
    * NodeList Objects
    * DocumentType Objects
    * Document Objects
    * Element Objects
    * Attr Objects
    * NamedNodeMap Objects
    * Comment Objects
    * Text and CDATASection Objects
    * ProcessingInstruction Objects
    * Exceptions
  * Conformance
    * Type Mapping
    * Accessor Methods
* ``xml.dom.minidom`` --- Lightweight DOM implementation
  * DOM Objects
  * DOM Example
  * minidom and the DOM standard
* ``xml.dom.pulldom`` --- Support for building partial DOM trees
  * DOMEventStream Objects
* ``xml.sax`` --- Support for SAX2 parsers
  * SAXException Objects
* ``xml.sax.handler`` --- Base classes for SAX handlers
  * ContentHandler Objects
  * DTDHandler Objects
  * EntityResolver Objects
  * ErrorHandler Objects
* ``xml.sax.saxutils`` --- SAX Utilities
* ``xml.sax.xmlreader`` --- Interface for XML parsers
  * XMLReader Objects
  * IncrementalParser Objects
  * Locator Objects
  * InputSource Objects
  * The ``Attributes`` Interface
  * The ``AttributesNS`` Interface
* ``xml.etree.ElementTree`` --- The ElementTree XML API
  * Functions
  * The Element Interface
  * ElementTree Objects
  * QName Objects
  * TreeBuilder Objects
  * XMLTreeBuilder Objects
See also:

   Python/XML Libraries
      Home page for the PyXML package, containing an extension of
      ``xml`` package bundled with Python.
