I like to use an external DTD in my config files. That way it is easy to support default values for attributes, that one then doesn't need to bother with in the XML.
Unfortunately, the only way to do that as I know is to pass the 'ParseParamEnt => 1' option to XML::Parser. I believe XML::SAX does not support this at all.
Arjan Hulsbosch