Improvements to doco strings.

Tiny bug fix to expatreader.py (endDocument was only called after errors).
This commit is contained in:
Lars Gustäbel 2000-09-24 20:38:18 +00:00
parent 33315b180b
commit bb757136b2
4 changed files with 27 additions and 14 deletions

View File

@ -16,9 +16,7 @@ saxutils -- Implementation of the convenience classes commonly used to
xmlreader -- Base classes and constants which define the SAX 2 API for xmlreader -- Base classes and constants which define the SAX 2 API for
the parsers used with SAX for Python. the parsers used with SAX for Python.
expatreader -- Driver that allows use of the Expat parser with the expatreader -- Driver that allows use of the Expat parser with SAX.
classes defined in saxlib.
""" """
from xmlreader import InputSource from xmlreader import InputSource

View File

@ -1,6 +1,6 @@
""" """
SAX driver for the Pyexpat C module. This driver works with SAX driver for the Pyexpat C module. This driver works with
pyexpat.__version__ == '1.5'. pyexpat.__version__ == '2.22'.
""" """
version = "0.20" version = "0.20"
@ -28,7 +28,7 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
# XMLReader methods # XMLReader methods
def parse(self, source): def parse(self, source):
"Parse an XML document from a URL." "Parse an XML document from a URL or an InputSource."
source = saxutils.prepare_input_source(source) source = saxutils.prepare_input_source(source)
self._source = source self._source = source
@ -40,7 +40,7 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
error_code = self._parser.ErrorCode error_code = self._parser.ErrorCode
raise SAXParseException(expat.ErrorString(error_code), None, self) raise SAXParseException(expat.ErrorString(error_code), None, self)
self._cont_handler.endDocument() self._cont_handler.endDocument()
def prepareParser(self, source): def prepareParser(self, source):
if source.getSystemId() != None: if source.getSystemId() != None:
@ -108,7 +108,10 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
# self._parser.DefaultHandlerExpand = # self._parser.DefaultHandlerExpand =
# self._parser.NotStandaloneHandler = # self._parser.NotStandaloneHandler =
self._parser.ExternalEntityRefHandler = self.external_entity_ref self._parser.ExternalEntityRefHandler = self.external_entity_ref
self._parsing = 0
self._entity_stack = []
# Locator methods # Locator methods
def getColumnNumber(self): def getColumnNumber(self):

View File

@ -20,13 +20,14 @@ version = '2.0beta'
# ===== ERRORHANDLER ===== # ===== ERRORHANDLER =====
class ErrorHandler: class ErrorHandler:
"""Basic interface for SAX error handlers. If you create an object """Basic interface for SAX error handlers.
that implements this interface, then register the object with your
Parser, the parser will call the methods in your object to report If you create an object that implements this interface, then
all warnings and errors. There are three levels of errors register the object with your XMLReader, the parser will call the
available: warnings, (possibly) recoverable errors, and methods in your object to report all warnings and errors. There
unrecoverable errors. All methods take a SAXParseException as the are three levels of errors available: warnings, (possibly)
only parameter.""" recoverable errors, and unrecoverable errors. All methods take a
SAXParseException as the only parameter."""
def error(self, exception): def error(self, exception):
"Handle a recoverable error." "Handle a recoverable error."

View File

@ -6,6 +6,17 @@ import handler
# ===== XMLREADER ===== # ===== XMLREADER =====
class XMLReader: class XMLReader:
"""Interface for reading an XML document using callbacks.
XMLReader is the interface that an XML parser's SAX2 driver must
implement. This interface allows an application to set and query
features and properties in the parser, to register event handlers
for document processing, and to initiate a document parse.
All SAX interfaces are assumed to be synchronous: the parse
methods must not return until parsing is complete, and readers
must wait for an event-handler callback to return before reporting
the next event."""
def __init__(self): def __init__(self):
self._cont_handler = handler.ContentHandler() self._cont_handler = handler.ContentHandler()