diff options
Diffstat (limited to 'Lib/xml/sax')
-rw-r--r-- | Lib/xml/sax/__init__.py | 2 | ||||
-rw-r--r-- | Lib/xml/sax/expatreader.py | 6 | ||||
-rw-r--r-- | Lib/xml/sax/saxutils.py | 6 | ||||
-rw-r--r-- | Lib/xml/sax/xmlreader.py | 2 |
4 files changed, 11 insertions, 5 deletions
diff --git a/Lib/xml/sax/__init__.py b/Lib/xml/sax/__init__.py index 73ec9291ab..005b66e38a 100644 --- a/Lib/xml/sax/__init__.py +++ b/Lib/xml/sax/__init__.py @@ -59,7 +59,7 @@ if _false: import xml.sax.expatreader import os, sys -if os.environ.has_key("PY_SAX_PARSER"): +if "PY_SAX_PARSER" in os.environ: default_parser_list = os.environ["PY_SAX_PARSER"].split(",") del os diff --git a/Lib/xml/sax/expatreader.py b/Lib/xml/sax/expatreader.py index e6d1902df6..92a79c1c74 100644 --- a/Lib/xml/sax/expatreader.py +++ b/Lib/xml/sax/expatreader.py @@ -407,8 +407,8 @@ def create_parser(*args, **kwargs): # --- if __name__ == "__main__": - import xml.sax + import xml.sax.saxutils p = create_parser() - p.setContentHandler(xml.sax.XMLGenerator()) + p.setContentHandler(xml.sax.saxutils.XMLGenerator()) p.setErrorHandler(xml.sax.ErrorHandler()) - p.parse("../../../hamlet.xml") + p.parse("http://www.ibiblio.org/xml/examples/shakespeare/hamlet.xml") diff --git a/Lib/xml/sax/saxutils.py b/Lib/xml/sax/saxutils.py index 46818f3d81..97d65d8fd3 100644 --- a/Lib/xml/sax/saxutils.py +++ b/Lib/xml/sax/saxutils.py @@ -103,6 +103,12 @@ class XMLGenerator(handler.ContentHandler): def _qname(self, name): """Builds a qualified name from a (ns_url, localname) pair""" if name[0]: + # Per http://www.w3.org/XML/1998/namespace, The 'xml' prefix is + # bound by definition to http://www.w3.org/XML/1998/namespace. It + # does not need to be declared and will not usually be found in + # self._current_context. + if 'http://www.w3.org/XML/1998/namespace' == name[0]: + return 'xml:' + name[1] # The name is in a non-empty namespace prefix = self._current_context[name[0]] if prefix: diff --git a/Lib/xml/sax/xmlreader.py b/Lib/xml/sax/xmlreader.py index 8e230841f6..46ee02b4ec 100644 --- a/Lib/xml/sax/xmlreader.py +++ b/Lib/xml/sax/xmlreader.py @@ -322,7 +322,7 @@ class AttributesImpl: return name in self._attrs def __contains__(self, name): - return self._attrs.has_key(name) + return name in self._attrs def get(self, name, alternative=None): return self._attrs.get(name, alternative) |