
Xml::dtdparser parses a dtd file and creates a data structure containing info about all tags, their allowed parameters, children, parents, optionality etc.
the module should be able to parse just about anything, but it intentionaly looses some information. eg. if the dtd specifies that a tag should contain either child1 or child2 you only get that child1 and child2 are optional. that is the dtd contains
the result will be the same is if it contained
you get the original unparsed parameter list as well so if you need this information you may parse it yourself.