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)
committerLebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Thu, 16 May 2013 15:11:48 +0000 (11:11 -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 f5a9cfb..689d8d1 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 : '';