[XML-SIG] [ pyxml-Bugs-563399 ] expatreader breaks AttributeNSImpl

noreply@sourceforge.net noreply@sourceforge.net
Sat, 01 Jun 2002 14:56:28 -0700


Bugs item #563399, was opened at 2002-06-01 21:56
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=106473&aid=563399&group_id=6473

Category: SAX
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Uche Ogbuji (uche)
Assigned to: Nobody/Anonymous (nobody)
Summary: expatreader breaks AttributeNSImpl

Initial Comment:
With make_parser(), expatreader is what I get on Python
2.2/PyXML latest PyXML CVS.  It seems that after
coercing it to namespace mode, it sets up AttributeNSImpl:


from xml.sax import *
#from Ft.Xml import InputSource
import StringIO

XML = "<grammar
xmlns='http://relaxng.org/ns/structure/1.0' foo='bar'/>"

class TestHandler(ContentHandler):
    def startElementNS(self, name, qname, attrs):
        print name
        print qname
        print attrs.__dict__


##parser = make_parser()
##parser._namespaces = 1
##parser.setContentHandler(TestHandler())
##factory = InputSource.DefaultFactory
##isrc = factory.fromString(XML, "dummy")
##parser.parse(isrc.stream)

parser = make_parser()
parser._namespaces = 1
parser.setContentHandler(TestHandler())
stream = StringIO.StringIO(XML)
parser.parse(stream)



$ python broken-attrs.py 
(u'http://relaxng.org/ns/structure/1.0', u'grammar')
None
{'_qnames': {}, '_attrs': {(None, u'foo'): u'bar'}}


That should be

{'_qnames': {u'foo'}, '_attrs': {(None, u'foo'): u'bar'}}

This breaks getQNames() and other things.



----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=106473&aid=563399&group_id=6473