The next version of the Markup Validator is gearing up for an upcoming release, via a two-weeks or more beta test period. This new version has improvements in pretty much every area (reliability of validation results, new features, speed improvements, better UI…) and should hopefully be a very welcome update to this important tool.
Many of the improvements and changes have been made possible by using a number of new or updated tools and libraries. This means lots of functionalities without having to reinvent the wheel, but it also means that the validator’s dependencies are changing. The Installation guide will be updated, of course, but for those upgrading from an older version of the validator, it can be a little trickier. Hence, I am copying here some (rough) notes taken while upgrading an existing stable validator to the latest code.
This is by no mean a definitive upgrade guide for the validator, but should help maintainers of a validator 0.7.x install get a working 0.8.0 version without pain.
- Get the newly required perl modules. These can be installed with perl -MCPAN -e shell: HTML::Encoding, Class::Accessor, Test::Exception, XML::LibXML, Encode::HanExtra, Encode::JIS2K,
- Make sure OpenSP is at least version 1.5.2 (the latest version, as of April 2007). onsgmls -v should tell you the version. If not, get it from the OpenJade project.
- Get the SGML::Parser::OpenSP module. I used the latest version from CVS, but the one from CPAN should work too.
- If you are running into issues while installing OpenSP and/or SPO, especially on a Mac, check out Brett Bieber’s step-by-step recollection of how he got it running.
- Optionally, you can also enable the HTML Tidy feature by installing libtidy (from sourceforge) and the HTML::Tidy perl module.
I had trouble compiling SGML::Parser::OpenSP because there were two versions of libosp on the system.
the make script was using an (old) libosp in
so I gave it a hand in using the (new) one in
/usr/include/ with the quick-and-dirty:
cd /usr/local/include/ ;
mv OpenSP/ OpenSP.egp ;
ln -s /usr/include/OpenSP/ . ;