diff options
author | Fred Drake <fdrake@acm.org> | 2000-09-18 17:40:22 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2000-09-18 17:40:22 (GMT) |
commit | a12adfe48590e310ab7968f4a3b15b8dc3f1e6f6 (patch) | |
tree | 1dacc44f4a64b4ba6bcdf338a248a410ebbff78a /Lib/xml/sax | |
parent | 480abc27513c6f1e43918a02deca4cf0ce7e4838 (diff) | |
download | cpython-a12adfe48590e310ab7968f4a3b15b8dc3f1e6f6.zip cpython-a12adfe48590e310ab7968f4a3b15b8dc3f1e6f6.tar.gz cpython-a12adfe48590e310ab7968f4a3b15b8dc3f1e6f6.tar.bz2 |
Reduce the number of imports needed.
Make the code conform better to the Python style guide.
Diffstat (limited to 'Lib/xml/sax')
-rw-r--r-- | Lib/xml/sax/saxutils.py | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/Lib/xml/sax/saxutils.py b/Lib/xml/sax/saxutils.py index 4657b99..cd6426a 100644 --- a/Lib/xml/sax/saxutils.py +++ b/Lib/xml/sax/saxutils.py @@ -1,34 +1,37 @@ -""" -A library of useful helper classes to the sax classes, for the +"""\ +A library of useful helper classes to the SAX classes, for the convenience of application and driver writers. - -$Id$ """ -import types, string, sys import handler -def escape(data, entities = {}): + +def escape(data, entities={}): """Escape &, <, and > in a string of data. + You can escape other strings of data by passing a dictionary as the optional entities parameter. The keys and values must all be strings; each key will be replaced with its corresponding value. """ - data = string.replace(data, "&", "&") - data = string.replace(data, "<", "<") - data = string.replace(data, ">", ">") + data = data.replace("&", "&") + data = data.replace("<", "<") + data = data.replace(">", ">") for chars, entity in entities.items(): - data = string.replace(data, chars, entity) + data = data.replace(chars, entity) return data + class XMLGenerator(handler.ContentHandler): - def __init__(self, out = sys.stdout): + def __init__(self, out=None): + if out is None: + import sys + out = sys.stdout handler.ContentHandler.__init__(self) self._out = out # ContentHandler methods - + def startDocument(self): self._out.write('<?xml version="1.0" encoding="iso-8859-1"?>\n') @@ -39,9 +42,9 @@ class XMLGenerator(handler.ContentHandler): pass def startElement(self, name, attrs): - if type(name)==type(()): - uri, localname, prefix=name - name="%s:%s"%(prefix,localname) + if type(name) is type(()): + uri, localname, prefix = name + name = "%s:%s"%(prefix,localname) self._out.write('<' + name) for (name, value) in attrs.items(): self._out.write(' %s="%s"' % (name, escape(value))) @@ -56,10 +59,11 @@ class XMLGenerator(handler.ContentHandler): def ignorableWhitespace(self, content): self._out.write(content) - + def processingInstruction(self, target, data): self._out.write('<?%s %s?>' % (target, data)) + class XMLFilterBase: """This class is designed to sit between an XMLReader and the client application's event handlers. By default, it does nothing @@ -80,10 +84,10 @@ class XMLFilterBase: self._err_handler.warning(exception) # ContentHandler methods - + def setDocumentLocator(self, locator): self._cont_handler.setDocumentLocator(locator) - + def startDocument(self): self._cont_handler.startDocument() @@ -138,7 +142,7 @@ class XMLFilterBase: def setLocale(self, locale): self._parent.setLocale(locale) - + def getFeature(self, name): return self._parent.getFeature(name) @@ -150,4 +154,3 @@ class XMLFilterBase: def setProperty(self, name, value): self._parent.setProperty(name, value) - |