I don't see how you can get a result for your search if you're using @attr 1=7. 7 is the USE attribute for an ISBN search, and your term is the local system number, I think (use attribute=12)

When I do that search (@attr 1=12 3118006) against the LC bib file, using Net::Z3950 in a program essentially the same as yours, the USMARC record returned is 860 bytes long. Here's a formatted dump of the record:

?L?D?R? ?0?0?8?6?0?n?a?m? ? ?2?2?0?0?2?5?3?1? ? ?4?5?0?0?
?0?0?1? ? ? ? ?3?1?1?8?0?0?6?
?0?0?5? ? ? ? ?1?9?7?4?0?4?1?7?0?0?0?0?0?0?.?0?
?0?0?8? ? ? ? ?7?3?1?2?0?7?s?1?9?6?7? ? ? ? ?n?y?u?a?b?f? ? ? ?b? ? ? ? ?0?0?0? ?0?b?e?n?g? ? ?
?0?3?5? ? ? ? ?|?9?(?D?L?C?)? ? ? ?6?7?0?2?9?8?5?6?
?9?0?6? ? ? ? ?|?a?7?|?b?c?b?c?|?c?o?r?i?g?n?e?w?|?d?u?|?e?o?c?i?p?|?f?1?9?|?g?y?-?g?e?n?
c?a?t?l?g?
?0?1?0? ? ? ? ?|?a? ? ? ?6?7?0?2?9?8?5?6? ?
?0?4?0? ? ? ? ?|?a?D?L?C?|?c?D?L?C?|?d?D?L?C?
?0?5?0? ?0?0? ?|?a?N?D?5?8?8?.?D?9?|?b?R?8?5?
?0?8?2? ?0?0? ?|?a?7?5?9?.?3?
?1?0?0? ?1? ? ?|?a?R?u?s?s?e?l?l?,? ?F?r?a?n?c?i?s?,?|?d?1?9?1?0?-?
?2?4?5? ?1?4? ?|?a?T?h?e? ?w?o?r?l?d? ?o?f? ?D?u?r?e?r?,? ?1?4?7?1?-?1?5?2?8?,?|?c?b?y? ?F?r?a?n?c?i?s? ?R?u?s?s?e?l?l? ?a?n?d? ?t?h?e? ?e?d?i?t?o?r?s? ?o?f? ?T?i?m?e?-?L?i?f?e? ?B?o?o?k?s?.?
?2?6?0? ? ? ? ?|?a?N?e?w? ?Y?o?r?k?,?|?b?T?i?m?e?,? ?i?n?c?.?|?c?[?1?9?6?7?]?
?3?0?0? ? ? ? ?|?a?1?8?3? ?p?.?|?b?i?l?l?u?s?.?,? ?m?a?p?s?,? ?c?o?l?.? ?p?l?a?t?e?s?.?|?c?3?2? ?c?m?.?
?4?9?0? ?0? ? ?|?a?T?i?m?e?-?L?i?f?e? ?l?i?b?r?a?r?y? ?o?f? ?a?r?t?
?5?0?4? ? ? ? ?|?a?B?i?b?l?i?o?g?r?a?p?h?y?:? ?p?.? ?1?7?7?.?
?6?0?0? ?1?0? ?|?a?D??u?r?e?r?,? ?A?l?b?r?e?c?h?t?,?|?d?1?4?7?1?-?1?5?2?8?.?
?7?1?0? ?2? ? ?|?a?T?i?m?e?-?L?i?f?e? ?B?o?o?k?s?.?
?9?9?1? ? ? ? ?|?b?c?-?G?e?n?C?o?l?l?|?h?N?D?5?8?8?.?D?9?|?i?R?8?5?|?t?C?o?p?y? ?1?|?w?B?O?O?K?S?
?9?9?1? ? ? ? ?|?b?c?-?G?e?n?C?o?l?l?|?h?N?D?5?8?8?.?D?9?|?i?R?8?5?|?p?0?0?0?3?4?0?1?5?1?
0?7?|?t?C?o?p?y? ?2?|?w?C?C?F


The "?" in the 245 and 600 fields are 0xE8, the MARC-8 code for combining umlaut/diaeresis.

It's puzzling that the record you got has a different length--not sure what's going on there.

Tim Prettyman
University of Michigan Library

  # define sum constants
  my $DATABASE = 'voyager';
  my $SERVER   = 'z3950.loc.gov';
  my $PORT     = '7090';

  # create a LOC (Voyager) 001 query
  my $query = "[EMAIL PROTECTED] 1=7 3118006";

  # create a z39.50 object
  my $z3950 = Net::Z3950::Manager->new(databaseName => $DATABASE);

  # assign the object some z39.50 characteristics
  $z3950->option(elementSetName => "f");
  $z3950->option(preferredRecordSyntax =>
Net::Z3950::RecordSyntax::USMARC);
  # connect to the server and check for success
  my $connection = $z3950->connect($SERVER, $PORT);

  # search
  my $results = $connection->search($query);

  # get the found record and turn it into a MARC::Record object
  my $record = $results->record(1);
  $record = MARC::Record->new_from_usmarc($record->rawdata());

  # create a file name
  my $id = time;

  # write the record
  open MARC, "> $id.marc";
  print MARC $record->as_usmarc;
  close MARC;


This process works just fine for records that contain no diacritics, but when diacritics are in the records extra characters end up in my saved files, like this:

  00901nam  22002651
    ^^^
  45000010008000000050017000080080041000250350021000669060045000870
  10001700132040001800149050001800167082001000185100002900195245009
  20022426000340031630000470035049000290039750400260042660000340045
  27100021004869910044005079910055005510990029006063118006
  19740417000000.0731207s1967    nyuabf   b    000 0beng  
  9(DLC)   67029856  a7bcbccorignewdueocipf19gy-gencatlg
  a   67029856   aDLCcDLCdDLC00aND588.D9bR8500a759.31
  aRussell, Francis,d1910-14aThe world of Dˆ®urer,
                                              ^^^^^^^
  1471-1528,cby Francis Russell and the editors of Time-Life
  Books.  aNew York,bTime, inc.c[1967]  a183 p.billus.,
  maps, col. plates.c32 cm.0 aTime-Life library of art
  aBibliography: p. 177.10aDˆ®urer, Albrecht,d1471-1528.2
                              ^^^^^^^
  aTime-Life Books.  bc-GenCollhND588.D9iR85tCopy 1wBOOKS
  bc-GenCollhND588.D9iR85p00034015107tCopy 2wCCF
  arussell-world-1071495663

Notice how Dürer got munged into Dˆ®urer, twice, and consequently the
record length is not 901 but 903 instead.

Some people say I must be sure to request a specific character set from
the LOC when downloading my MARC records, specifically MARC-8 or
MARC-UCS. Which one of these character sets do I want and how do I tell
the remote database which one I want?

--
Eric "The Ugly American Who Doesn't Understand Diacritics" Morgan
University Libraries of Notre Dame

(574) 631-8604








Reply via email to