From 060fc0458c8c5a250b6234bd2578dd756721bf20 Mon Sep 17 00:00:00 2001 From: Jared Camins-Esakov Date: Wed, 1 Aug 2012 13:34:33 -0400 Subject: [PATCH] Bug 8550: Z39.50 searches for ISBN/ISSN problematic Content-Type: text/plain; charset="utf-8" Rather than treating ISBN and ISSN as the same, this patch breaks them out into separate parts of the query, as well as changing the truncation attribute to enable right truncation (the correct behavior for the ISBN field in MARC21, and valid behavior in UNIMARC). Signed-off-by: Joseph Alway --- cataloguing/z3950_search.pl | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cataloguing/z3950_search.pl b/cataloguing/z3950_search.pl index a44b5ea..5e22636 100755 --- a/cataloguing/z3950_search.pl +++ b/cataloguing/z3950_search.pl @@ -117,10 +117,14 @@ else { my $s = 0; my $query = ''; my $nterms; - if ($isbn || $issn) { - $term=$isbn if ($isbn); - $term=$issn if ($issn); - $query .= " \@or \@attr 1=8 \"$term\" \@attr 1=7 \"$term\" "; + if ($isbn) { + $term=$isbn; + $query .= " \@attr 1=7 \@attr 5=1 \"$term\" "; + $nterms++; + } + if ($issn) { + $term=$issn; + $query .= " \@attr 1=8 \@attr 5=1 \"$term\" "; $nterms++; } if ($title) { -- 1.7.2.5