3 BKS : { Type : /[at]{1}/, BLvl : /[acdm]{1}/ },
4 SER : { Type : /[a]{1}/, BLvl : /[bs]{1}/ },
5 VIS : { Type : /[gkro]{1}/, BLvl : /[abcdms]{1}/ },
6 MIX : { Type : /[p]{1}/, BLvl : /[cd]{1}/ },
7 MAP : { Type : /[ef]{1}/, BLvl : /[abcdms]{1}/ },
8 SCO : { Type : /[cd]{1}/, BLvl : /[abcdms]{1}/ },
9 REC : { Type : /[ij]{1}/, BLvl : /[abcdms]{1}/ },
10 COM : { Type : /[m]{1}/, BLvl : /[abcdms]{1}/ }
16 BKS : {start : 15, len : 3, def : ' ' },
17 SER : {start : 15, len : 3, def : ' ' },
18 VIS : {start : 15, len : 3, def : ' ' },
19 MIX : {start : 15, len : 3, def : ' ' },
20 MAP : {start : 15, len : 3, def : ' ' },
21 SCO : {start : 15, len : 3, def : ' ' },
22 REC : {start : 15, len : 3, def : ' ' },
23 COM : {start : 15, len : 3, def : ' ' },
28 BKS : {start : 35, len : 3, def : ' ' },
29 SER : {start : 35, len : 3, def : ' ' },
30 VIS : {start : 35, len : 3, def : ' ' },
31 MIX : {start : 35, len : 3, def : ' ' },
32 MAP : {start : 35, len : 3, def : ' ' },
33 SCO : {start : 35, len : 3, def : ' ' },
34 REC : {start : 35, len : 3, def : ' ' },
35 COM : {start : 35, len : 3, def : ' ' },
40 BKS : {start : 38, len : 1, def : ' ' },
41 SER : {start : 38, len : 1, def : ' ' },
42 VIS : {start : 38, len : 1, def : ' ' },
43 MIX : {start : 38, len : 1, def : ' ' },
44 MAP : {start : 38, len : 1, def : ' ' },
45 SCO : {start : 38, len : 1, def : ' ' },
46 REC : {start : 38, len : 1, def : ' ' },
47 COM : {start : 38, len : 1, def : ' ' },
52 BKS : {start : 6, len : 1, def : ' ' },
53 SER : {start : 6, len : 1, def : 'c' },
54 VIS : {start : 6, len : 1, def : ' ' },
55 MIX : {start : 6, len : 1, def : ' ' },
56 MAP : {start : 6, len : 1, def : ' ' },
57 SCO : {start : 6, len : 1, def : ' ' },
58 REC : {start : 6, len : 1, def : ' ' },
59 COM : {start : 6, len : 1, def : ' ' },
64 BKS : {start : 6, len : 1, def : 'a' },
65 SER : {start : 6, len : 1, def : 'a' },
66 VIS : {start : 6, len : 1, def : 'g' },
67 MIX : {start : 6, len : 1, def : 'p' },
68 MAP : {start : 6, len : 1, def : 'e' },
69 SCO : {start : 6, len : 1, def : 'c' },
70 REC : {start : 6, len : 1, def : 'i' },
71 COM : {start : 6, len : 1, def : 'm' },
76 BKS : {start : 8, len : 1, def : ' ' },
77 SER : {start : 8, len : 1, def : ' ' },
78 VIS : {start : 8, len : 1, def : ' ' },
79 MIX : {start : 8, len : 1, def : ' ' },
80 MAP : {start : 8, len : 1, def : ' ' },
81 SCO : {start : 8, len : 1, def : ' ' },
82 REC : {start : 8, len : 1, def : ' ' },
83 COM : {start : 8, len : 1, def : ' ' },
88 BKS : {start : 7, len : 1, def : 'm' },
89 SER : {start : 7, len : 1, def : 's' },
90 VIS : {start : 7, len : 1, def : 'm' },
91 MIX : {start : 7, len : 1, def : 'c' },
92 MAP : {start : 7, len : 1, def : 'm' },
93 SCO : {start : 7, len : 1, def : 'm' },
94 REC : {start : 7, len : 1, def : 'm' },
95 COM : {start : 7, len : 1, def : 'm' },
100 BKS : {start : 18, len : 1, def : ' ' },
101 SER : {start : 18, len : 1, def : ' ' },
102 VIS : {start : 18, len : 1, def : ' ' },
103 MIX : {start : 18, len : 1, def : ' ' },
104 MAP : {start : 18, len : 1, def : ' ' },
105 SCO : {start : 18, len : 1, def : ' ' },
106 REC : {start : 18, len : 1, def : ' ' },
107 COM : {start : 18, len : 1, def : ' ' },
112 BKS : {start : 17, len : 1, def : ' ' },
113 SER : {start : 17, len : 1, def : ' ' },
114 VIS : {start : 17, len : 1, def : ' ' },
115 MIX : {start : 17, len : 1, def : ' ' },
116 MAP : {start : 17, len : 1, def : ' ' },
117 SCO : {start : 17, len : 1, def : ' ' },
118 REC : {start : 17, len : 1, def : ' ' },
119 COM : {start : 17, len : 1, def : ' ' },
124 VIS : {start : 33, len : 1, def : ' ' },
127 VIS : {start : 16, len : 1, def : ' ' },
132 BKS : {start : 31, len : 1, def : '0' },
133 MAP : {start : 31, len : 1, def : '0' },
136 BKS : {start : 14, len : 1, def : '0' },
137 MAP : {start : 14, len : 1, def : '0' },
142 BKS : {start : 7, len : 4, def : ' ' },
143 SER : {start : 7, len : 4, def : ' ' },
144 VIS : {start : 7, len : 4, def : ' ' },
145 MIX : {start : 7, len : 4, def : ' ' },
146 MAP : {start : 7, len : 4, def : ' ' },
147 SCO : {start : 7, len : 4, def : ' ' },
148 REC : {start : 7, len : 4, def : ' ' },
149 COM : {start : 7, len : 4, def : ' ' },
154 BKS : {start : 11, len : 4, def : ' ' },
155 SER : {start : 11, len : 4, def : '9' },
156 VIS : {start : 11, len : 4, def : ' ' },
157 MIX : {start : 11, len : 4, def : ' ' },
158 MAP : {start : 11, len : 4, def : ' ' },
159 SCO : {start : 11, len : 4, def : ' ' },
160 REC : {start : 11, len : 4, def : ' ' },
161 COM : {start : 11, len : 4, def : ' ' },
166 BKS : {start : 33, len : 1, def : '0' },
169 BKS : {start : 16, len : 1, def : '0' },
174 BKS : {start : 34, len : 1, def : ' ' },
177 BKS : {start : 17, len : 1, def : ' ' },
182 BKS : {start : 18, len : 4, def : ' ' },
185 BKS : {start : 1, len : 4, def : ' ' },
190 BKS : {start : 30, len : 1, def : '0' },
193 BKS : {start : 13, len : 1, def : '0' },
198 BKS : {start : 24, len : 4, def : ' ' },
199 SER : {start : 25, len : 3, def : ' ' },
202 BKS : {start : 7, len : 4, def : ' ' },
203 SER : {start : 8, len : 3, def : ' ' },
208 BKS : {start : 28, len : 1, def : ' ' },
209 SER : {start : 28, len : 1, def : ' ' },
210 VIS : {start : 28, len : 1, def : ' ' },
211 MAP : {start : 28, len : 1, def : ' ' },
212 COM : {start : 28, len : 1, def : ' ' },
215 BKS : {start : 11, len : 1, def : ' ' },
216 SER : {start : 11, len : 1, def : ' ' },
217 VIS : {start : 11, len : 1, def : ' ' },
218 MAP : {start : 11, len : 1, def : ' ' },
219 COM : {start : 11, len : 1, def : ' ' },
224 BKS : {start : 22, len : 1, def : ' ' },
225 SER : {start : 22, len : 1, def : ' ' },
226 VIS : {start : 22, len : 1, def : ' ' },
227 SCO : {start : 22, len : 1, def : ' ' },
228 REC : {start : 22, len : 1, def : ' ' },
229 COM : {start : 22, len : 1, def : ' ' },
232 BKS : {start : 5, len : 1, def : ' ' },
233 SER : {start : 5, len : 1, def : ' ' },
234 VIS : {start : 5, len : 1, def : ' ' },
235 SCO : {start : 5, len : 1, def : ' ' },
236 REC : {start : 5, len : 1, def : ' ' },
237 COM : {start : 5, len : 1, def : ' ' },
242 BKS : {start : 23, len : 1, def : ' ' },
243 SER : {start : 23, len : 1, def : ' ' },
244 VIS : {start : 29, len : 1, def : ' ' },
245 MIX : {start : 23, len : 1, def : ' ' },
246 MAP : {start : 29, len : 1, def : ' ' },
247 SCO : {start : 23, len : 1, def : ' ' },
248 REC : {start : 23, len : 1, def : ' ' },
251 BKS : {start : 6, len : 1, def : ' ' },
252 SER : {start : 6, len : 1, def : ' ' },
253 VIS : {start : 12, len : 1, def : ' ' },
254 MIX : {start : 6, len : 1, def : ' ' },
255 MAP : {start : 12, len : 1, def : ' ' },
256 SCO : {start : 6, len : 1, def : ' ' },
257 REC : {start : 6, len : 1, def : ' ' },
262 SER : {start : 34, len : 1, def : '0' },
265 SER : {start : 17, len : 1, def : '0' },
270 SER : {start : 33, len : 1, def : ' ' },
273 SER : {start : 16, len : 1, def : ' ' },
278 function recordType (rec) {
280 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
281 var _l = rec.marcns::leader.toString();
283 var _t = _l.substr(ff_pos.Type.ldr.BKS.start, ff_pos.Type.ldr.BKS.len);
284 var _b = _l.substr(ff_pos.BLvl.ldr.BKS.start, ff_pos.BLvl.ldr.BKS.len);
286 for (var t in rec_type) {
287 if (_t.match(rec_type[t].Type) && _b.match(rec_type[t].BLvl)) {
293 function extractFixedField (rec, field) {
295 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
296 var _l = rec.marcns::leader.toString();
297 var _8 = rec.marcns::controlfield.(@tag.match(/008/)).text().toString();
298 var _6 = rec.marcns::controlfield.(@tag.match(/006/)).text().toString();
299 var _7 = rec.marcns::controlfield.(@tag.match(/007/)).text().toString();
301 var rtype = recordType(rec);
305 if (ff_pos[field].ldr) {
306 if (ff_pos[field].ldr[rtype]) {
308 ff_pos[field].ldr[rtype].start,
309 ff_pos[field].ldr[rtype].len
312 } else if (ff_pos[field]._8) {
313 if (ff_pos[field]._8[rtype]) {
315 ff_pos[field]._8[rtype].start,
316 ff_pos[field]._8[rtype].len
321 if (!val && ff_pos[field]._6) {
322 if (ff_pos[field]._6[rtype]) {
324 ff_pos[field]._6[rtype].start,
325 ff_pos[field]._6[rtype].len