LP1071505 - Add 264 RDA tag to TPAC pubinfo display
authorBen Shum <bshum@biblio.org>
Wed, 10 Oct 2012 21:00:54 +0000 (17:00 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Mon, 1 Jul 2013 12:24:10 +0000 (08:24 -0400)
Prior to this, TPAC only retrieved the 260 tag for publication info. Allow for
the possibility that the 264 tag might exist and contain relevant information.
Special note: the 264 tag must have a second indicator value of 1 to be meant
for publication statement.

Also, this only picks out the first 260 or 264 tags in any given bib record.

Approach inspired by Dan Scott's approach taken for finding edition statements.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Open-ILS/src/templates/opac/parts/misc_util.tt2

index 4bfd544..89ba850 100644 (file)
         args.title_extended = titsubs_content.join(" ");
 
         args.pubplaces = [];
-        FOR sub IN xml.findnodes('//*[@tag="260"]/*[@code="a"]');
+        pubplace_hunt = xml.findnodes('//*[@tag="260"]/*[@code="a"]') ||
+            xml.findnodes('//*[@tag="264" and @ind2="1"]/*[@code="a"]');
+        FOR sub IN pubplace_hunt;
             args.pubplaces.push(sub.textContent);
         END;
         args.pubplace = (args.pubplaces.size) ? args.pubplaces.0 : '';
 
         args.publishers = [];
-        FOR sub IN xml.findnodes('//*[@tag="260"]/*[@code="b"]');
+        publishers_hunt = xml.findnodes('//*[@tag="260"]/*[@code="b"]') ||
+            xml.findnodes('//*[@tag="264" and @ind2="1"]/*[@code="b"]');
+        FOR sub IN publishers_hunt;
             args.publishers.push(sub.textContent);
         END;
         args.publisher = (args.publishers.size) ? args.publishers.0 : '';
 
         args.pubdates = [];
-        FOR sub IN xml.findnodes('//*[@tag="260"]/*[@code="c"]');
+        pubdates_hunt = xml.findnodes('//*[@tag="260"]/*[@code="c"]') || 
+            xml.findnodes('//*[@tag="264" and @ind2="1"]/*[@code="c"]');
+        FOR sub IN pubdates_hunt;
             args.pubdates.push(sub.textContent);
         END;
         args.pubdate = (args.pubdates.size) ? args.pubdates.0 : '';