Interesting you mentioned that entities in attributes silently disappear...it was going to be my next point. The XML I'm parsing has a lot information in the attributes that I need and most of the attributes have entities I need resolved.
Let me think about what to do. I already have most of the parsing code written and my deadline is coming up soon....so I don't know if I'm going to be able to switch over to XML::Twig in time. I will look over the XML::Twig mod and learn more about it. I do have a solution in place to that opens the XML file before the Expat parse and resolves the entities before hand. I don't like to do that, but it solves my problem.
Thanks for all your help. Greatly appreciated! I'm been pondering a solution to this problem within Expat for some time. Since Expat provided a ExternEnt Handler I was assumed I was doing something wrong! What would you use the ExternEnt handler for then???