in reply to XML parsing errors - finding them

If you're on Linux, you could use the xmllint command:
$ xmllint --noout --valid foo.xml
Or you could use XML::LibXML:
my $parser = XML::LibXML->new; $parser->validation(1); eval { $parser->parse_file('foo.xml'); }; print $@ if $@;