2 load_lib('phys_char.js');
3 load_lib('fixed_fields.js');
4 load_lib('JSON_v1.js');
6 function recordType (rec) {
8 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
9 var _l = rec.marcns::leader.toString();
11 var _t = _l.substr(ff_pos.Type.ldr.BKS.start, ff_pos.Type.ldr.BKS.len);
12 var _b = _l.substr(ff_pos.BLvl.ldr.BKS.start, ff_pos.BLvl.ldr.BKS.len);
14 for (var t in rec_type) {
15 if (_t.match(rec_type[t].Type) && _b.match(rec_type[t].BLvl)) {
21 function videorecordingFormatName (rec) {
22 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
23 var _7 = rec.marcns::controlfield.(@tag.match(/007/)).text().toString();
27 physical_characteristics.v.subfields.e.start,
28 physical_characteristics.v.subfields.e.len
31 return physical_characteristics.v.subfields.e.values[ _v_e ];
37 function videorecordingFormatCode (rec) {
38 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
39 var _7 = rec.marcns::controlfield.(@tag.match(/007/)).text().toString();
43 physical_characteristics.v.subfields.e.start,
44 physical_characteristics.v.subfields.e.len
52 function extractFixedField (rec, field) {
54 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
55 var _l = rec.marcns::leader.toString();
56 var _8 = rec.marcns::controlfield.(@tag.match(/008/)).text().toString();
57 var _6 = rec.marcns::controlfield.(@tag.match(/006/)).text().toString();
59 var rtype = recordType(rec);
63 if (ff_pos[field].ldr) {
64 if (ff_pos[field].ldr[rtype]) {
66 ff_pos[field].ldr[rtype].start,
67 ff_pos[field].ldr[rtype].len
70 } else if (ff_pos[field]._8) {
71 if (ff_pos[field]._8[rtype]) {
73 ff_pos[field]._8[rtype].start,
74 ff_pos[field]._8[rtype].len
79 if (!val && ff_pos[field]._6) {
80 if (ff_pos[field]._6[rtype]) {
82 ff_pos[field]._6[rtype].start,
83 ff_pos[field]._6[rtype].len