--- /dev/null
+/* ---------------------------------------------------------------------------
+ * Copyright (C) 2011 Equinox Software, Inc.
+ * Mike Rylander <miker@esilibrary.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * ---------------------------------------------------------------------------
+ */
+
+if(!dojo._hasResource["MARC.FixedFields"]) {
+
+ dojo.require('MARC.Record');
+
+ dojo._hasResource["MARC.FixedFields"] = true;
+ dojo.provide("MARC.FixedFields");
+
+ MARC.Record._recType = {
+ BKS : { Type : /[at]{1}/, BLvl : /[acdm]{1}/ },
+ SER : { Type : /[a]{1}/, BLvl : /[bsi]{1}/ },
+ VIS : { Type : /[gkro]{1}/, BLvl : /[abcdmsi]{1}/ },
+ MIX : { Type : /[p]{1}/, BLvl : /[cdi]{1}/ },
+ MAP : { Type : /[ef]{1}/, BLvl : /[abcdmsi]{1}/ },
+ SCO : { Type : /[cd]{1}/, BLvl : /[abcdmsi]{1}/ },
+ REC : { Type : /[ij]{1}/, BLvl : /[abcdmsi]{1}/ },
+ COM : { Type : /[m]{1}/, BLvl : /[abcdmsi]{1}/ },
+ AUT : { Type : /[z]{1}/, BLvl : /.{1}/ },
+ MFHD : { Type : /[uvxy]{1}/, BLvl : /.{1}/ }
+ };
+
+ MARC.Record._ff_pos = {
+ Ctry : {
+ _8 : {
+ BKS : {start : 15, len : 3, def : ' ' },
+ SER : {start : 15, len : 3, def : ' ' },
+ VIS : {start : 15, len : 3, def : ' ' },
+ MIX : {start : 15, len : 3, def : ' ' },
+ MAP : {start : 15, len : 3, def : ' ' },
+ SCO : {start : 15, len : 3, def : ' ' },
+ REC : {start : 15, len : 3, def : ' ' },
+ COM : {start : 15, len : 3, def : ' ' },
+ }
+ },
+ Lang : {
+ _8 : {
+ BKS : {start : 35, len : 3, def : ' ' },
+ SER : {start : 35, len : 3, def : ' ' },
+ VIS : {start : 35, len : 3, def : ' ' },
+ MIX : {start : 35, len : 3, def : ' ' },
+ MAP : {start : 35, len : 3, def : ' ' },
+ SCO : {start : 35, len : 3, def : ' ' },
+ REC : {start : 35, len : 3, def : ' ' },
+ COM : {start : 35, len : 3, def : ' ' },
+ }
+ },
+ MRec : {
+ _8 : {
+ BKS : {start : 38, len : 1, def : ' ' },
+ SER : {start : 38, len : 1, def : ' ' },
+ VIS : {start : 38, len : 1, def : ' ' },
+ MIX : {start : 38, len : 1, def : ' ' },
+ MAP : {start : 38, len : 1, def : ' ' },
+ SCO : {start : 38, len : 1, def : ' ' },
+ REC : {start : 38, len : 1, def : ' ' },
+ COM : {start : 38, len : 1, def : ' ' },
+ }
+ },
+ DtSt : {
+ _8 : {
+ BKS : {start : 6, len : 1, def : ' ' },
+ SER : {start : 6, len : 1, def : 'c' },
+ VIS : {start : 6, len : 1, def : ' ' },
+ MIX : {start : 6, len : 1, def : ' ' },
+ MAP : {start : 6, len : 1, def : ' ' },
+ SCO : {start : 6, len : 1, def : ' ' },
+ REC : {start : 6, len : 1, def : ' ' },
+ COM : {start : 6, len : 1, def : ' ' },
+ }
+ },
+ Type : {
+ ldr : {
+ BKS : {start : 6, len : 1, def : 'a' },
+ SER : {start : 6, len : 1, def : 'a' },
+ VIS : {start : 6, len : 1, def : 'g' },
+ MIX : {start : 6, len : 1, def : 'p' },
+ MAP : {start : 6, len : 1, def : 'e' },
+ SCO : {start : 6, len : 1, def : 'c' },
+ REC : {start : 6, len : 1, def : 'i' },
+ COM : {start : 6, len : 1, def : 'm' },
+ AUT : {start : 6, len : 1, def : 'z' },
+ MFHD : {start : 6, len : 1, def : 'y' }
+
+ }
+ },
+ Ctrl : {
+ ldr : {
+ BKS : {start : 8, len : 1, def : ' ' },
+ SER : {start : 8, len : 1, def : ' ' },
+ VIS : {start : 8, len : 1, def : ' ' },
+ MIX : {start : 8, len : 1, def : ' ' },
+ MAP : {start : 8, len : 1, def : ' ' },
+ SCO : {start : 8, len : 1, def : ' ' },
+ REC : {start : 8, len : 1, def : ' ' },
+ COM : {start : 8, len : 1, def : ' ' },
+ }
+ },
+ BLvl : {
+ ldr : {
+ BKS : {start : 7, len : 1, def : 'm' },
+ SER : {start : 7, len : 1, def : 's' },
+ VIS : {start : 7, len : 1, def : 'm' },
+ MIX : {start : 7, len : 1, def : 'c' },
+ MAP : {start : 7, len : 1, def : 'm' },
+ SCO : {start : 7, len : 1, def : 'm' },
+ REC : {start : 7, len : 1, def : 'm' },
+ COM : {start : 7, len : 1, def : 'm' },
+ }
+ },
+ Desc : {
+ ldr : {
+ BKS : {start : 18, len : 1, def : ' ' },
+ SER : {start : 18, len : 1, def : ' ' },
+ VIS : {start : 18, len : 1, def : ' ' },
+ MIX : {start : 18, len : 1, def : ' ' },
+ MAP : {start : 18, len : 1, def : ' ' },
+ SCO : {start : 18, len : 1, def : ' ' },
+ REC : {start : 18, len : 1, def : ' ' },
+ COM : {start : 18, len : 1, def : ' ' },
+ }
+ },
+ Item : {
+ ldr : {
+ MFHD : {start : 18, len : 1, def : 'i' }
+ }
+ },
+ ELvl : {
+ ldr : {
+ BKS : {start : 17, len : 1, def : ' ' },
+ SER : {start : 17, len : 1, def : ' ' },
+ VIS : {start : 17, len : 1, def : ' ' },
+ MIX : {start : 17, len : 1, def : ' ' },
+ MAP : {start : 17, len : 1, def : ' ' },
+ SCO : {start : 17, len : 1, def : ' ' },
+ REC : {start : 17, len : 1, def : ' ' },
+ COM : {start : 17, len : 1, def : ' ' },
+ AUT : {start : 17, len : 1, def : 'n' },
+ MFHD : {start : 17, len : 1, def : 'u' }
+ }
+ },
+ TMat : {
+ _8 : {
+ VIS : {start : 33, len : 1, def : ' ' },
+ },
+ _6 : {
+ VIS : {start : 16, len : 1, def : ' ' },
+ }
+ },
+ Indx : {
+ _8 : {
+ BKS : {start : 31, len : 1, def : '0' },
+ MAP : {start : 31, len : 1, def : '0' },
+ },
+ _6 : {
+ BKS : {start : 14, len : 1, def : '0' },
+ MAP : {start : 14, len : 1, def : '0' },
+ }
+ },
+ Date1 : {
+ _8 : {
+ BKS : {start : 7, len : 4, def : ' ' },
+ SER : {start : 7, len : 4, def : ' ' },
+ VIS : {start : 7, len : 4, def : ' ' },
+ MIX : {start : 7, len : 4, def : ' ' },
+ MAP : {start : 7, len : 4, def : ' ' },
+ SCO : {start : 7, len : 4, def : ' ' },
+ REC : {start : 7, len : 4, def : ' ' },
+ COM : {start : 7, len : 4, def : ' ' },
+ },
+ },
+ Date2 : {
+ _8 : {
+ BKS : {start : 11, len : 4, def : ' ' },
+ SER : {start : 11, len : 4, def : '9' },
+ VIS : {start : 11, len : 4, def : ' ' },
+ MIX : {start : 11, len : 4, def : ' ' },
+ MAP : {start : 11, len : 4, def : ' ' },
+ SCO : {start : 11, len : 4, def : ' ' },
+ REC : {start : 11, len : 4, def : ' ' },
+ COM : {start : 11, len : 4, def : ' ' },
+ },
+ },
+ LitF : {
+ _8 : {
+ BKS : {start : 33, len : 1, def : '0' },
+ },
+ _6 : {
+ BKS : {start : 16, len : 1, def : '0' },
+ }
+ },
+ Biog : {
+ _8 : {
+ BKS : {start : 34, len : 1, def : ' ' },
+ },
+ _6 : {
+ BKS : {start : 17, len : 1, def : ' ' },
+ }
+ },
+ Ills : {
+ _8 : {
+ BKS : {start : 18, len : 4, def : ' ' },
+ },
+ _6 : {
+ BKS : {start : 1, len : 4, def : ' ' },
+ }
+ },
+ Fest : {
+ _8 : {
+ BKS : {start : 30, len : 1, def : '0' },
+ },
+ _6 : {
+ BKS : {start : 13, len : 1, def : '0' },
+ }
+ },
+ Conf : {
+ _8 : {
+ BKS : {start : 24, len : 4, def : ' ' },
+ SER : {start : 25, len : 3, def : ' ' },
+ },
+ _6 : {
+ BKS : {start : 7, len : 4, def : ' ' },
+ SER : {start : 8, len : 3, def : ' ' },
+ }
+ },
+ GPub : {
+ _8 : {
+ BKS : {start : 28, len : 1, def : ' ' },
+ SER : {start : 28, len : 1, def : ' ' },
+ VIS : {start : 28, len : 1, def : ' ' },
+ MAP : {start : 28, len : 1, def : ' ' },
+ COM : {start : 28, len : 1, def : ' ' },
+ },
+ _6 : {
+ BKS : {start : 11, len : 1, def : ' ' },
+ SER : {start : 11, len : 1, def : ' ' },
+ VIS : {start : 11, len : 1, def : ' ' },
+ MAP : {start : 11, len : 1, def : ' ' },
+ COM : {start : 11, len : 1, def : ' ' },
+ }
+ },
+ Audn : {
+ _8 : {
+ BKS : {start : 22, len : 1, def : ' ' },
+ SER : {start : 22, len : 1, def : ' ' },
+ VIS : {start : 22, len : 1, def : ' ' },
+ SCO : {start : 22, len : 1, def : ' ' },
+ REC : {start : 22, len : 1, def : ' ' },
+ COM : {start : 22, len : 1, def : ' ' },
+ },
+ _6 : {
+ BKS : {start : 5, len : 1, def : ' ' },
+ SER : {start : 5, len : 1, def : ' ' },
+ VIS : {start : 5, len : 1, def : ' ' },
+ SCO : {start : 5, len : 1, def : ' ' },
+ REC : {start : 5, len : 1, def : ' ' },
+ COM : {start : 5, len : 1, def : ' ' },
+ }
+ },
+ Form : {
+ _8 : {
+ BKS : {start : 23, len : 1, def : ' ' },
+ SER : {start : 23, len : 1, def : ' ' },
+ VIS : {start : 29, len : 1, def : ' ' },
+ MIX : {start : 23, len : 1, def : ' ' },
+ MAP : {start : 29, len : 1, def : ' ' },
+ SCO : {start : 23, len : 1, def : ' ' },
+ REC : {start : 23, len : 1, def : ' ' },
+ },
+ _6 : {
+ BKS : {start : 6, len : 1, def : ' ' },
+ SER : {start : 6, len : 1, def : ' ' },
+ VIS : {start : 12, len : 1, def : ' ' },
+ MIX : {start : 6, len : 1, def : ' ' },
+ MAP : {start : 12, len : 1, def : ' ' },
+ SCO : {start : 6, len : 1, def : ' ' },
+ REC : {start : 6, len : 1, def : ' ' },
+ }
+ },
+ 'S/L' : {
+ _8 : {
+ SER : {start : 34, len : 1, def : '0' },
+ },
+ _6 : {
+ SER : {start : 17, len : 1, def : '0' },
+ }
+ },
+ 'Alph' : {
+ _8 : {
+ SER : {start : 33, len : 1, def : ' ' },
+ },
+ _6 : {
+ SER : {start : 16, len : 1, def : ' ' },
+ }
+ },
+ "GeoDiv" : {
+ "_8" : {
+ "AUT" : {"start" : 6, "len" : 1, "def" : ' ' }
+ }
+ },
+ "Roman" : {
+ "_8" : {
+ "AUT" : {"start" : 7, "len" : 1, "def" : ' ' }
+ }
+ },
+ "CatLang" : {
+ "_8" : {
+ "AUT" : {"start" : 8, "len" : 1, "def" : ' ' }
+ }
+ },
+ "Kind" : {
+ "_8" : {
+ "AUT" : {"start" : 9, "len" : 1, "def" : ' ' }
+ }
+ },
+ "Rules" : {
+ "_8" : {
+ "AUT" : {"start" : 10, "len" : 1, "def" : ' ' }
+ }
+ },
+ "SHSys" : {
+ "_8" : {
+ "AUT" : {"start" : 11, "len" : 1, "def" : ' ' }
+ }
+ },
+ "SerType" : {
+ "_8" : {
+ "AUT" : {"start" : 12, "len" : 1, "def" : ' ' }
+ }
+ },
+ "SerNum" : {
+ "_8" : {
+ "AUT" : {"start" : 13, "len" : 1, "def" : ' ' }
+ }
+ },
+ "HeadMain" : {
+ "_8" : {
+ "AUT" : {"start" : 14, "len" : 1, "def" : ' ' }
+ }
+ },
+ "HeadSubj" : {
+ "_8" : {
+ "AUT" : {"start" : 15, "len" : 1, "def" : ' ' }
+ }
+ },
+ "HeadSer" : {
+ "_8" : {
+ "AUT" : {"start" : 16, "len" : 1, "def" : ' ' }
+ }
+ },
+ "TypeSubd" : {
+ "_8" : {
+ "AUT" : {"start" : 17, "len" : 1, "def" : ' ' }
+ }
+ },
+ "TypeGov" : {
+ "_8" : {
+ "AUT" : {"start" : 28, "len" : 1, "def" : ' ' }
+ }
+ },
+ "RefEval" : {
+ "_8" : {
+ "AUT" : {"start" : 29, "len" : 1, "def" : ' ' }
+ }
+ },
+ "RecUpd" : {
+ "_8" : {
+ "AUT" : {"start" : 31, "len" : 1, "def" : ' ' }
+ }
+ },
+ "NameDiff" : {
+ "_8" : {
+ "AUT" : {"start" : 32, "len" : 1, "def" : ' ' }
+ }
+ },
+ "Level" : {
+ "_8" : {
+ "AUT" : {"start" : 33, "len" : 1, "def" : ' ' }
+ }
+ },
+ "ModRec" : {
+ "_8" : {
+ "AUT" : {"start" : 38, "len" : 1, "def" : ' ' }
+ }
+ },
+ "CatSrc" : {
+ "_8" : {
+ "AUT" : {"start" : 39, "len" : 1, "def" : ' ' }
+ }
+ }
+ };
+
+ MARC.Record._physical_characteristics = {
+ c : {
+ label : "Electronic Resource",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { a : "Tape Cartridge",
+ b : "Chip cartridge",
+ c : "Computer optical disk cartridge",
+ f : "Tape cassette",
+ h : "Tape reel",
+ j : "Magnetic disk",
+ m : "Magneto-optical disk",
+ o : "Optical disk",
+ r : "Remote",
+ u : "Unspecified",
+ z : "Other",
+ },
+ },
+ d : { start : 3,
+ len : 1,
+ label : "Color",
+ values: { a : "One color",
+ b : "Black-and-white",
+ c : "Multicolored",
+ g : "Gray scale",
+ m : "Mixed",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Dimensions",
+ values: { a : "3 1/2 in.",
+ e : "12 in.",
+ g : "4 3/4 in. or 12 cm.",
+ i : "1 1/8 x 2 3/8 in.",
+ j : "3 7/8 x 2 1/2 in.",
+ n : "Not applicable",
+ o : "5 1/4 in.",
+ u : "Unknown",
+ v : "8 in.",
+ z : "Other",
+ },
+ },
+ f : { start : 5,
+ len : 1,
+ label : "Sound",
+ values: { ' ' : "No sound (Silent)",
+ a : "Sound",
+ u : "Unknown",
+ },
+ },
+ g : { start : 6,
+ len : 3,
+ label : "Image bit depth",
+ values: { mmm : "Multiple",
+ nnn : "Not applicable",
+ '---' : "Unknown",
+ },
+ },
+ h : { start : 9,
+ len : 1,
+ label : "File formats",
+ values: { a : "One file format",
+ m : "Multiple file formats",
+ u : "Unknown",
+ },
+ },
+ i : { start : 10,
+ len : 1,
+ label : "Quality assurance target(s)",
+ values: { a : "Absent",
+ n : "Not applicable",
+ p : "Present",
+ u : "Unknown",
+ },
+ },
+ j : { start : 11,
+ len : 1,
+ label : "Antecedent/Source",
+ values: { a : "File reproduced from original",
+ b : "File reproduced from microform",
+ c : "File reproduced from electronic resource",
+ d : "File reproduced from an intermediate (not microform)",
+ m : "Mixed",
+ n : "Not applicable",
+ u : "Unknown",
+ },
+ },
+ k : { start : 12,
+ len : 1,
+ label : "Level of compression",
+ values: { a : "Uncompressed",
+ b : "Lossless",
+ d : "Lossy",
+ m : "Mixed",
+ u : "Unknown",
+ },
+ },
+ l : { start : 13,
+ len : 1,
+ label : "Reformatting quality",
+ values: { a : "Access",
+ n : "Not applicable",
+ p : "Preservation",
+ r : "Replacement",
+ u : "Unknown",
+ },
+ },
+ },
+ },
+ d : {
+ label : "Globe",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { a : "Celestial globe",
+ b : "Planetary or lunar globe",
+ c : "Terrestrial globe",
+ e : "Earth moon globe",
+ u : "Unspecified",
+ z : "Other",
+ },
+ },
+ d : { start : 3,
+ len : 1,
+ label : "Color",
+ values: { a : "One color",
+ c : "Multicolored",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Physical medium",
+ values: { a : "Paper",
+ b : "Wood",
+ c : "Stone",
+ d : "Metal",
+ e : "Synthetics",
+ f : "Skins",
+ g : "Textile",
+ p : "Plaster",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ f : { start : 5,
+ len : 1,
+ label : "Type of reproduction",
+ values: { f : "Facsimile",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ },
+ },
+ a : {
+ label : "Map",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { d : "Atlas",
+ g : "Diagram",
+ j : "Map",
+ k : "Profile",
+ q : "Model",
+ r : "Remote-sensing image",
+ s : "Section",
+ u : "Unspecified",
+ y : "View",
+ z : "Other",
+ },
+ },
+ d : { start : 3,
+ len : 1,
+ label : "Color",
+ values: { a : "One color",
+ c : "Multicolored",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Physical medium",
+ values: { a : "Paper",
+ b : "Wood",
+ c : "Stone",
+ d : "Metal",
+ e : "Synthetics",
+ f : "Skins",
+ g : "Textile",
+ p : "Plaster",
+ q : "Flexible base photographic medium, positive",
+ r : "Flexible base photographic medium, negative",
+ s : "Non-flexible base photographic medium, positive",
+ t : "Non-flexible base photographic medium, negative",
+ u : "Unknown",
+ y : "Other photographic medium",
+ z : "Other",
+ },
+ },
+ f : { start : 5,
+ len : 1,
+ label : "Type of reproduction",
+ values: { f : "Facsimile",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ g : { start : 6,
+ len : 1,
+ label : "Production/reproduction details",
+ values: { a : "Photocopy, blueline print",
+ b : "Photocopy",
+ c : "Pre-production",
+ d : "Film",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ h : { start : 7,
+ len : 1,
+ label : "Positive/negative",
+ values: { a : "Positive",
+ b : "Negative",
+ m : "Mixed",
+ n : "Not applicable",
+ },
+ },
+ },
+ },
+ h : {
+ label : "Microform",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { a : "Aperture card",
+ b : "Microfilm cartridge",
+ c : "Microfilm cassette",
+ d : "Microfilm reel",
+ e : "Microfiche",
+ f : "Microfiche cassette",
+ g : "Microopaque",
+ u : "Unspecified",
+ z : "Other",
+ },
+ },
+ d : { start : 3,
+ len : 1,
+ label : "Positive/negative",
+ values: { a : "Positive",
+ b : "Negative",
+ m : "Mixed",
+ u : "Unknown",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Dimensions",
+ values: { a : "8 mm.",
+ e : "16 mm.",
+ f : "35 mm.",
+ g : "70mm.",
+ h : "105 mm.",
+ l : "3 x 5 in. (8 x 13 cm.)",
+ m : "4 x 6 in. (11 x 15 cm.)",
+ o : "6 x 9 in. (16 x 23 cm.)",
+ p : "3 1/4 x 7 3/8 in. (9 x 19 cm.)",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ f : { start : 5,
+ len : 4,
+ label : "Reduction ratio range/Reduction ratio",
+ values: { a : "Low (1-16x)",
+ b : "Normal (16-30x)",
+ c : "High (31-60x)",
+ d : "Very high (61-90x)",
+ e : "Ultra (90x-)",
+ u : "Unknown",
+ v : "Reduction ratio varies",
+ },
+ },
+ g : { start : 9,
+ len : 1,
+ label : "Color",
+ values: { b : "Black-and-white",
+ c : "Multicolored",
+ m : "Mixed",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ h : { start : 10,
+ len : 1,
+ label : "Emulsion on film",
+ values: { a : "Silver halide",
+ b : "Diazo",
+ c : "Vesicular",
+ m : "Mixed",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ i : { start : 11,
+ len : 1,
+ label : "Quality assurance target(s)",
+ values: { a : "1st gen. master",
+ b : "Printing master",
+ c : "Service copy",
+ m : "Mixed generation",
+ u : "Unknown",
+ },
+ },
+ j : { start : 12,
+ len : 1,
+ label : "Base of film",
+ values: { a : "Safety base, undetermined",
+ c : "Safety base, acetate undetermined",
+ d : "Safety base, diacetate",
+ l : "Nitrate base",
+ m : "Mixed base",
+ n : "Not applicable",
+ p : "Safety base, polyester",
+ r : "Safety base, mixed",
+ t : "Safety base, triacetate",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ },
+ },
+ m : {
+ label : "Motion Picture",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { a : "Film cartridge",
+ f : "Film cassette",
+ r : "Film reel",
+ u : "Unspecified",
+ z : "Other",
+ },
+ },
+ d : { start : 3,
+ len : 1,
+ label : "Color",
+ values: { b : "Black-and-white",
+ c : "Multicolored",
+ h : "Hand-colored",
+ m : "Mixed",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Motion picture presentation format",
+ values: { a : "Standard sound aperture, reduced frame",
+ b : "Nonanamorphic (wide-screen)",
+ c : "3D",
+ d : "Anamorphic (wide-screen)",
+ e : "Other-wide screen format",
+ f : "Standard. silent aperture, full frame",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ f : { start : 5,
+ len : 1,
+ label : "Sound on medium or separate",
+ values: { a : "Sound on medium",
+ b : "Sound separate from medium",
+ u : "Unknown",
+ },
+ },
+ g : { start : 6,
+ len : 1,
+ label : "Medium for sound",
+ values: { a : "Optical sound track on motion picture film",
+ b : "Magnetic sound track on motion picture film",
+ c : "Magnetic audio tape in cartridge",
+ d : "Sound disc",
+ e : "Magnetic audio tape on reel",
+ f : "Magnetic audio tape in cassette",
+ g : "Optical and magnetic sound track on film",
+ h : "Videotape",
+ i : "Videodisc",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ h : { start : 7,
+ len : 1,
+ label : "Dimensions",
+ values: { a : "Standard 8 mm.",
+ b : "Super 8 mm./single 8 mm.",
+ c : "9.5 mm.",
+ d : "16 mm.",
+ e : "28 mm.",
+ f : "35 mm.",
+ g : "70 mm.",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ i : { start : 8,
+ len : 1,
+ label : "Configuration of playback channels",
+ values: { k : "Mixed",
+ m : "Monaural",
+ n : "Not applicable",
+ q : "Multichannel, surround or quadraphonic",
+ s : "Stereophonic",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ j : { start : 9,
+ len : 1,
+ label : "Production elements",
+ values: { a : "Work print",
+ b : "Trims",
+ c : "Outtakes",
+ d : "Rushes",
+ e : "Mixing tracks",
+ f : "Title bands/inter-title rolls",
+ g : "Production rolls",
+ n : "Not applicable",
+ z : "Other",
+ },
+ },
+ },
+ },
+ k : {
+ label : "Non-projected Graphic",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { c : "Collage",
+ d : "Drawing",
+ e : "Painting",
+ f : "Photo-mechanical print",
+ g : "Photonegative",
+ h : "Photoprint",
+ i : "Picture",
+ j : "Print",
+ l : "Technical drawing",
+ n : "Chart",
+ o : "Flash/activity card",
+ u : "Unspecified",
+ z : "Other",
+ },
+ },
+ d : { start : 3,
+ len : 1,
+ label : "Color",
+ values: { a : "One color",
+ b : "Black-and-white",
+ c : "Multicolored",
+ h : "Hand-colored",
+ m : "Mixed",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Primary support material",
+ values: { a : "Canvas",
+ b : "Bristol board",
+ c : "Cardboard/illustration board",
+ d : "Glass",
+ e : "Synthetics",
+ f : "Skins",
+ g : "Textile",
+ h : "Metal",
+ m : "Mixed collection",
+ o : "Paper",
+ p : "Plaster",
+ q : "Hardboard",
+ r : "Porcelain",
+ s : "Stone",
+ t : "Wood",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ f : { start : 5,
+ len : 1,
+ label : "Secondary support material",
+ values: { a : "Canvas",
+ b : "Bristol board",
+ c : "Cardboard/illustration board",
+ d : "Glass",
+ e : "Synthetics",
+ f : "Skins",
+ g : "Textile",
+ h : "Metal",
+ m : "Mixed collection",
+ o : "Paper",
+ p : "Plaster",
+ q : "Hardboard",
+ r : "Porcelain",
+ s : "Stone",
+ t : "Wood",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ },
+ },
+ g : {
+ label : "Projected Graphic",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { c : "Film cartridge",
+ d : "Filmstrip",
+ f : "Film filmstrip type",
+ o : "Filmstrip roll",
+ s : "Slide",
+ t : "Transparency",
+ z : "Other",
+ },
+ },
+ d : { start : 3,
+ len : 1,
+ label : "Color",
+ values: { b : "Black-and-white",
+ c : "Multicolored",
+ h : "Hand-colored",
+ m : "Mixed",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Base of emulsion",
+ values: { d : "Glass",
+ e : "Synthetics",
+ j : "Safety film",
+ k : "Film base, other than safety film",
+ m : "Mixed collection",
+ o : "Paper",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ f : { start : 5,
+ len : 1,
+ label : "Sound on medium or separate",
+ values: { a : "Sound on medium",
+ b : "Sound separate from medium",
+ u : "Unknown",
+ },
+ },
+ g : { start : 6,
+ len : 1,
+ label : "Medium for sound",
+ values: { a : "Optical sound track on motion picture film",
+ b : "Magnetic sound track on motion picture film",
+ c : "Magnetic audio tape in cartridge",
+ d : "Sound disc",
+ e : "Magnetic audio tape on reel",
+ f : "Magnetic audio tape in cassette",
+ g : "Optical and magnetic sound track on film",
+ h : "Videotape",
+ i : "Videodisc",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ h : { start : 7,
+ len : 1,
+ label : "Dimensions",
+ values: { a : "Standard 8 mm.",
+ b : "Super 8 mm./single 8 mm.",
+ c : "9.5 mm.",
+ d : "16 mm.",
+ e : "28 mm.",
+ f : "35 mm.",
+ g : "70 mm.",
+ j : "2 x 2 in. (5 x 5 cm.)",
+ k : "2 1/4 x 2 1/4 in. (6 x 6 cm.)",
+ s : "4 x 5 in. (10 x 13 cm.)",
+ t : "5 x 7 in. (13 x 18 cm.)",
+ v : "8 x 10 in. (21 x 26 cm.)",
+ w : "9 x 9 in. (23 x 23 cm.)",
+ x : "10 x 10 in. (26 x 26 cm.)",
+ y : "7 x 7 in. (18 x 18 cm.)",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ i : { start : 8,
+ len : 1,
+ label : "Secondary support material",
+ values: { c : "Cardboard",
+ d : "Glass",
+ e : "Synthetics",
+ h : "metal",
+ j : "Metal and glass",
+ k : "Synthetics and glass",
+ m : "Mixed collection",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ },
+ },
+ r : {
+ label : "Remote-sensing Image",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { u : "Unspecified" },
+ },
+ d : { start : 3,
+ len : 1,
+ label : "Altitude of sensor",
+ values: { a : "Surface",
+ b : "Airborne",
+ c : "Spaceborne",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Attitude of sensor",
+ values: { a : "Low oblique",
+ b : "High oblique",
+ c : "Vertical",
+ n : "Not applicable",
+ u : "Unknown",
+ },
+ },
+ f : { start : 5,
+ len : 1,
+ label : "Cloud cover",
+ values: { 0 : "0-09%",
+ 1 : "10-19%",
+ 2 : "20-29%",
+ 3 : "30-39%",
+ 4 : "40-49%",
+ 5 : "50-59%",
+ 6 : "60-69%",
+ 7 : "70-79%",
+ 8 : "80-89%",
+ 9 : "90-100%",
+ n : "Not applicable",
+ u : "Unknown",
+ },
+ },
+ g : { start : 6,
+ len : 1,
+ label : "Platform construction type",
+ values: { a : "Balloon",
+ b : "Aircraft-low altitude",
+ c : "Aircraft-medium altitude",
+ d : "Aircraft-high altitude",
+ e : "Manned spacecraft",
+ f : "Unmanned spacecraft",
+ g : "Land-based remote-sensing device",
+ h : "Water surface-based remote-sensing device",
+ i : "Submersible remote-sensing device",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ h : { start : 7,
+ len : 1,
+ label : "Platform use category",
+ values: { a : "Meteorological",
+ b : "Surface observing",
+ c : "Space observing",
+ m : "Mixed uses",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ i : { start : 8,
+ len : 1,
+ label : "Sensor type",
+ values: { a : "Active",
+ b : "Passive",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ j : { start : 9,
+ len : 2,
+ label : "Data type",
+ values: { nn : "Not applicable",
+ uu : "Unknown",
+ zz : "Other",
+ aa : "Visible light",
+ da : "Near infrared",
+ db : "Middle infrared",
+ dc : "Far infrared",
+ dd : "Thermal infrared",
+ de : "Shortwave infrared (SWIR)",
+ df : "Reflective infrared",
+ dv : "Combinations",
+ dz : "Other infrared data",
+ ga : "Sidelooking airborne radar (SLAR)",
+ gb : "Synthetic aperture radar (SAR-single frequency)",
+ gc : "SAR-multi-frequency (multichannel)",
+ gd : "SAR-like polarization",
+ ge : "SAR-cross polarization",
+ gf : "Infometric SAR",
+ gg : "Polarmetric SAR",
+ gu : "Passive microwave mapping",
+ gz : "Other microwave data",
+ ja : "Far ultraviolet",
+ jb : "Middle ultraviolet",
+ jc : "Near ultraviolet",
+ jv : "Ultraviolet combinations",
+ jz : "Other ultraviolet data",
+ ma : "Multi-spectral, multidata",
+ mb : "Multi-temporal",
+ mm : "Combination of various data types",
+ pa : "Sonar-water depth",
+ pb : "Sonar-bottom topography images, sidescan",
+ pc : "Sonar-bottom topography, near-surface",
+ pd : "Sonar-bottom topography, near-bottom",
+ pe : "Seismic surveys",
+ pz : "Other acoustical data",
+ ra : "Gravity anomales (general)",
+ rb : "Free-air",
+ rc : "Bouger",
+ rd : "Isostatic",
+ sa : "Magnetic field",
+ ta : "Radiometric surveys",
+ },
+ },
+ },
+ },
+ s : {
+ label : "Sound Recording",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { d : "Sound disc",
+ e : "Cylinder",
+ g : "Sound cartridge",
+ i : "Sound-track film",
+ q : "Roll",
+ s : "Sound cassette",
+ t : "Sound-tape reel",
+ u : "Unspecified",
+ w : "Wire recording",
+ z : "Other",
+ },
+ },
+ d : { start : 3,
+ len : 1,
+ label : "Speed",
+ values: { a : "16 rpm",
+ b : "33 1/3 rpm",
+ c : "45 rpm",
+ d : "78 rpm",
+ e : "8 rpm",
+ f : "1.4 mps",
+ h : "120 rpm",
+ i : "160 rpm",
+ k : "15/16 ips",
+ l : "1 7/8 ips",
+ m : "3 3/4 ips",
+ o : "7 1/2 ips",
+ p : "15 ips",
+ r : "30 ips",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Configuration of playback channels",
+ values: { m : "Monaural",
+ q : "Quadraphonic",
+ s : "Stereophonic",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ f : { start : 5,
+ len : 1,
+ label : "Groove width or pitch",
+ values: { m : "Microgroove/fine",
+ n : "Not applicable",
+ s : "Coarse/standard",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ g : { start : 6,
+ len : 1,
+ label : "Dimensions",
+ values: { a : "3 in.",
+ b : "5 in.",
+ c : "7 in.",
+ d : "10 in.",
+ e : "12 in.",
+ f : "16 in.",
+ g : "4 3/4 in. (12 cm.)",
+ j : "3 7/8 x 2 1/2 in.",
+ o : "5 1/4 x 3 7/8 in.",
+ s : "2 3/4 x 4 in.",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ h : { start : 7,
+ len : 1,
+ label : "Tape width",
+ values: { l : "1/8 in.",
+ m : "1/4in.",
+ n : "Not applicable",
+ o : "1/2 in.",
+ p : "1 in.",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ i : { start : 8,
+ len : 1,
+ label : "Tape configuration ",
+ values: { a : "Full (1) track",
+ b : "Half (2) track",
+ c : "Quarter (4) track",
+ d : "8 track",
+ e : "12 track",
+ f : "16 track",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ m : { start : 12,
+ len : 1,
+ label : "Special playback",
+ values: { a : "NAB standard",
+ b : "CCIR standard",
+ c : "Dolby-B encoded, standard Dolby",
+ d : "dbx encoded",
+ e : "Digital recording",
+ f : "Dolby-A encoded",
+ g : "Dolby-C encoded",
+ h : "CX encoded",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ n : { start : 13,
+ len : 1,
+ label : "Capture and storage",
+ values: { a : "Acoustical capture, direct storage",
+ b : "Direct storage, not acoustical",
+ d : "Digital storage",
+ e : "Analog electrical storage",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ },
+ },
+ f : {
+ label : "Tactile Material",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { a : "Moon",
+ b : "Braille",
+ c : "Combination",
+ d : "Tactile, with no writing system",
+ u : "Unspecified",
+ z : "Other",
+ },
+ },
+ d : { start : 3,
+ len : 2,
+ label : "Class of braille writing",
+ values: { a : "Literary braille",
+ b : "Format code braille",
+ c : "Mathematics and scientific braille",
+ d : "Computer braille",
+ e : "Music braille",
+ m : "Multiple braille types",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Level of contraction",
+ values: { a : "Uncontracted",
+ b : "Contracted",
+ m : "Combination",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ f : { start : 6,
+ len : 3,
+ label : "Braille music format",
+ values: { a : "Bar over bar",
+ b : "Bar by bar",
+ c : "Line over line",
+ d : "Paragraph",
+ e : "Single line",
+ f : "Section by section",
+ g : "Line by line",
+ h : "Open score",
+ i : "Spanner short form scoring",
+ j : "Short form scoring",
+ k : "Outline",
+ l : "Vertical score",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ g : { start : 9,
+ len : 1,
+ label : "Special physical characteristics",
+ values: { a : "Print/braille",
+ b : "Jumbo or enlarged braille",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ },
+ },
+ v : {
+ label : "Videorecording",
+ subfields : {
+ b : { start : 1,
+ len : 1,
+ label : "SMD",
+ values: { c : "Videocartridge",
+ d : "Videodisc",
+ f : "Videocassette",
+ r : "Videoreel",
+ u : "Unspecified",
+ z : "Other",
+ },
+ },
+ d : { start : 3,
+ len : 1,
+ label : "Color",
+ values: { b : "Black-and-white",
+ c : "Multicolored",
+ m : "Mixed",
+ n : "Not applicable",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ e : { start : 4,
+ len : 1,
+ label : "Videorecording format",
+ values: { a : "Beta",
+ b : "VHS",
+ c : "U-matic",
+ d : "EIAJ",
+ e : "Type C",
+ f : "Quadruplex",
+ g : "Laserdisc",
+ h : "CED",
+ i : "Betacam",
+ j : "Betacam SP",
+ k : "Super-VHS",
+ m : "M-II",
+ o : "D-2",
+ p : "8 mm.",
+ q : "Hi-8 mm.",
+ u : "Unknown",
+ v : "DVD",
+ z : "Other",
+ },
+ },
+ f : { start : 5,
+ len : 1,
+ label : "Sound on medium or separate",
+ values: { a : "Sound on medium",
+ b : "Sound separate from medium",
+ u : "Unknown",
+ },
+ },
+ g : { start : 6,
+ len : 1,
+ label : "Medium for sound",
+ values: { a : "Optical sound track on motion picture film",
+ b : "Magnetic sound track on motion picture film",
+ c : "Magnetic audio tape in cartridge",
+ d : "Sound disc",
+ e : "Magnetic audio tape on reel",
+ f : "Magnetic audio tape in cassette",
+ g : "Optical and magnetic sound track on motion picture film",
+ h : "Videotape",
+ i : "Videodisc",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ h : { start : 7,
+ len : 1,
+ label : "Dimensions",
+ values: { a : "8 mm.",
+ m : "1/4 in.",
+ o : "1/2 in.",
+ p : "1 in.",
+ q : "2 in.",
+ r : "3/4 in.",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ i : { start : 8,
+ len : 1,
+ label : "Configuration of playback channel",
+ values: { k : "Mixed",
+ m : "Monaural",
+ n : "Not applicable",
+ q : "Multichannel, surround or quadraphonic",
+ s : "Stereophonic",
+ u : "Unknown",
+ z : "Other",
+ },
+ },
+ },
+ },
+ };
+
+ MARC.Record.prototype.recordType = function () {
+
+ var _t = this.leader.substr(MARC.Record._ff_pos.Type.ldr.BKS.start, MARC.Record._ff_pos.Type.ldr.BKS.len);
+ var _b = this.leader.substr(MARC.Record._ff_pos.BLvl.ldr.BKS.start, MARC.Record._ff_pos.BLvl.ldr.BKS.len);
+
+ for (var t in MARC.Record._recType) {
+ if (_t.match(MARC.Record._recType[t].Type) && _b.match(MARC.Record._recType[t].BLvl)) {
+ return t;
+ }
+ }
+ return 'BKS'; // default
+ }
+
+ MARC.Record.prototype.videorecordingFormatName = function () {
+ var _7 = this.field('007');
+
+ if (_7.match(/^v/)) {
+ var _v_e = _7.substr(
+ MARC.Record._physical_characteristics.v.subfields.e.start,
+ MARC.Record._physical_characteristics.v.subfields.e.len
+ );
+
+ return MARC.Record._physical_characteristics.v.subfields.e.values[ _v_e ];
+ }
+
+ return null;
+ }
+
+ MARC.Record.prototype.videorecordingFormatCode = function () {
+ var _7 = this.field('007');
+
+ if (_7.match(/^v/)) {
+ return _7.substr(
+ MARC.Record._physical_characteristics.v.subfields.e.start,
+ MARC.Record._physical_characteristics.v.subfields.e.len
+ );
+ }
+
+ return null;
+ }
+
+ MARC.Record.prototype.extractFixedField = function (field, dflt) {
+
+ var _l = this.field('007');
+ var _8 = this.field('008');
+ var _6 = this.field('006');
+
+ var rtype = this.recordType();
+
+ var val;
+
+ if (MARC.Record._ff_pos[field].ldr) {
+ if (MARC.Record._ff_pos[field].ldr[rtype]) {
+ val = _l.substr(
+ MARC.Record._ff_pos[field].ldr[rtype].start,
+ MARC.Record._ff_pos[field].ldr[rtype].len
+ );
+ }
+ } else if (MARC.Record._ff_pos[field]._8) {
+ if (MARC.Record._ff_pos[field]._8[rtype]) {
+ val = _8.substr(
+ MARC.Record._ff_pos[field]._8[rtype].start,
+ MARC.Record._ff_pos[field]._8[rtype].len
+ );
+ }
+ }
+
+ if (!val && MARC.Record._ff_pos[field]._6) {
+ if (MARC.Record._ff_pos[field]._6[rtype]) {
+ val = _6.substr(
+ MARC.Record._ff_pos[field]._6[rtype].start,
+ MARC.Record._ff_pos[field]._6[rtype].len
+ );
+ }
+ }
+
+ if (!val && dflt) {
+ val = '';
+ var d;
+ var p;
+ if (MARC.Record._ff_pos[name].ldr && MARC.Record._ff_pos[name].ldr[rtype]) {
+ d = MARC.Record._ff_pos[name].ldr[rtype].def;
+ p = 'ldr';
+ }
+
+ if (MARC.Record._ff_pos[name]._8 && MARC.Record._ff_pos[name]._8[rtype]) {
+ d = MARC.Record._ff_pos[name]._8[rtype].def;
+ p = '_8';
+ }
+
+ if (!val && MARC.Record._ff_pos[name]._6 && MARC.Record._ff_pos[name]._6[rtype]) {
+ d = MARC.Record._ff_pos[name]._6[rtype].def;
+ p = '_6';
+ }
+
+ if (p) {
+ for (var j = 0; j < MARC.Record._ff_pos[name][p][rtype].len; j++) {
+ val += d;
+ }
+ } else {
+ val = null;
+ }
+ }
+
+ return val;
+ }
+}
function set_flat_editor (useFlatText) {
- dojo.require('MARC.Record');
-
var xe = $('xul-editor');
var te = $('text-editor');
// reset the xml record and rerender it
xml_record = new XML( xml_string );
- loadRecord(xml_record);
+ if (xml_record..record[0]) xml_record = xml_record..record[0];
+ loadRecord();
} else {
var xml_string = xml_record.toXMLString();
'mangle_005(); ' +
'var xml_string = xml_escape_unicode( xml_record.toXMLString() ); ' +
'save_attempt( xml_string ); ' +
- 'loadRecord(xml_record);'
+ 'loadRecord();'
);
if (window.xulG.record.url) {
}
req.send(null);
- loadRecord(xml_record);
+ loadRecord();
if (! xulG.fast_add_item) {
document.getElementById('fastItemAdd_checkbox').hidden = true;
buildBibSourceList(authtoken, xulG.record.id);
}
+ dojo.require('MARC.FixedFields');
+
} catch(E) {
alert('FIXME, MARC Editor, my_init: ' + E);
}
}
} else if (event.keyCode == 64 && event.ctrlKey) { // ctrl + F6
createControlField('006',' ');
- loadRecord(xml_record);
+ loadRecord();
} else if (event.keyCode == 65 && event.ctrlKey) { // ctrl + F7
createControlField('007',' ');
- loadRecord(xml_record);
+ loadRecord();
} else if (event.keyCode == 66 && event.ctrlKey) { // ctrl + F8
createControlField('008',' ');
- loadRecord(xml_record);
+ loadRecord();
}
return true;
'keyup',
function () {
if (element.localName() == 'controlfield')
- eval('fillFixedFields(xml_record);');
+ eval('fillFixedFields();');
},
true
);
return box;
}
-var rec_type = {
- BKS : { Type : /[at]{1}/, BLvl : /[acdm]{1}/ },
- SER : { Type : /[a]{1}/, BLvl : /[bs]{1}/ },
- VIS : { Type : /[gkro]{1}/, BLvl : /[abcdms]{1}/ },
- MIX : { Type : /[p]{1}/, BLvl : /[cd]{1}/ },
- MAP : { Type : /[ef]{1}/, BLvl : /[abcdms]{1}/ },
- SCO : { Type : /[cd]{1}/, BLvl : /[abcdms]{1}/ },
- REC : { Type : /[ij]{1}/, BLvl : /[abcdms]{1}/ },
- COM : { Type : /[m]{1}/, BLvl : /[abcdms]{1}/ },
- AUT : { Type : /[z]{1}/, BLvl : /.{1}/ },
- MFHD : { Type : /[uvxy]{1}/, BLvl : /.{1}/ }
-};
-
-var ff_pos = {
- TrAr : {
- _8 : {
- SCO : {start : 33, len : 1, def : ' ' },
- REC : {start : 33, len : 1, def : 'n' }
- },
- _6 : {
- SCO : {start : 16, len : 1, def : ' ' },
- REC : {start : 16, len : 1, def : 'n' }
- }
- },
- TMat : {
- _8 : {
- VIS : {start : 33, len : 1, def : ' ' }
- },
- _6 : {
- VIS : {start : 16, len : 1, def : ' ' }
- }
- },
- Time : {
- _8 : {
- VIS : {start : 18, len : 3, def : ' ' }
- },
- _6 : {
- VIS : {start : 1, len : 3, def : ' ' }
- }
- },
- Tech : {
- _8 : {
- VIS : {start : 34, len : 1, def : 'n' }
- },
- _6 : {
- VIS : {start : 17, len : 1, def : 'n' }
- }
- },
- SrTp : {
- _8 : {
- SER : {start : 21, len : 1, def : ' ' }
- },
- _6 : {
- SER : {start : 4, len : 1, def : ' ' }
- }
- },
- Srce : {
- _8 : {
- BKS : {start : 39, len : 1, def : 'd' },
- SER : {start : 39, len : 1, def : 'd' },
- VIS : {start : 39, len : 1, def : 'd' },
- MIX : {start : 39, len : 1, def : 'd' },
- MAP : {start : 39, len : 1, def : 'd' },
- SCO : {start : 39, len : 1, def : 'd' },
- REC : {start : 39, len : 1, def : 'd' },
- COM : {start : 39, len : 1, def : 'd' }
- }
- },
- SpFm : {
- _8 : {
- MAP : {start : 33, len : 2, def : ' ' }
- },
- _6 : {
- MAP : {start : 16, len : 2, def : ' ' }
- }
- },
- Relf : {
- _8 : {
- MAP : {start : 18, len : 4, def : ' ' }
- },
- _6 : {
- MAP : {start : 1, len : 4, def : ' ' }
- }
- },
- Regl : {
- _8 : {
- SER : {start : 19, len : 1, def : ' ' }
- },
- _6 : {
- SER : {start : 2, len : 1, def : ' ' }
- }
- },
- Proj : {
- _8 : {
- MAP : {start : 22, len : 2, def : ' ' }
- },
- _6 : {
- MAP : {start : 5, len : 2, def : ' ' }
- }
- },
- Part : {
- _8 : {
- SCO : {start : 21, len : 1, def : ' ' },
- REC : {start : 21, len : 1, def : 'n' }
- },
- _6 : {
- SCO : {start : 4, len : 1, def : ' ' },
- REC : {start : 4, len : 1, def : 'n' }
- }
- },
- Orig : {
- _8 : {
- SER : {start : 22, len : 1, def : ' ' }
- },
- _6 : {
- SER : {start : 5, len : 1, def : ' ' }
- }
- },
- LTxt : {
- _8 : {
- SCO : {start : 30, len : 2, def : ' ' },
- REC : {start : 30, len : 2, def : ' ' }
- },
- _6 : {
- SCO : {start : 13, len : 2, def : ' ' },
- REC : {start : 13, len : 2, def : ' ' }
- }
- },
- Freq : {
- _8 : {
- SER : {start : 18, len : 1, def : ' ' }
- },
- _6 : {
- SER : {start : 1, len : 1, def : ' ' }
- }
- },
- FMus : {
- _8 : {
- SCO : {start : 20, len : 1, def : ' ' },
- REC : {start : 20, len : 1, def : 'n' }
- },
- _6 : {
- SCO : {start : 3, len : 1, def : ' ' },
- REC : {start : 3, len : 1, def : 'n' }
- }
- },
- File : {
- _8 : {
- COM : {start : 26, len : 1, def : 'u' }
- },
- _6 : {
- COM : {start : 9, len : 1, def : 'u' }
- }
- },
- EntW : {
- _8 : {
- SER : {start : 24, len : 1, def : ' ' }
- },
- _6 : {
- SER : {start : 7, len : 1, def : ' ' }
- }
- },
- AccM : {
- _8 : {
- SCO : {start : 24, len : 6, def : ' ' },
- REC : {start : 24, len : 6, def : ' ' }
- },
- _6 : {
- SCO : {start : 7, len : 6, def : ' ' },
- REC : {start : 7, len : 6, def : ' ' }
- }
- },
- Comp : {
- _8 : {
- SCO : {start : 18, len : 2, def : ' ' },
- REC : {start : 18, len : 2, def : ' ' }
- },
- _6 : {
- SCO : {start : 1, len : 2, def : ' ' },
- REC : {start : 1, len : 2, def : ' ' }
- }
- },
- CrTp : {
- _8 : {
- MAP : {start : 25, len : 1, def : ' ' }
- },
- _6 : {
- MAP : {start : 8, len : 1, def : ' ' }
- }
- },
- Ctry : {
- _8 : {
- BKS : {start : 15, len : 3, def : ' ' },
- SER : {start : 15, len : 3, def : ' ' },
- VIS : {start : 15, len : 3, def : ' ' },
- MIX : {start : 15, len : 3, def : ' ' },
- MAP : {start : 15, len : 3, def : ' ' },
- SCO : {start : 15, len : 3, def : ' ' },
- REC : {start : 15, len : 3, def : ' ' },
- COM : {start : 15, len : 3, def : ' ' }
- }
- },
- Lang : {
- _8 : {
- BKS : {start : 35, len : 3, def : ' ' },
- SER : {start : 35, len : 3, def : ' ' },
- VIS : {start : 35, len : 3, def : ' ' },
- MIX : {start : 35, len : 3, def : ' ' },
- MAP : {start : 35, len : 3, def : ' ' },
- SCO : {start : 35, len : 3, def : ' ' },
- REC : {start : 35, len : 3, def : ' ' },
- COM : {start : 35, len : 3, def : ' ' }
- }
- },
- MRec : {
- _8 : {
- BKS : {start : 38, len : 1, def : ' ' },
- SER : {start : 38, len : 1, def : ' ' },
- VIS : {start : 38, len : 1, def : ' ' },
- MIX : {start : 38, len : 1, def : ' ' },
- MAP : {start : 38, len : 1, def : ' ' },
- SCO : {start : 38, len : 1, def : ' ' },
- REC : {start : 38, len : 1, def : ' ' },
- COM : {start : 38, len : 1, def : ' ' }
- }
- },
- DtSt : {
- _8 : {
- BKS : {start : 6, len : 1, def : ' ' },
- SER : {start : 6, len : 1, def : 'c' },
- VIS : {start : 6, len : 1, def : ' ' },
- MIX : {start : 6, len : 1, def : ' ' },
- MAP : {start : 6, len : 1, def : ' ' },
- SCO : {start : 6, len : 1, def : ' ' },
- REC : {start : 6, len : 1, def : ' ' },
- COM : {start : 6, len : 1, def : ' ' }
- }
- },
- Type : {
- ldr : {
- BKS : {start : 6, len : 1, def : 'a' },
- SER : {start : 6, len : 1, def : 'a' },
- VIS : {start : 6, len : 1, def : 'g' },
- MIX : {start : 6, len : 1, def : 'p' },
- MAP : {start : 6, len : 1, def : 'e' },
- SCO : {start : 6, len : 1, def : 'c' },
- REC : {start : 6, len : 1, def : 'i' },
- COM : {start : 6, len : 1, def : 'm' },
- AUT : {start : 6, len : 1, def : 'z' },
- MFHD : {start : 6, len : 1, def : 'y' }
- }
- },
- Ctrl : {
- ldr : {
- BKS : {start : 8, len : 1, def : ' ' },
- SER : {start : 8, len : 1, def : ' ' },
- VIS : {start : 8, len : 1, def : ' ' },
- MIX : {start : 8, len : 1, def : ' ' },
- MAP : {start : 8, len : 1, def : ' ' },
- SCO : {start : 8, len : 1, def : ' ' },
- REC : {start : 8, len : 1, def : ' ' },
- COM : {start : 8, len : 1, def : ' ' }
- }
- },
- BLvl : {
- ldr : {
- BKS : {start : 7, len : 1, def : 'm' },
- SER : {start : 7, len : 1, def : 's' },
- VIS : {start : 7, len : 1, def : 'm' },
- MIX : {start : 7, len : 1, def : 'c' },
- MAP : {start : 7, len : 1, def : 'm' },
- SCO : {start : 7, len : 1, def : 'm' },
- REC : {start : 7, len : 1, def : 'm' },
- COM : {start : 7, len : 1, def : 'm' }
- }
- },
- Desc : {
- ldr : {
- BKS : {start : 18, len : 1, def : ' ' },
- SER : {start : 18, len : 1, def : ' ' },
- VIS : {start : 18, len : 1, def : ' ' },
- MIX : {start : 18, len : 1, def : ' ' },
- MAP : {start : 18, len : 1, def : ' ' },
- SCO : {start : 18, len : 1, def : ' ' },
- REC : {start : 18, len : 1, def : ' ' },
- COM : {start : 18, len : 1, def : 'i' }
- }
- },
- Item : {
- ldr : {
- MFHD : {start : 18, len : 1, def : 'i' }
- }
- },
- ELvl : {
- ldr : {
- BKS : {start : 17, len : 1, def : ' ' },
- SER : {start : 17, len : 1, def : ' ' },
- VIS : {start : 17, len : 1, def : ' ' },
- MIX : {start : 17, len : 1, def : ' ' },
- MAP : {start : 17, len : 1, def : ' ' },
- SCO : {start : 17, len : 1, def : ' ' },
- REC : {start : 17, len : 1, def : ' ' },
- COM : {start : 17, len : 1, def : ' ' },
- AUT : {start : 17, len : 1, def : 'n' },
- MFHD : {start : 17, len : 1, def : 'u' }
- }
- },
- Indx : {
- _8 : {
- BKS : {start : 31, len : 1, def : '0' },
- MAP : {start : 31, len : 1, def : '0' }
- },
- _6 : {
- BKS : {start : 14, len : 1, def : '0' },
- MAP : {start : 14, len : 1, def : '0' }
- }
- },
- Date1 : {
- _8 : {
- BKS : {start : 7, len : 4, def : ' ' },
- SER : {start : 7, len : 4, def : ' ' },
- VIS : {start : 7, len : 4, def : ' ' },
- MIX : {start : 7, len : 4, def : ' ' },
- MAP : {start : 7, len : 4, def : ' ' },
- SCO : {start : 7, len : 4, def : ' ' },
- REC : {start : 7, len : 4, def : ' ' },
- COM : {start : 7, len : 4, def : ' ' }
- }
- },
- Date2 : {
- _8 : {
- BKS : {start : 11, len : 4, def : ' ' },
- SER : {start : 11, len : 4, def : '9' },
- VIS : {start : 11, len : 4, def : ' ' },
- MIX : {start : 11, len : 4, def : ' ' },
- MAP : {start : 11, len : 4, def : ' ' },
- SCO : {start : 11, len : 4, def : ' ' },
- REC : {start : 11, len : 4, def : ' ' },
- COM : {start : 11, len : 4, def : ' ' }
- }
- },
- LitF : {
- _8 : {
- BKS : {start : 33, len : 1, def : '0' }
- },
- _6 : {
- BKS : {start : 16, len : 1, def : '0' }
- }
- },
- Biog : {
- _8 : {
- BKS : {start : 34, len : 1, def : ' ' }
- },
- _6 : {
- BKS : {start : 17, len : 1, def : ' ' }
- }
- },
- Ills : {
- _8 : {
- BKS : {start : 18, len : 4, def : ' ' }
- },
- _6 : {
- BKS : {start : 1, len : 4, def : ' ' }
- }
- },
- Fest : {
- _8 : {
- BKS : {start : 30, len : 1, def : '0' }
- },
- _6 : {
- BKS : {start : 13, len : 1, def : '0' }
- }
- },
- Conf : {
- _8 : {
- BKS : {start : 29, len : 1, def : '0' },
- SER : {start : 29, len : 1, def : '0' }
- },
- _6 : {
- BKS : {start : 12, len : 1, def : '0' },
- SER : {start : 12, len : 1, def : '0' }
- }
- },
- Cont : {
- _8 : {
- BKS : {start : 24, len : 4, def : ' ' },
- SER : {start : 25, len : 3, def : ' ' }
- },
- _6 : {
- BKS : {start : 7, len : 4, def : ' ' },
- SER : {start : 8, len : 3, def : ' ' }
- }
- },
- GPub : {
- _8 : {
- BKS : {start : 28, len : 1, def : ' ' },
- SER : {start : 28, len : 1, def : ' ' },
- VIS : {start : 28, len : 1, def : ' ' },
- MAP : {start : 28, len : 1, def : ' ' },
- COM : {start : 28, len : 1, def : ' ' }
- },
- _6 : {
- BKS : {start : 11, len : 1, def : ' ' },
- SER : {start : 11, len : 1, def : ' ' },
- VIS : {start : 11, len : 1, def : ' ' },
- MAP : {start : 11, len : 1, def : ' ' },
- COM : {start : 11, len : 1, def : ' ' }
- }
- },
- Audn : {
- _8 : {
- BKS : {start : 22, len : 1, def : ' ' },
- SER : {start : 22, len : 1, def : ' ' },
- VIS : {start : 22, len : 1, def : ' ' },
- SCO : {start : 22, len : 1, def : ' ' },
- REC : {start : 22, len : 1, def : ' ' },
- COM : {start : 22, len : 1, def : ' ' }
- },
- _6 : {
- BKS : {start : 5, len : 1, def : ' ' },
- SER : {start : 5, len : 1, def : ' ' },
- VIS : {start : 5, len : 1, def : ' ' },
- SCO : {start : 5, len : 1, def : ' ' },
- REC : {start : 5, len : 1, def : ' ' },
- COM : {start : 5, len : 1, def : ' ' }
- }
- },
- Form : {
- _8 : {
- BKS : {start : 23, len : 1, def : ' ' },
- SER : {start : 23, len : 1, def : ' ' },
- VIS : {start : 29, len : 1, def : ' ' },
- MIX : {start : 23, len : 1, def : ' ' },
- MAP : {start : 29, len : 1, def : ' ' },
- SCO : {start : 23, len : 1, def : ' ' },
- REC : {start : 23, len : 1, def : ' ' }
- },
- _6 : {
- BKS : {start : 6, len : 1, def : ' ' },
- SER : {start : 6, len : 1, def : ' ' },
- VIS : {start : 12, len : 1, def : ' ' },
- MIX : {start : 6, len : 1, def : ' ' },
- MAP : {start : 12, len : 1, def : ' ' },
- SCO : {start : 6, len : 1, def : ' ' },
- REC : {start : 6, len : 1, def : ' ' }
- }
- },
- 'S/L' : {
- _8 : {
- SER : {start : 34, len : 1, def : '0' }
- },
- _6 : {
- SER : {start : 17, len : 1, def : '0' }
- }
- },
- 'Alph' : {
- _8 : {
- SER : {start : 33, len : 1, def : ' ' }
- },
- _6 : {
- SER : {start : 16, len : 1, def : ' ' }
- }
- },
- "GeoDiv" : {
- "_8" : {
- "AUT" : {"start" : 6, "len" : 1, "def" : ' ' }
- }
- },
- "Roman" : {
- "_8" : {
- "AUT" : {"start" : 7, "len" : 1, "def" : ' ' }
- }
- },
- "CatLang" : {
- "_8" : {
- "AUT" : {"start" : 8, "len" : 1, "def" : ' ' }
- }
- },
- "Kind" : {
- "_8" : {
- "AUT" : {"start" : 9, "len" : 1, "def" : ' ' }
- }
- },
- "Rules" : {
- "_8" : {
- "AUT" : {"start" : 10, "len" : 1, "def" : ' ' }
- }
- },
- "SHSys" : {
- "_8" : {
- "AUT" : {"start" : 11, "len" : 1, "def" : ' ' }
- }
- },
- "SerType" : {
- "_8" : {
- "AUT" : {"start" : 12, "len" : 1, "def" : ' ' }
- }
- },
- "SerNum" : {
- "_8" : {
- "AUT" : {"start" : 13, "len" : 1, "def" : ' ' }
- }
- },
- "HeadMain" : {
- "_8" : {
- "AUT" : {"start" : 14, "len" : 1, "def" : ' ' }
- }
- },
- "HeadSubj" : {
- "_8" : {
- "AUT" : {"start" : 15, "len" : 1, "def" : ' ' }
- }
- },
- "HeadSer" : {
- "_8" : {
- "AUT" : {"start" : 16, "len" : 1, "def" : ' ' }
- }
- },
- "TypeSubd" : {
- "_8" : {
- "AUT" : {"start" : 17, "len" : 1, "def" : ' ' }
- }
- },
- "TypeGov" : {
- "_8" : {
- "AUT" : {"start" : 28, "len" : 1, "def" : ' ' }
- }
- },
- "RefEval" : {
- "_8" : {
- "AUT" : {"start" : 29, "len" : 1, "def" : ' ' }
- }
- },
- "RecUpd" : {
- "_8" : {
- "AUT" : {"start" : 31, "len" : 1, "def" : ' ' }
- }
- },
- "NameDiff" : {
- "_8" : {
- "AUT" : {"start" : 32, "len" : 1, "def" : ' ' }
- }
- },
- "Level" : {
- "_8" : {
- "AUT" : {"start" : 33, "len" : 1, "def" : ' ' }
- }
- },
- "ModRec" : {
- "_8" : {
- "AUT" : {"start" : 38, "len" : 1, "def" : ' ' }
- }
- },
- "CatSrc" : {
- "_8" : {
- "AUT" : {"start" : 39, "len" : 1, "def" : ' ' }
- }
- }
-};
-
-function recordType (rec) {
- try {
- var _l = rec.leader.toString();
-
- var _t = _l.substr(ff_pos.Type.ldr.BKS.start, ff_pos.Type.ldr.BKS.len);
- var _b = _l.substr(ff_pos.BLvl.ldr.BKS.start, ff_pos.BLvl.ldr.BKS.len);
-
- for (var t in rec_type) {
- if (_t.match(rec_type[t].Type) && _b.match(rec_type[t].BLvl)) {
- document.getElementById('recordTypeLabel').value = t;
- _record_type = t;
- return t;
- }
- }
-
- // in case we don't have a valid record type ...
- _record_type = 'BKS';
- return _record_type;
-
- } catch(E) {
- alert('FIXME, MARC Editor, recordType: ' + E);
- }
-}
-
function toggleFFE () {
var grid = document.getElementById('leaderGrid');
if (grid.hidden) {
}
-function fillFixedFields (rec) {
+function fillFixedFields () {
try {
var grid = document.getElementById('leaderGrid');
-
- var rtype = _record_type;
-
- var _l = rec.leader.toString();
- var _6 = rec.controlfield.(@tag=='006').toString();
- var _7 = rec.controlfield.(@tag=='007').toString();
- var _8 = rec.controlfield.(@tag=='008').toString();
+ var marc_rec = new MARC.Record ({ delimiter : '$', marcxml : xml_record.toXMLString() });
var list = [];
var pre_list = grid.getElementsByTagName('label');
for (var i in list) {
var name = list[i].getAttribute('name');
+ var value = marc_rec.extractFixedField(name, true);
- if (!ff_pos[name])
- continue;
-
- var value = '';
- if ( ff_pos[name].ldr && ff_pos[name].ldr[rtype] )
- value = _l.substr(ff_pos[name].ldr[rtype].start, ff_pos[name].ldr[rtype].len);
-
- if ( ff_pos[name]._8 && ff_pos[name]._8[rtype] )
- value = _8.substr(ff_pos[name]._8[rtype].start, ff_pos[name]._8[rtype].len);
-
- if ( !value && ff_pos[name]._6 && ff_pos[name]._6[rtype] )
- value = _6.substr(ff_pos[name]._6[rtype].start, ff_pos[name]._6[rtype].len);
-
- if ( ff_pos[name]._7 && ff_pos[name]._7[rtype] )
- value = _7.substr(ff_pos[name]._7[rtype].start, ff_pos[name]._7[rtype].len);
-
- if (!value) {
- var d;
- var p;
- if (ff_pos[name].ldr && ff_pos[name].ldr[rtype]) {
- d = ff_pos[name].ldr[rtype].def;
- p = 'ldr';
- }
-
- if (ff_pos[name]._8 && ff_pos[name]._8[rtype]) {
- d = ff_pos[name]._8[rtype].def;
- p = '_8';
- }
-
- if (!value && ff_pos[name]._6 && ff_pos[name]._6[rtype]) {
- d = ff_pos[name]._6[rtype].def;
- p = '_6';
- }
-
- if (ff_pos[name]._7 && ff_pos[name]._7[rtype]) {
- d = ff_pos[name]._7[rtype].def;
- p = '_7';
- }
-
- if (p && !value) {
- for (var j = 0; j < ff_pos[name][p][rtype].len; j++) {
- value += d;
- }
- }
- }
+ if (value === null) continue;
list[i].nextSibling.value = value;
}
function updateFixedFields (element) {
var grid = document.getElementById('leaderGrid');
var recGrid = document.getElementById('recGrid');
-
- var rtype = _record_type;
var new_value = element.value;
+ var marc_rec = new MARC.Record ({ delimiter : '$', marcxml : xml_record.toXMLString() });
+ var rtype = marc_rec.recordType();
+
var parts = {
- ldr : _record.leader,
- _6 : _record.controlfield.(@tag=='006'),
- _7 : _record.controlfield.(@tag=='007'),
- _8 : _record.controlfield.(@tag=='008')
+ ldr : marc_rec.leader(),
+ _6 : marc_rec.field('006');
+ _7 : marc_rec.field('007');
+ _8 : marc_rec.field('008');
};
var name = element.getAttribute('name');
- for (var i in ff_pos[name]) {
+ for (var i in MARC.Record._ff_pos[name]) {
- if (!ff_pos[name][i][rtype]) continue;
+ if (!MARC.Record._ff_pos[name][i][rtype]) continue;
if (!parts[i]) {
// we're missing the required field. Add it now.
else continue;
createControlField(newfield,' ');
- parts[i] = _record.controlfield.(@tag==newfield);
+ parts[i] = xml_record.controlfield.(@tag==newfield).toString();
}
- var before = parts[i].substr(0, ff_pos[name][i][rtype].start);
- var after = parts[i].substr(ff_pos[name][i][rtype].start + ff_pos[name][i][rtype].len);
+ var before = parts[i].substr(0, MARC.Record._ff_pos[name][i][rtype].start);
+ var after = parts[i].substr(MARC.Record._ff_pos[name][i][rtype].start + MARC.Record._ff_pos[name][i][rtype].len);
- for (var j = 0; new_value.length < ff_pos[name][i][rtype].len; j++) {
- new_value += ff_pos[name][i][rtype].def;
+ for (var j = 0; new_value.length < MARC.Record._ff_pos[name][i][rtype].len; j++) {
+ new_value += MARC.Record._ff_pos[name][i][rtype].def;
}
- parts[i].setChildren( before + new_value + after );
- recGrid.getElementsByAttribute('tag',i)[0].lastChild.value = parts[i].toString();
+ recGrid.getElementsByAttribute('tag',i)[0].lastChild.value = before + new_value + after;
}
return true;
);
}
-function loadRecord(rec) {
+function loadRecord() {
try {
- _record = rec;
var grid_rows = document.getElementById('recGrid').lastChild;
while (grid_rows.firstChild) grid_rows.removeChild(grid_rows.firstChild);
- grid_rows.appendChild( marcLeader( rec.leader ) );
+ grid_rows.appendChild( marcLeader( xml_record.leader ) );
- for (var i in rec.controlfield) {
- grid_rows.appendChild( marcControlfield( rec.controlfield[i] ) );
+ for (var i in xml_record.controlfield) {
+ grid_rows.appendChild( marcControlfield( xml_record.controlfield[i] ) );
}
- for (var i in rec.datafield) {
- grid_rows.appendChild( marcDatafield( rec.datafield[i] ) );
+ for (var i in xml_record.datafield) {
+ grid_rows.appendChild( marcDatafield( xml_record.datafield[i] ) );
}
grid_rows.getElementsByAttribute('class','marcDatafieldRow')[0].firstChild.focus();
- changeFFEditor(recordType(rec));
- fillFixedFields(rec);
+
+ var marc_rec = new MARC.Record ({ delimiter : '$', marcxml : xml_record.toXMLString() });
+ changeFFEditor(marc_rec.recordType());
+ fillFixedFields();
} catch(E) {
alert('FIXME, MARC Editor, loadRecord: ' + E);
}