END;
args.upc = args.upcs.0; # use first UPC as the default
+ # These are URIs that link out to related works for linked data purposes,
+ # such as OCLC Work Entities like http://worldcat.org/entity/work/id/415491
+ args.links = [];
+ FOR link_node IN xml.findnodes('//*[@tag="024"]/*[@code="2" and text()="uri"]');
+ my_parent = link_node.parentNode();
+ FOR link IN my_parent.findnodes('./*[@code="a"]');
+ link_uri = textContent | trim;
+ args.links.push(link_uri);
+ END;
+ END;
+ FOR lccn IN xml.findnodes('//*[@tag="010"]/*[@code="a"]');
+ lccn_num = lccn.textContent | trim;
+ args.links.push('http://lccn.loc.gov/' _ lccn_num);
+ END;
+ FOR oclcnum IN xml.findnodes('//*[@tag="035"]/*[@code="a"]');
+ oclcnum = oclcnum.textContent | trim;
+ NEXT UNLESS oclcnum.search('^\(OCoLC\)');
+ oclcnum = oclcnum | remove('\(OCoLC\)');
+ # These prefixes are often included in the 035, even though they should not be
+ oclcnum = oclcnum | remove('ocm');
+ oclcnum = oclcnum | remove('ocn');
+ oclcnum = oclcnum | remove('on') | trim;
+ args.links.push('http://www.worldcat.org/oclc/' _ oclcnum);
+ END;
+ args.links = args.links.unique;
+
args.issns = [];
FOR sub IN xml.findnodes('//*[@tag="022"]/*[@code="a"]');
args.issns.push(sub.textContent);
ctx.record_attrs = attrs; # capture for JS
%]
<div id='canvas_main' class='canvas' vocab="http://schema.org/" typeof='[% args.schema.itemtype %] Product' resource="#schemarecord">
+[%- FOREACH link IN args.links; %]
+ <link property="sameAs" href="[% link %]">
+[%- END; %]
[%- INCLUDE "opac/parts/record/navigation.tt2" %]
[%- IF ctx.bib_is_dead %]
<div id='rdetail_deleted_exp'>