summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Gustäbel <lars@gustaebel.de>2000-09-24 20:38:18 (GMT)
committerLars Gustäbel <lars@gustaebel.de>2000-09-24 20:38:18 (GMT)
commitbb757136b29369e88c72e1563ee95cd6514c15a0 (patch)
tree8c1e6a6f736bf2f6e3c65ab9e89f4ac26b0af83a
parent33315b180b3cc6981169cf60744445de91a6b8e9 (diff)
downloadcpython-bb757136b29369e88c72e1563ee95cd6514c15a0.zip
cpython-bb757136b29369e88c72e1563ee95cd6514c15a0.tar.gz
cpython-bb757136b29369e88c72e1563ee95cd6514c15a0.tar.bz2
Improvements to doco strings.
Tiny bug fix to expatreader.py (endDocument was only called after errors).
-rw-r--r--Lib/xml/sax/__init__.py4
-rw-r--r--Lib/xml/sax/expatreader.py11
-rw-r--r--Lib/xml/sax/handler.py15
-rw-r--r--Lib/xml/sax/xmlreader.py11
4 files changed, 27 insertions, 14 deletions
diff --git a/Lib/xml/sax/__init__.py b/Lib/xml/sax/__init__.py
index 24b7d24..7c62ea1 100644
--- a/Lib/xml/sax/__init__.py
+++ b/Lib/xml/sax/__init__.py
@@ -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
the parsers used with SAX for Python.
-expatreader -- Driver that allows use of the Expat parser with the
- classes defined in saxlib.
-
+expatreader -- Driver that allows use of the Expat parser with SAX.
"""
from xmlreader import InputSource
diff --git a/Lib/xml/sax/expatreader.py b/Lib/xml/sax/expatreader.py
index e3b3ad0..1d93542 100644
--- a/Lib/xml/sax/expatreader.py
+++ b/Lib/xml/sax/expatreader.py
@@ -1,6 +1,6 @@
"""
SAX driver for the Pyexpat C module. This driver works with
-pyexpat.__version__ == '1.5'.
+pyexpat.__version__ == '2.22'.
"""
version = "0.20"
@@ -28,7 +28,7 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
# XMLReader methods
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)
self._source = source
@@ -40,7 +40,7 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
error_code = self._parser.ErrorCode
raise SAXParseException(expat.ErrorString(error_code), None, self)
- self._cont_handler.endDocument()
+ self._cont_handler.endDocument()
def prepareParser(self, source):
if source.getSystemId() != None:
@@ -108,7 +108,10 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
# self._parser.DefaultHandlerExpand =
# self._parser.NotStandaloneHandler =
self._parser.ExternalEntityRefHandler = self.external_entity_ref
-
+
+ self._parsing = 0
+ self._entity_stack = []
+
# Locator methods
def getColumnNumber(self):
diff --git a/Lib/xml/sax/handler.py b/Lib/xml/sax/handler.py
index c80457c..0931014 100644
--- a/Lib/xml/sax/handler.py
+++ b/Lib/xml/sax/handler.py
@@ -20,13 +20,14 @@ version = '2.0beta'
# ===== ERRORHANDLER =====
class ErrorHandler:
- """Basic interface for SAX error handlers. If you create an object
- that implements this interface, then register the object with your
- Parser, the parser will call the methods in your object to report
- all warnings and errors. There are three levels of errors
- available: warnings, (possibly) recoverable errors, and
- unrecoverable errors. All methods take a SAXParseException as the
- only parameter."""
+ """Basic interface for SAX error handlers.
+
+ If you create an object that implements this interface, then
+ register the object with your XMLReader, the parser will call the
+ methods in your object to report all warnings and errors. There
+ are three levels of errors available: warnings, (possibly)
+ recoverable errors, and unrecoverable errors. All methods take a
+ SAXParseException as the only parameter."""
def error(self, exception):
"Handle a recoverable error."
diff --git a/Lib/xml/sax/xmlreader.py b/Lib/xml/sax/xmlreader.py
index 04e7bc1..c381fd4 100644
--- a/Lib/xml/sax/xmlreader.py
+++ b/Lib/xml/sax/xmlreader.py
@@ -6,6 +6,17 @@ import handler
# ===== 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):
self._cont_handler = handler.ContentHandler()