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}/ }
13 var physical_characteristics = {
15 label : "Electronic Resource",
20 values: { a : "Tape Cartridge",
22 c : "Computer optical disk cartridge",
26 m : "Magneto-optical disk",
36 values: { a : "One color",
37 b : "Black-and-white",
49 values: { a : "3 1/2 in.",
51 g : "4 3/4 in. or 12 cm.",
52 i : "1 1/8 x 2 3/8 in.",
53 j : "3 7/8 x 2 1/2 in.",
64 values: { ' ' : "No sound (Silent)",
71 label : "Image bit depth",
72 values: { mmm : "Multiple",
73 nnn : "Not applicable",
79 label : "File formats",
80 values: { a : "One file format",
81 m : "Multiple file formats",
87 label : "Quality assurance target(s)",
88 values: { a : "Absent",
96 label : "Antecedent/Source",
97 values: { a : "File reproduced from original",
98 b : "File reproduced from microform",
99 c : "File reproduced from electronic resource",
100 d : "File reproduced from an intermediate (not microform)",
102 n : "Not applicable",
108 label : "Level of compression",
109 values: { a : "Uncompressed",
118 label : "Reformatting quality",
119 values: { a : "Access",
120 n : "Not applicable",
134 values: { a : "Celestial globe",
135 b : "Planetary or lunar globe",
136 c : "Terrestrial globe",
137 e : "Earth moon globe",
145 values: { a : "One color",
151 label : "Physical medium",
152 values: { a : "Paper",
166 label : "Type of reproduction",
167 values: { f : "Facsimile",
168 n : "Not applicable",
181 values: { d : "Atlas",
186 r : "Remote-sensing image",
196 values: { a : "One color",
202 label : "Physical medium",
203 values: { a : "Paper",
211 q : "Flexible base photographic medium, positive",
212 r : "Flexible base photographic medium, negative",
213 s : "Non-flexible base photographic medium, positive",
214 t : "Non-flexible base photographic medium, negative",
216 y : "Other photographic medium",
222 label : "Type of reproduction",
223 values: { f : "Facsimile",
224 n : "Not applicable",
231 label : "Production/reproduction details",
232 values: { a : "Photocopy, blueline print",
234 c : "Pre-production",
242 label : "Positive/negative",
243 values: { a : "Positive",
246 n : "Not applicable",
257 values: { a : "Aperture card",
258 b : "Microfilm cartridge",
259 c : "Microfilm cassette",
260 d : "Microfilm reel",
262 f : "Microfiche cassette",
270 label : "Positive/negative",
271 values: { a : "Positive",
279 label : "Dimensions",
280 values: { a : "8 mm.",
285 l : "3 x 5 in. (8 x 13 cm.)",
286 m : "4 x 6 in. (11 x 15 cm.)",
287 o : "6 x 9 in. (16 x 23 cm.)",
288 p : "3 1/4 x 7 3/8 in. (9 x 19 cm.)",
295 label : "Reduction ratio range/Reduction ratio",
296 values: { a : "Low (1-16x)",
297 b : "Normal (16-30x)",
299 d : "Very high (61-90x)",
302 v : "Reduction ratio varies",
308 values: { b : "Black-and-white",
317 label : "Emulsion on film",
318 values: { a : "Silver halide",
322 n : "Not applicable",
329 label : "Quality assurance target(s)",
330 values: { a : "1st gen. master",
331 b : "Printing master",
333 m : "Mixed generation",
339 label : "Base of film",
340 values: { a : "Safety base, undetermined",
341 c : "Safety base, acetate undetermined",
342 d : "Safety base, diacetate",
345 n : "Not applicable",
346 p : "Safety base, polyester",
347 r : "Safety base, mixed",
348 t : "Safety base, triacetate",
356 label : "Motion Picture",
361 values: { a : "Film cartridge",
371 values: { b : "Black-and-white",
381 label : "Motion picture presentation format",
382 values: { a : "Standard sound aperture, reduced frame",
383 b : "Nonanamorphic (wide-screen)",
385 d : "Anamorphic (wide-screen)",
386 e : "Other-wide screen format",
387 f : "Standard. silent aperture, full frame",
394 label : "Sound on medium or separate",
395 values: { a : "Sound on medium",
396 b : "Sound separate from medium",
402 label : "Medium for sound",
403 values: { a : "Optical sound track on motion picture film",
404 b : "Magnetic sound track on motion picture film",
405 c : "Magnetic audio tape in cartridge",
407 e : "Magnetic audio tape on reel",
408 f : "Magnetic audio tape in cassette",
409 g : "Optical and magnetic sound track on film",
418 label : "Dimensions",
419 values: { a : "Standard 8 mm.",
420 b : "Super 8 mm./single 8 mm.",
432 label : "Configuration of playback channels",
433 values: { k : "Mixed",
435 n : "Not applicable",
436 q : "Multichannel, surround or quadraphonic",
444 label : "Production elements",
445 values: { a : "Work print",
450 f : "Title bands/inter-title rolls",
451 g : "Production rolls",
452 n : "Not applicable",
459 label : "Non-projected Graphic",
464 values: { c : "Collage",
467 f : "Photo-mechanical print",
472 l : "Technical drawing",
474 o : "Flash/activity card",
482 values: { a : "One color",
483 b : "Black-and-white",
493 label : "Primary support material",
494 values: { a : "Canvas",
496 c : "Cardboard/illustration board",
502 m : "Mixed collection",
515 label : "Secondary support material",
516 values: { a : "Canvas",
518 c : "Cardboard/illustration board",
524 m : "Mixed collection",
538 label : "Projected Graphic",
543 values: { c : "Film cartridge",
545 f : "Film filmstrip type",
546 o : "Filmstrip roll",
555 values: { b : "Black-and-white",
559 n : "Not applicable",
566 label : "Base of emulsion",
567 values: { d : "Glass",
570 k : "Film base, other than safety film",
571 m : "Mixed collection",
579 label : "Sound on medium or separate",
580 values: { a : "Sound on medium",
581 b : "Sound separate from medium",
587 label : "Medium for sound",
588 values: { a : "Optical sound track on motion picture film",
589 b : "Magnetic sound track on motion picture film",
590 c : "Magnetic audio tape in cartridge",
592 e : "Magnetic audio tape on reel",
593 f : "Magnetic audio tape in cassette",
594 g : "Optical and magnetic sound track on film",
603 label : "Dimensions",
604 values: { a : "Standard 8 mm.",
605 b : "Super 8 mm./single 8 mm.",
611 j : "2 x 2 in. (5 x 5 cm.)",
612 k : "2 1/4 x 2 1/4 in. (6 x 6 cm.)",
613 s : "4 x 5 in. (10 x 13 cm.)",
614 t : "5 x 7 in. (13 x 18 cm.)",
615 v : "8 x 10 in. (21 x 26 cm.)",
616 w : "9 x 9 in. (23 x 23 cm.)",
617 x : "10 x 10 in. (26 x 26 cm.)",
618 y : "7 x 7 in. (18 x 18 cm.)",
625 label : "Secondary support material",
626 values: { c : "Cardboard",
630 j : "Metal and glass",
631 k : "Synthetics and glass",
632 m : "Mixed collection",
640 label : "Remote-sensing Image",
645 values: { u : "Unspecified" },
649 label : "Altitude of sensor",
650 values: { a : "Surface",
653 n : "Not applicable",
660 label : "Attitude of sensor",
661 values: { a : "Low oblique",
664 n : "Not applicable",
670 label : "Cloud cover",
671 values: { 0 : "0-09%",
681 n : "Not applicable",
687 label : "Platform construction type",
688 values: { a : "Balloon",
689 b : "Aircraft-low altitude",
690 c : "Aircraft-medium altitude",
691 d : "Aircraft-high altitude",
692 e : "Manned spacecraft",
693 f : "Unmanned spacecraft",
694 g : "Land-based remote-sensing device",
695 h : "Water surface-based remote-sensing device",
696 i : "Submersible remote-sensing device",
697 n : "Not applicable",
704 label : "Platform use category",
705 values: { a : "Meteorological",
706 b : "Surface observing",
707 c : "Space observing",
709 n : "Not applicable",
716 label : "Sensor type",
717 values: { a : "Active",
726 values: { nn : "Not applicable",
729 aa : "Visible light",
730 da : "Near infrared",
731 db : "Middle infrared",
733 dd : "Thermal infrared",
734 de : "Shortwave infrared (SWIR)",
735 df : "Reflective infrared",
737 dz : "Other infrared data",
738 ga : "Sidelooking airborne radar (SLAR)",
739 gb : "Synthetic aperture radar (SAR-single frequency)",
740 gc : "SAR-multi-frequency (multichannel)",
741 gd : "SAR-like polarization",
742 ge : "SAR-cross polarization",
743 gf : "Infometric SAR",
744 gg : "Polarmetric SAR",
745 gu : "Passive microwave mapping",
746 gz : "Other microwave data",
747 ja : "Far ultraviolet",
748 jb : "Middle ultraviolet",
749 jc : "Near ultraviolet",
750 jv : "Ultraviolet combinations",
751 jz : "Other ultraviolet data",
752 ma : "Multi-spectral, multidata",
753 mb : "Multi-temporal",
754 mm : "Combination of various data types",
755 pa : "Sonar-water depth",
756 pb : "Sonar-bottom topography images, sidescan",
757 pc : "Sonar-bottom topography, near-surface",
758 pd : "Sonar-bottom topography, near-bottom",
759 pe : "Seismic surveys",
760 pz : "Other acoustical data",
761 ra : "Gravity anomales (general)",
765 sa : "Magnetic field",
766 ta : "Radiometric surveys",
772 label : "Sound Recording",
777 values: { d : "Sound disc",
779 g : "Sound cartridge",
780 i : "Sound-track film",
782 s : "Sound cassette",
783 t : "Sound-tape reel",
785 w : "Wire recording",
792 values: { a : "16 rpm",
812 label : "Configuration of playback channels",
813 values: { m : "Monaural",
822 label : "Groove width or pitch",
823 values: { m : "Microgroove/fine",
824 n : "Not applicable",
825 s : "Coarse/standard",
832 label : "Dimensions",
833 values: { a : "3 in.",
839 g : "4 3/4 in. (12 cm.)",
840 j : "3 7/8 x 2 1/2 in.",
841 o : "5 1/4 x 3 7/8 in.",
843 n : "Not applicable",
850 label : "Tape width",
851 values: { l : "1/8 in.",
853 n : "Not applicable",
862 label : "Tape configuration ",
863 values: { a : "Full (1) track",
864 b : "Half (2) track",
865 c : "Quarter (4) track",
869 n : "Not applicable",
876 label : "Special playback",
877 values: { a : "NAB standard",
879 c : "Dolby-B encoded, standard Dolby",
881 e : "Digital recording",
882 f : "Dolby-A encoded",
883 g : "Dolby-C encoded",
885 n : "Not applicable",
892 label : "Capture and storage",
893 values: { a : "Acoustical capture, direct storage",
894 b : "Direct storage, not acoustical",
895 d : "Digital storage",
896 e : "Analog electrical storage",
904 label : "Tactile Material",
909 values: { a : "Moon",
912 d : "Tactile, with no writing system",
919 label : "Class of braille writing",
920 values: { a : "Literary braille",
921 b : "Format code braille",
922 c : "Mathematics and scientific braille",
923 d : "Computer braille",
925 m : "Multiple braille types",
926 n : "Not applicable",
933 label : "Level of contraction",
934 values: { a : "Uncontracted",
937 n : "Not applicable",
944 label : "Braille music format",
945 values: { a : "Bar over bar",
947 c : "Line over line",
950 f : "Section by section",
953 i : "Spanner short form scoring",
954 j : "Short form scoring",
956 l : "Vertical score",
957 n : "Not applicable",
964 label : "Special physical characteristics",
965 values: { a : "Print/braille",
966 b : "Jumbo or enlarged braille",
967 n : "Not applicable",
975 label : "Videorecording",
980 values: { c : "Videocartridge",
991 values: { b : "Black-and-white",
994 n : "Not applicable",
1001 label : "Videorecording format",
1002 values: { a : "Beta",
1024 label : "Sound on medium or separate",
1025 values: { a : "Sound on medium",
1026 b : "Sound separate from medium",
1032 label : "Medium for sound",
1033 values: { a : "Optical sound track on motion picture film",
1034 b : "Magnetic sound track on motion picture film",
1035 c : "Magnetic audio tape in cartridge",
1037 e : "Magnetic audio tape on reel",
1038 f : "Magnetic audio tape in cassette",
1039 g : "Optical and magnetic sound track on motion picture film",
1048 label : "Dimensions",
1049 values: { a : "8 mm.",
1061 label : "Configuration of playback channel",
1062 values: { k : "Mixed",
1064 n : "Not applicable",
1065 q : "Multichannel, surround or quadraphonic",
1079 BKS : {start : 15, len : 3, def : ' ' },
1080 SER : {start : 15, len : 3, def : ' ' },
1081 VIS : {start : 15, len : 3, def : ' ' },
1082 MIX : {start : 15, len : 3, def : ' ' },
1083 MAP : {start : 15, len : 3, def : ' ' },
1084 SCO : {start : 15, len : 3, def : ' ' },
1085 REC : {start : 15, len : 3, def : ' ' },
1086 COM : {start : 15, len : 3, def : ' ' },
1091 BKS : {start : 35, len : 3, def : ' ' },
1092 SER : {start : 35, len : 3, def : ' ' },
1093 VIS : {start : 35, len : 3, def : ' ' },
1094 MIX : {start : 35, len : 3, def : ' ' },
1095 MAP : {start : 35, len : 3, def : ' ' },
1096 SCO : {start : 35, len : 3, def : ' ' },
1097 REC : {start : 35, len : 3, def : ' ' },
1098 COM : {start : 35, len : 3, def : ' ' },
1103 BKS : {start : 38, len : 1, def : ' ' },
1104 SER : {start : 38, len : 1, def : ' ' },
1105 VIS : {start : 38, len : 1, def : ' ' },
1106 MIX : {start : 38, len : 1, def : ' ' },
1107 MAP : {start : 38, len : 1, def : ' ' },
1108 SCO : {start : 38, len : 1, def : ' ' },
1109 REC : {start : 38, len : 1, def : ' ' },
1110 COM : {start : 38, len : 1, def : ' ' },
1115 BKS : {start : 6, len : 1, def : ' ' },
1116 SER : {start : 6, len : 1, def : 'c' },
1117 VIS : {start : 6, len : 1, def : ' ' },
1118 MIX : {start : 6, len : 1, def : ' ' },
1119 MAP : {start : 6, len : 1, def : ' ' },
1120 SCO : {start : 6, len : 1, def : ' ' },
1121 REC : {start : 6, len : 1, def : ' ' },
1122 COM : {start : 6, len : 1, def : ' ' },
1127 BKS : {start : 6, len : 1, def : 'a' },
1128 SER : {start : 6, len : 1, def : 'a' },
1129 VIS : {start : 6, len : 1, def : 'g' },
1130 MIX : {start : 6, len : 1, def : 'p' },
1131 MAP : {start : 6, len : 1, def : 'e' },
1132 SCO : {start : 6, len : 1, def : 'c' },
1133 REC : {start : 6, len : 1, def : 'i' },
1134 COM : {start : 6, len : 1, def : 'm' },
1139 BKS : {start : 8, len : 1, def : ' ' },
1140 SER : {start : 8, len : 1, def : ' ' },
1141 VIS : {start : 8, len : 1, def : ' ' },
1142 MIX : {start : 8, len : 1, def : ' ' },
1143 MAP : {start : 8, len : 1, def : ' ' },
1144 SCO : {start : 8, len : 1, def : ' ' },
1145 REC : {start : 8, len : 1, def : ' ' },
1146 COM : {start : 8, len : 1, def : ' ' },
1151 BKS : {start : 7, len : 1, def : 'm' },
1152 SER : {start : 7, len : 1, def : 's' },
1153 VIS : {start : 7, len : 1, def : 'm' },
1154 MIX : {start : 7, len : 1, def : 'c' },
1155 MAP : {start : 7, len : 1, def : 'm' },
1156 SCO : {start : 7, len : 1, def : 'm' },
1157 REC : {start : 7, len : 1, def : 'm' },
1158 COM : {start : 7, len : 1, def : 'm' },
1163 BKS : {start : 18, len : 1, def : ' ' },
1164 SER : {start : 18, len : 1, def : ' ' },
1165 VIS : {start : 18, len : 1, def : ' ' },
1166 MIX : {start : 18, len : 1, def : ' ' },
1167 MAP : {start : 18, len : 1, def : ' ' },
1168 SCO : {start : 18, len : 1, def : ' ' },
1169 REC : {start : 18, len : 1, def : ' ' },
1170 COM : {start : 18, len : 1, def : ' ' },
1175 BKS : {start : 17, len : 1, def : ' ' },
1176 SER : {start : 17, len : 1, def : ' ' },
1177 VIS : {start : 17, len : 1, def : ' ' },
1178 MIX : {start : 17, len : 1, def : ' ' },
1179 MAP : {start : 17, len : 1, def : ' ' },
1180 SCO : {start : 17, len : 1, def : ' ' },
1181 REC : {start : 17, len : 1, def : ' ' },
1182 COM : {start : 17, len : 1, def : ' ' },
1187 VIS : {start : 33, len : 1, def : ' ' },
1190 VIS : {start : 16, len : 1, def : ' ' },
1195 BKS : {start : 31, len : 1, def : '0' },
1196 MAP : {start : 31, len : 1, def : '0' },
1199 BKS : {start : 14, len : 1, def : '0' },
1200 MAP : {start : 14, len : 1, def : '0' },
1205 BKS : {start : 7, len : 4, def : ' ' },
1206 SER : {start : 7, len : 4, def : ' ' },
1207 VIS : {start : 7, len : 4, def : ' ' },
1208 MIX : {start : 7, len : 4, def : ' ' },
1209 MAP : {start : 7, len : 4, def : ' ' },
1210 SCO : {start : 7, len : 4, def : ' ' },
1211 REC : {start : 7, len : 4, def : ' ' },
1212 COM : {start : 7, len : 4, def : ' ' },
1217 BKS : {start : 11, len : 4, def : ' ' },
1218 SER : {start : 11, len : 4, def : '9' },
1219 VIS : {start : 11, len : 4, def : ' ' },
1220 MIX : {start : 11, len : 4, def : ' ' },
1221 MAP : {start : 11, len : 4, def : ' ' },
1222 SCO : {start : 11, len : 4, def : ' ' },
1223 REC : {start : 11, len : 4, def : ' ' },
1224 COM : {start : 11, len : 4, def : ' ' },
1229 BKS : {start : 33, len : 1, def : '0' },
1232 BKS : {start : 16, len : 1, def : '0' },
1237 BKS : {start : 34, len : 1, def : ' ' },
1240 BKS : {start : 17, len : 1, def : ' ' },
1245 BKS : {start : 18, len : 4, def : ' ' },
1248 BKS : {start : 1, len : 4, def : ' ' },
1253 BKS : {start : 30, len : 1, def : '0' },
1256 BKS : {start : 13, len : 1, def : '0' },
1261 BKS : {start : 24, len : 4, def : ' ' },
1262 SER : {start : 25, len : 3, def : ' ' },
1265 BKS : {start : 7, len : 4, def : ' ' },
1266 SER : {start : 8, len : 3, def : ' ' },
1271 BKS : {start : 28, len : 1, def : ' ' },
1272 SER : {start : 28, len : 1, def : ' ' },
1273 VIS : {start : 28, len : 1, def : ' ' },
1274 MAP : {start : 28, len : 1, def : ' ' },
1275 COM : {start : 28, len : 1, def : ' ' },
1278 BKS : {start : 11, len : 1, def : ' ' },
1279 SER : {start : 11, len : 1, def : ' ' },
1280 VIS : {start : 11, len : 1, def : ' ' },
1281 MAP : {start : 11, len : 1, def : ' ' },
1282 COM : {start : 11, len : 1, def : ' ' },
1287 BKS : {start : 22, len : 1, def : ' ' },
1288 SER : {start : 22, len : 1, def : ' ' },
1289 VIS : {start : 22, len : 1, def : ' ' },
1290 SCO : {start : 22, len : 1, def : ' ' },
1291 REC : {start : 22, len : 1, def : ' ' },
1292 COM : {start : 22, len : 1, def : ' ' },
1295 BKS : {start : 5, len : 1, def : ' ' },
1296 SER : {start : 5, len : 1, def : ' ' },
1297 VIS : {start : 5, len : 1, def : ' ' },
1298 SCO : {start : 5, len : 1, def : ' ' },
1299 REC : {start : 5, len : 1, def : ' ' },
1300 COM : {start : 5, len : 1, def : ' ' },
1305 BKS : {start : 23, len : 1, def : ' ' },
1306 SER : {start : 23, len : 1, def : ' ' },
1307 VIS : {start : 29, len : 1, def : ' ' },
1308 MIX : {start : 23, len : 1, def : ' ' },
1309 MAP : {start : 29, len : 1, def : ' ' },
1310 SCO : {start : 23, len : 1, def : ' ' },
1311 REC : {start : 23, len : 1, def : ' ' },
1314 BKS : {start : 6, len : 1, def : ' ' },
1315 SER : {start : 6, len : 1, def : ' ' },
1316 VIS : {start : 12, len : 1, def : ' ' },
1317 MIX : {start : 6, len : 1, def : ' ' },
1318 MAP : {start : 12, len : 1, def : ' ' },
1319 SCO : {start : 6, len : 1, def : ' ' },
1320 REC : {start : 6, len : 1, def : ' ' },
1325 SER : {start : 34, len : 1, def : '0' },
1328 SER : {start : 17, len : 1, def : '0' },
1333 SER : {start : 33, len : 1, def : ' ' },
1336 SER : {start : 16, len : 1, def : ' ' },
1341 function recordType (rec) {
1343 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
1344 var _l = rec.marcns::leader.toString();
1346 var _t = _l.substr(ff_pos.Type.ldr.BKS.start, ff_pos.Type.ldr.BKS.len);
1347 var _b = _l.substr(ff_pos.BLvl.ldr.BKS.start, ff_pos.BLvl.ldr.BKS.len);
1349 for (var t in rec_type) {
1350 if (_t.match(rec_type[t].Type) && _b.match(rec_type[t].BLvl)) {
1356 function videorecordingFormat (rec) {
1357 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
1358 var _7 = rec.marcns::controlfield.(@tag.match(/007/)).text().toString();
1360 if (_7.match(/^v/) {
1361 var _v_e = _7.substr(
1362 physical_characteristics.v.subfields.e.start,
1363 physical_characteristics.v.subfields.e.len
1366 return physical_characteristics.v.subfields.e.values[ _v_e ];
1373 function extractFixedField (rec, field) {
1375 var marcns = new Namespace("http://www.loc.gov/MARC21/slim");
1376 var _l = rec.marcns::leader.toString();
1377 var _8 = rec.marcns::controlfield.(@tag.match(/008/)).text().toString();
1378 var _6 = rec.marcns::controlfield.(@tag.match(/006/)).text().toString();
1380 var rtype = recordType(rec);
1384 if (ff_pos[field].ldr) {
1385 if (ff_pos[field].ldr[rtype]) {
1387 ff_pos[field].ldr[rtype].start,
1388 ff_pos[field].ldr[rtype].len
1391 } else if (ff_pos[field]._8) {
1392 if (ff_pos[field]._8[rtype]) {
1394 ff_pos[field]._8[rtype].start,
1395 ff_pos[field]._8[rtype].len
1400 if (!val && ff_pos[field]._6) {
1401 if (ff_pos[field]._6[rtype]) {
1403 ff_pos[field]._6[rtype].start,
1404 ff_pos[field]._6[rtype].len