2 # Extract MARC fields from XML
3 # get_marc_attrs( { marc_xml => doc } )
6 args.isbn = xml.findnodes('//*[@tag="020"]/*[@code="a"]').shift.textContent;
7 args.upc = xml.findnodes('//*[@tag="024"]/*[@code="a"]').textContent;
8 args.issn = xml.findnodes('//*[@tag="022"]/*[@code="a"]').textContent;
9 args.title = xml.findnodes('//*[@tag="245"]/*[@code="a"]').textContent;
10 args.author = xml.findnodes('//*[@tag="100"]/*[@code="a"]').textContent;
11 args.publisher = xml.findnodes('//*[@tag="260"]/*[@code="b"]').textContent;
12 args.pubdate = xml.findnodes('//*[@tag="260"]/*[@code="c"]').textContent;
14 args.isbn_clean = args.isbn.replace('\ .*', '');
16 # KCLS-specific stuff; needs to change
17 args.mattype = xml.findnodes('//*[@tag="998"]/*[@code="d"]').textContent;
18 args.kcls_cn = xml.findnodes('//*[@tag="092" or @tag="099"]/*').textContent;
22 icon_by_mattype = { # XXX KCLS-specific
23 "a" => "media_book.jpg",
24 "b" => "media_magazines.jpg",
25 "c" => "media_printedmusic.jpg",
26 "d" => "media_microform.jpg",
27 "e" => "media_equipment.jpg",
28 "f" => "media_films.jpg",
30 "h" => "media_dvd.jpg",
31 "i" => "media_bookoncassette.jpg",
32 "j" => "media_musiccd.jpg",
33 "k" => "media_musiccassette.jpg",
34 "l" => "media_musicrecord.jpg",
35 "m" => "media_software.jpg",
36 "n" => "media_bookoncd.jpg",
37 "o" => "media_kit.jpg",
38 "p" => "media_newspaper.jpg",
39 "q" => "media_largeprint.jpg",
40 "r" => "media_3dobject.jpg",
41 "s" => "media_slide.jpg",
42 "t" => "media_online.jpg",
43 "u" => "media_eaudio.jpg",
44 "v" => "media_ebooktext.jpg",
45 "w" => "media_eaudio.jpg",
46 "x" => "media_downloadmusic.jpg",
47 "y" => "media_downloadvideo.jpg",
48 "z" => "media_map.jpg",
49 "2" => "media_cassettewithbook.jpg",
50 "5" => "media_cdwithbook.jpg"