For quick hacking, Perl's the ticket. Here are a few tools I've built with Perl.
Schema Locating Rules
Emacs nxml-mode includes a configurable set of rules to locate a schema for the file being edited. The rules are contained in one or more schema locating files, which are XML documents.
LocatingRules is a Perl module that implements the locating rules search algorithm to find a schema. It is now on GitHub.
Once upon a time, in the late twentieth century, DTDs were a thing. DTDParse is a tool that parses DTDs and produces an XML representation. That representation can then be used to build, for example, documentation.
DTDParse is now on GitHub.
DelimMatch is a Perl 5 module that provides functions for locating delimited substrings with proper nesting. It is available from CPAN.
This Perl script flattens DTDs, removing parameter entities and producing a monolithic DTD from a collection of modules. It suppresses IGNORE marked sections and deletes unused parameter entities.
The only version is 0.1 from 31 Mar 2000.