Mike Jewell


Biblio::Citation::Parser::Utils - OpenURL utility functions


This module contains methods for the parsing of reference metadata into OpenURLs. Although we have aimed to make it 1.0 compliant, there may well be errors (please let us know if there are!).


$openurl_hash = Biblio::Citation::Parser::Utils::trim_openurl($openurl)

This method takes a hash of metadata, and returns a hash that contains only valid OpenURL fields.

$openurl_hash = Biblio::Citation::Parser::Utils::decompose_openurl($openurl)

This method aims to enrich an OpenURL metadata hash by applying various parsing techniques to the fields. It decomposes dates into years, months, and days if possible, fills in the appropriate fields if SICIs are present, and ensures URLs, ISBNs, etc, are valid. It returns a pointer to a hash containing the modified metadata, and an array of errors (if any).

$openurl = Biblio::Citation::Parser::create_openurl($metadata)

This method creates and returns an OpenURL from a metadata hash. No base URLs are prepended to this, so this should be done before using it as a link. URI::OpenURL should be used to generate OpenURLs in place of this function.

$valid_isbn = Biblio::Citation::Parser::Utils::isbn_check(@isbn_chars)

This is a simple function that takes an array of ISBN characters, and returns true if it is a valid ISBN.

$sici_hash = Biblio::Citation::Parser::Utils::parse_sici($sici)

This function takes a SICI string, and returns a hash of information parsed from it, including date information, issn numbers, etc.

$bici_hash = Biblio::Citation::Parser::Utils::parse_bici($bici)

This is not yet implemented, but will eventually be the BICI alternative for parse_sici.

$escaped_url = ParaTools::Utils::url_escape($string)

Simple function to convert a string into an encoded URL (i.e. spaces to %20, etc). Takes the unencoded URL as a parameter, and returns the encoded version.


Mike Jewell <moj@ecs.soton.ac.uk>