[XML-SIG] How to use PyExpat ExternalParsedEntityDeclHandler?

Rich Salz rsalz@zolera.com
Mon, 30 Jul 2001 12:57:28 -0400


I have an input document
	<!DOCTYPE doc [ 
		<!ENTITY ent1 "Hello">
		<!ENTITY ent2 SYSTEM "world.txt">
	]>
	<doc>&ent1;, &ent2;!</doc>

I'm subclassing PyExpat.Reader:

PYE = PyExpat.Reader
class ReaderforC14NExamples(PYE):
    def initParser(self):
        PYE.initParser(self)
        self.parser.UnparsedEntityDeclHandler = self.unparsedEntityDecl
        self.parser.NotationDeclHandler = self.notationDecl
        self.parser.ExternalParsedEntityDeclHandler = self.entityDecl
 
    def entityDecl(self, *args):
        if args != ('ent2', None, 'world.txt', None): return
        print 'match'
>>>     self.parser.CharacterDataHandler('world')
        return 0

Doesn't do what I thought it would.

help?  tnx.
	/r$