So, I started hacking on it. Initially, it was to add support for XML::SAX, as a modern XML parsing system, instead of the old PerlSAX (which didn’t really understand namespaces). But then I added support for using XML::LibXML as well. And then I realised that the examples I was using had abstract tests, which weren’t supported, so I added that. And the name element didn’t work, so that got fixed. Just now, I’ve added support for namespace declarations in the ns element. It’s a lot more useful now than it was.
Now I just need to get these changes back to the maintainer, Kip Hampton. Alas, he seems to be away from his email recently. But all the changes are in my repository, so it should be easy to pass them on later as they’re unlikely to get lost. I hope these changes actually makes it back on to CPAN; they’re useful and should make schematron more readily available in Perl, which has got to be a good thing.