Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Version: $Id: PRISM.pm,v 1.1 2004/09/10 19:08:51 am_3 Exp $
- package Parsers::TargetParser::TALIS::PRISM;
- use base qw(Parsers::TargetParser);
- use URI;
- sub getHolding {
- my ($this,$ctx_obj) = @_;
- my $issn = $ctx_obj->ISSN();
- my $isbn = $ctx_obj->ISBN();
- my $journalTitle = $ctx_obj->journalTitle();
- my $abbrevTitle = $ctx_obj->{'@abbrevTitle'}->[0];
- my $bookTitle = $ctx_obj->bookTitle();
- my $aulast = $ctx_obj->{'@authLast'}->[0];
- my $base_url = $ctx_obj->parse_param('url');
- $isbn =~ s/-//g;
- if (length $issn) {
- #$url=$base_url . "items/?query=$issn";
- $url=$base_url . "items/?query=$issn" . '&facet[0]=displayascollection%3A"Periodicals"';
- }
- elsif (length $isbn) {
- $url=$base_url . "items/?query=isbn%3A$isbn";
- }
- elsif (length $journalTitle) {
- #title search, restricted to periodical.
- $url=$base_url . "items/?query=title%3A$journalTitle" . '&facet[0]=displayascollection%3A"Periodicals"';
- }
- elsif (length $abbrevTitle) {
- $url=$base_url . "items/?query=$abbrevTitle";
- }
- elsif (length $bookTitle) {
- $url=$base_url . "items?query=title:\"$bookTitle\"";
- if (length ($bookTitle) && length ($aulast)) {
- # if we have a book title and author last name but no isbn
- # search for title: foo author:bar restrict to format books
- my $authortitle = "title%3A\"" . $bookTitle . "\"+author%3A" . $aulast;
- $url=$base_url . "items/?query=$authortitle";
- $url=$base_url . "items/?query=$authortitle" . '&facet[0]=displayasrecordtype%3A"bks"';
- }
- }
- return $url;
- }
- 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement