in reply to handling my PerlSAX handler

Did you have a look at XML::Parser's Object style? It turns each element into an object which type is the element name. You can even use the Package option to create all of the objects in a separate package. Wouldn't this work for you? At least you could use the code there as a start for your module.