@@ -79,7 +79,7 @@ def getSystemId(self):
7979class ExpatParser (xmlreader .IncrementalParser , xmlreader .Locator ):
8080 """SAX driver for the pyexpat C module."""
8181
82- def __init__ (self , namespaceHandling = 0 , namespacePrefixesHandling = 0 , bufsize = 2 ** 16 - 20 ):
82+ def __init__ (self , namespaceHandling = 0 , bufsize = 2 ** 16 - 20 ):
8383 xmlreader .IncrementalParser .__init__ (self , bufsize )
8484 self ._source = xmlreader .InputSource ()
8585 self ._parser = None
@@ -89,7 +89,7 @@ def __init__(self, namespaceHandling=0, namespacePrefixesHandling=0, bufsize=2**
8989 self ._entity_stack = []
9090 self ._external_ges = 0
9191 self ._interning = None
92- self ._namespace_prefixes = namespacePrefixesHandling
92+ self ._namespace_prefixes = 0
9393
9494 # XMLReader methods
9595
@@ -147,8 +147,6 @@ def setFeature(self, name, state):
147147 self ._interning = {}
148148 else :
149149 self ._interning = None
150- elif name == feature_namespace_prefixes :
151- self ._namespace_prefixes = state
152150 elif name == feature_validation :
153151 if state :
154152 raise SAXNotSupportedException (
@@ -157,6 +155,8 @@ def setFeature(self, name, state):
157155 if state :
158156 raise SAXNotSupportedException (
159157 "expat does not read external parameter entities" )
158+ elif name == feature_namespace_prefixes :
159+ self ._namespace_prefixes = state
160160 else :
161161 raise SAXNotRecognizedException (
162162 "Feature '%s' not recognized" % name )
@@ -375,6 +375,9 @@ def start_element_ns(self, name, attrs):
375375 newattrs [apair ] = value
376376 qnames [apair ] = qname
377377
378+ if not self ._namespace_prefixes :
379+ elem_qname = None
380+
378381 self ._cont_handler .startElementNS (pair , elem_qname ,
379382 AttributesNSImpl (newattrs , qnames ))
380383
0 commit comments