My two cents on the validation topic.
I've tried XML::Validator::Schema lately and was not quite happy with it. To be fair, I don't remember what was actually the blocking item (maybe something like inclusion within the Schema itself). Anyway, it seems like nothing happened on this module for two years.
XML::LibXML on the other hand only validates againts DTD and Relax-NG kind of schemas, although this is a good DOM library.