Our local xISBN cache is working


Using the format of OCLC's xISBN service, I've built a local xISBN responder. You can feed it any ISBN you like. As with OCLC's version, if it's a valid ISBN that's in our catalog, you'll get an XML-formatted list of all related items in our catalog.

For example:


returns this:

<?xml version="1.0" encoding="UTF-8" ?>

This makes me ridiculously happy. Now I can learn a bit of Ajax that will query my xISBN responder and construct links to related items.


  1. I didn't bother writing XHTML responses, so adding .html to the URL will not do anything interesting.
  2. If you ask for an ISBN that's not in our catalog, you won't get very useful results.

Still… not bad for a day's work. What do you think, sirs?


  1. I doff my cap to you sir!

    Can I be the first person to mash-it-up?


  2. Dead chuffed, bucko! Maybe I ought to put you in charge of figuring out what would be a useful way to inject this into HIP. We’re both running 3.06a, aren’t we?

  3. Almost – the most recent version available in the UK for Horizon customers is 3.04

    There’s a few of ways of bringing external content into HIP:

    1) Get the XSL stylesheet to request it and embed it into the output — I’ve never done this, but I think Casey Durfee has. I’m not sure what happens if your external script isn’t available, I guess it might make HIP fall over?

    2) Use a javascript src=”http://your.server/yourscript.php?…” and get “yourscript.php” to output valid javascript (i.e. lots of “document.write”s)

    3) use Ajax

    If you have a hunt thru the source of http://library.hud.ac.uk/catlink/bib/462383/ then you’ll find examples of both:

    2) Search for “largeimage.pl” — that’s a script that decides whether or not we have a large version of the book cover we could link to. If we have, then it sends back some javascript to insert the link.

    3) Search for “ajaxStart” and you’ll find the main Ajax section — this is currently used to display “also borrowed”s, “other editions”, and “similar subject headings”.

    I think I’ll eventually move everything to using Ajax, as it’s easier to maintain.

    To do the Ajax stuff, I’ve made use of http://script.aculo.us/ which requires you to edit one of the HIP XSL files to pull in the various scriptaculous javascript files — if you do a search in the source for “scriptaculous”, you’ll see I bring them in near the top of the “head” section.

    Alternatively, you could have a look at Perl’s Ajax module (I think it might be called CGI::Ajax), as this won’t have as much bloat as scriptaculous has.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: