class PrintWorkNumbers(saxlib.HandlerBase):
    """This is our specialized document handler class"""
    def __init__(self):
        self.curr_name = ''
        self.print_flag = 0
    def startElement(self, name, attribs):
        if name == 'NAME':
           
sys.stdout.write('Name: ')
           
self.print_flag = 1
        elif name == 'PHONENUM':
           
if attribs['DESC'] == 'Work':
            &nb
sp;  
sys.stdout.write('Work phone number: ')
            &nb
sp;  
self.print_flag = 1
    def endElement(self, name):
        if self.print_flag:
           
self.print_flag = 0
           
print    #write new line
        if name == 'NAME':
           
self.curr_name = name
    def characters(self, ch, start, length):
        if self.print_flag:
           
sys.stdout.write(ch[start:start+length])
 
p = saxexts.XMLValParserFactory.make_parser()
p.setDocumentHandler(PrintWorkNumbers())
xml_file = open(sys.argv[1], 'r')
p.parseFile(xml_file)
xml_file.close()