Today I decided I'd finally get around to adding line and column numbers to the errors produced by XML::Validator::Schema. Over a year ago I started a project to accomplish this feat called XML::Filter::ExceptionLocator. The idea was to create an XML::SAX filter which would catch XML::SAX::Exception objects and mix in data from the document-locator SAX interface to correctly identify the source of the error.
The problem was, back then there wasn't a single XML::SAX parser with a working document-locator! I got side-tracked trying to add document-locator support to XML::SAX::Expat and the project died.
Now the Perl community has XML::SAX::ExpatXS, Petr Cimprich's fantastic XML::SAX parser which has a working document-locator. So I figured I'd finish off XML::Filter::ExceptionLocator. But where is the code? It never worked so I never released it to CPAN. The machine I was working on back then was left behind when I left my last job. I started greping around my various machines without finding even a trace. I also checked the perlxml mailing-list archives, where I found posts I wrote about the module, but without any source.
Finally I thought to check the XML::Validator::Schema CVS repository on SourceForge, and there it was practically ready for release! It only took a few lines of code to get it working with XML::SAX::ExpatXS and integrated with XML::Validator::Schema. Both are now on their way to CPAN and will be announced tomorrow.
Thanks CVS! And thanks Petr! I couldn't have done it without ya...
-sam