Well, I don't think an XML parser is going to do what you want - SGML can do things that XML can't (XML being deigned as a subset of SGML). There are several modules on the CPAN dealing with SGML - but I've not used them and none of them seems to be clearly what you need. If the SGML used turns out to match the subset which is XML then try it out - and be careful. Otherwise you could try to pull something of your own together - but it would take a while.
Good Luck!
Cheers,
Erik