static StaticTestRecords() { factory = MarcFactory.Instance; chabon[0] = factory.NewRecord("00759cam a2200229 a 4500"); chabon[0].AddVariableField(factory.NewControlField("001", "11939876")); chabon[0].AddVariableField(factory.NewControlField("005", "20041229190604.0")); chabon[0].AddVariableField(factory.NewControlField("008", "000313s2000 nyu 000 1 eng ")); chabon[0].AddVariableField(factory.NewDataField("020", ' ', ' ', "a", "0679450041 (acid-free paper)")); chabon[0].AddVariableField(factory.NewDataField("040", ' ', ' ', "a", "DLC", "c", "DLC", "d", "DLC")); chabon[0].AddVariableField(factory.NewDataField("100", '1', ' ', "a", "Chabon, Michael.")); chabon[0].AddVariableField(factory.NewDataField("245", '1', '4', "a", "The amazing adventures of Kavalier and Clay :", "b", "a novel /", "c", "Michael Chabon.")); chabon[0].AddVariableField(factory.NewDataField("260", ' ', ' ', "a", "New York :", "b", "Random House,", "c", "c2000.")); chabon[0].AddVariableField(factory.NewDataField("300", ' ', ' ', "a", "639 p. ;", "c", "25 cm.")); chabon[0].AddVariableField(factory.NewDataField("650", ' ', '0', "a", "Comic books, strips, etc.", "x", "Authorship", "v", "Fiction.")); chabon[0].AddVariableField(factory.NewDataField("650", ' ', '0', "a", "Heroes in mass media", "v", "Fiction.")); chabon[0].AddVariableField(factory.NewDataField("650", ' ', '0', "a", "Czech Americans", "v", "Fiction.")); chabon[0].AddVariableField(factory.NewDataField("651", ' ', '0', "a", "New York (N.Y.)", "v", "Fiction.")); chabon[0].AddVariableField(factory.NewDataField("650", ' ', '0', "a", "Young men", "v", "Fiction.")); chabon[0].AddVariableField(factory.NewDataField("650", ' ', '0', "a", "Cartoonists", "v", "Fiction.")); chabon[0].AddVariableField(factory.NewDataField("655", ' ', '7', "a", "Humorous stories.", "2", "gsafd")); chabon[0].AddVariableField(factory.NewDataField("655", ' ', '7', "a", "Bildungsromane.", "2", "gsafd")); chabon[1] = factory.NewRecord("00714cam a2200205 a 4500"); chabon[1].AddVariableField(factory.NewControlField("001", "12883376")); chabon[1].AddVariableField(factory.NewControlField("005", "20030616111422.0")); chabon[1].AddVariableField(factory.NewControlField("008", "020805s2002 nyu j 000 1 eng ")); chabon[1].AddVariableField(factory.NewDataField("020", ' ', ' ', "a", "0786808772")); chabon[1].AddVariableField(factory.NewDataField("020", ' ', ' ', "a", "0786816155 (pbk.)")); chabon[1].AddVariableField(factory.NewDataField("040", ' ', ' ', "a", "DLC", "c", "DLC", "d", "DLC")); chabon[1].AddVariableField(factory.NewDataField("100", '1', ' ', "a", "Chabon, Michael.")); chabon[1].AddVariableField(factory.NewDataField("245", '1', '0', "a", "Summerland /", "c", "Michael Chabon.")); chabon[1].AddVariableField(factory.NewDataField("250", ' ', ' ', "a", "1st ed.")); chabon[1].AddVariableField(factory.NewDataField("260", ' ', ' ', "a", "New York :", "b", "Miramax Books/Hyperion Books for Children,", "c", "c2002.")); chabon[1].AddVariableField(factory.NewDataField("300", ' ', ' ', "a", "500 p. ;", "c", "22 cm.")); chabon[1].AddVariableField(factory.NewDataField("520", ' ', ' ', "a", "Ethan Feld, the worst baseball player in the history of the game, finds himself recruited by a 100-year-old scout to help a band of fairies triumph over an ancient enemy.")); chabon[1].AddVariableField(factory.NewDataField("650", ' ', '1', "a", "Fantasy.")); chabon[1].AddVariableField(factory.NewDataField("650", ' ', '1', "a", "Baseball", "v", "Fiction.")); chabon[1].AddVariableField(factory.NewDataField("650", ' ', '1', "a", "Magic", "v", "Fiction.")); summerland[0] = MakeSummerlandRecord(); }
public IEnumerable <IRecord> Read(Stream stream) { var collection = XElement.Load(stream); foreach (var recordElem in collection.Descendants(XName.Get(RECORD, Constants.MARCXML_NS_URI))) { record = factory.NewRecord(); LoadRecord(recordElem, ref record); yield return(record); } yield break; }
private static IRecord MakeSummerlandRecord() { var sumland = factory.NewRecord("00714cam a2200205 a 4500"); sumland.AddVariableField(factory.NewControlField("001", "12883376")); sumland.AddVariableField(factory.NewControlField("005", "20030616111422.0")); sumland.AddVariableField(factory.NewControlField("008", "020805s2002 nyu j 000 1 eng ")); sumland.AddVariableField(factory.NewDataField("020", ' ', ' ', "a", "0786808772")); sumland.AddVariableField(factory.NewDataField("020", ' ', ' ', "a", "0786816155 (pbk.)")); sumland.AddVariableField(factory.NewDataField("040", ' ', ' ', "a", "DLC", "c", "DLC", "d", "DLC")); sumland.AddVariableField(factory.NewDataField("100", '1', ' ', "a", "Chabon, Michael.")); sumland.AddVariableField(factory.NewDataField("245", '1', '0', "a", "Summerland /", "c", "Michael Chabon.")); sumland.AddVariableField(factory.NewDataField("250", ' ', ' ', "a", "1st ed.")); sumland.AddVariableField(factory.NewDataField("260", ' ', ' ', "a", "New York :", "b", "Miramax Books/Hyperion Books for Children,", "c", "c2002.")); sumland.AddVariableField(factory.NewDataField("300", ' ', ' ', "a", "500 p. ;", "c", "22 cm.")); sumland.AddVariableField(factory.NewDataField("520", ' ', ' ', "a", "Ethan Feld, the worst baseball player in the history of the game, finds himself recruited by a 100-year-old scout to help a band of fairies triumph over an ancient enemy.")); sumland.AddVariableField(factory.NewDataField("650", ' ', '1', "a", "Fantasy.")); sumland.AddVariableField(factory.NewDataField("650", ' ', '1', "a", "Baseball", "v", "Fiction.")); sumland.AddVariableField(factory.NewDataField("650", ' ', '1', "a", "Magic", "v", "Fiction.")); return(sumland); }
/// <summary> /// Returns the next record in the iteration. /// </summary> /// <returns></returns> private IRecord Next() { record = factory.NewRecord(); try { byte[] byteArray = new byte[24]; input.Read(byteArray); int recordLength = ParseRecordLength(byteArray); byte[] recordBuf = new byte[recordLength - 24]; input.Read(recordBuf); ParseRecord(record, byteArray, recordBuf, recordLength); return(record); } catch (EndOfStreamException e) { throw new MarcException("Premature end of file encountered", e); } catch (IOException e) { throw new MarcException("an error occured reading input", e); } }