New in version 2.0.
SAX parsers implement the XMLReader interface. They are
implemented in a Python module, which must provide a function
create_parser(). This function is invoked by
xml.sax.make_parser() with no arguments to create a new
- class XMLReader()
Base class which can be inherited by SAX parsers.
- class IncrementalParser()
In some cases, it is desirable not to parse an input source at once,
but to feed chunks of the document as they get available. Note that
the reader will normally not read the entire file, but read it in
chunks as well; still parse() won't return until the entire
document is processed. So these interfaces should be used if the
blocking behaviour of parse() is not desirable.
When the parser is instantiated it is ready to begin accepting data
from the feed method immediately. After parsing has been finished
with a call to close the reset method must be called to make the
parser ready to accept new data, either from feed or using the parse
Note that these methods must not be called during parsing,
that is, after parse has been called and before it returns.
By default, the class also implements the parse method of the
XMLReader interface using the feed, close and reset methods of the
IncrementalParser interface as a convenience to SAX 2.0 driver
- class Locator()
Interface for associating a SAX event with a document location. A
locator object will return valid results only during calls to
DocumentHandler methods; at any other time, the results are
unpredictable. If information is not available, methods may return
- class InputSource([systemId])
Encapsulation of the information needed by the XMLReader to
This class may include information about the public identifier,
system identifier, byte stream (possibly with character encoding
information) and/or the character stream of an entity.
Applications will create objects of this class for use in the
XMLReader.parse() method and for returning from
An InputSource belongs to the application, the
XMLReader is not allowed to modify InputSource objects
passed to it from the application, although it may make copies and
- class AttributesImpl(attrs)
This is an implementation of the Attributes
section 13.12.5). This is a dictionary-like
object which represents the element attributes in a
startElement() call. In addition to the most useful
dictionary operations, it supports a number of other methods as
described by the interface. Objects of this class should be
instantiated by readers; attrs must be a dictionary-like
object containing a mapping from attribute names to attribute
- class AttributesNSImpl(attrs, qnames)
Namespace-aware variant of AttributesImpl, which will be
passed to startElementNS(). It is derived from
AttributesImpl, but understands attribute names as
two-tuples of namespaceURI and localname. In addition,
it provides a number of methods expecting qualified names as they
appear in the original document. This class implements the
(see section 13.12.6).
See About this document... for information on suggesting changes.