2 load_lib('phys_char.js');
3 load_lib('fixed_fields.js');
5 function recordType (rec) {
7 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
8 var _l = rec.marcns::leader.toString();
10 var _t = _l.substr(ff_pos.Type.ldr.BKS.start, ff_pos.Type.ldr.BKS.len);
11 var _b = _l.substr(ff_pos.BLvl.ldr.BKS.start, ff_pos.BLvl.ldr.BKS.len);
13 for (var t in rec_type) {
14 if (_t.match(rec_type[t].Type) && _b.match(rec_type[t].BLvl)) {
20 function videorecordingFormatName (rec) {
21 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
22 var _7 = rec.marcns::controlfield.(@tag.match(/007/)).text().toString();
26 physical_characteristics.v.subfields.e.start,
27 physical_characteristics.v.subfields.e.len
30 return physical_characteristics.v.subfields.e.values[ _v_e ];
36 function videorecordingFormatCode (rec) {
37 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
38 var _7 = rec.marcns::controlfield.(@tag.match(/007/)).text().toString();
42 physical_characteristics.v.subfields.e.start,
43 physical_characteristics.v.subfields.e.len
51 function extractFixedField (rec, field) {
53 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
54 var _l = rec.marcns::leader.toString();
55 var _8 = rec.marcns::controlfield.(@tag.match(/008/)).text().toString();
56 var _6 = rec.marcns::controlfield.(@tag.match(/006/)).text().toString();
58 var rtype = recordType(rec);
62 if (ff_pos[field].ldr) {
63 if (ff_pos[field].ldr[rtype]) {
65 ff_pos[field].ldr[rtype].start,
66 ff_pos[field].ldr[rtype].len
69 } else if (ff_pos[field]._8) {
70 if (ff_pos[field]._8[rtype]) {
72 ff_pos[field]._8[rtype].start,
73 ff_pos[field]._8[rtype].len
78 if (!val && ff_pos[field]._6) {
79 if (ff_pos[field]._6[rtype]) {
81 ff_pos[field]._6[rtype].start,
82 ff_pos[field]._6[rtype].len