in reply to
Parsing an XML-like definition of an XML-like language to create a parser of the actual data in that language.
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