ISBN Y2K+5. At the heart of LibraryLookup there's a regular expression that matches a 10-digit ISBN. Wouldn't you know it, come January 1, 2005, that string of 10 digits grows to 13. Thanks to Tim Meadowcroft for the heads-up (via email, with permission). He adds:

All 10 digit ISBN's can be converted to 13 digits by adding a 3 digit standard code before them (“978” – it effectively puts all the existing codes into a single namespace), but as the last ISBN character is a base 11 checksum digit (that's why it can be “X” but all other chars must be digit 0-9), the last character will then change, see for details.

The ISBN numberspace is variably partitioned, sort of like class A, B, and C networks. A while ago I pointed to Roger Costello's isbn.xsd, a formidable XML schema that documents — and validates — a bunch of combinations of country ID and publisher ID. I'd hate to have to update that beast! [Jon's Radio]

Leave a comment