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.