# GT 24Mai2003 import xml.sax import warnings from zlib import crc32 # # class XmlHandler ############################################ # class XmlHandler(xml.sax.ContentHandler): def __init__(self): xml.sax.ContentHandler.__init__(self) def startElement(self, name, attrs): self.myData = "" if name in ("outer", "inner", "crc"): pass else: warning.warn("Unexpected tag "+name, RuntimeWarning) def endElement(self, name): if name == "outer": pass elif name == "inner": self.myInner = self.myData elif name == "crc": if int(self.myData) != crc32(self.myInner): warnings.warn("checksum error "+self.myInner) else: warning.warn("Unexpected tag "+name, RuntimeWarning) def characters(self, data): self.myData += data # remember for later processing # # main ############################################################# # def main(filename): xh = XmlHandler() xml.sax.parse(filename, xh) # # __main__ ######################################################### # if __name__ == "__main__": import sys if len(sys.argv) == 2: main(sys.argv[1]) else: print "usage: readTest filename"