As has been noted, the DTD is not really important for trying to parse the input file. You might want to look at XML::Simple as the easiest way to turn that XML structure into a perl data hash.
The intelligent reader will judge for himself. Without examining the facts fully and fairly, there is no way of knowing whether vox populi is really vox dei, or merely vox asinorum. — Cyrus H. Gordon
In Section
Seekers of Perl Wisdom