Retrieve specific fields and subfields from a record

  1. <?php
  2.  
  3. require 'File/MARC.php';
  4.  
  5. // Read MARC records from a stream (a file, in this case)
  6. $marc_source new File_MARC('example.mrc');
  7.  
  8. // Retrieve the first MARC record from the source
  9. $marc_record $marc_source->next();
  10.  
  11. // Retrieve a personal name field from the record
  12. $names $marc_record->getFields('100');
  13.  
  14. foreach ($names as $name_field{
  15.     // Now print the $a subfield
  16.         switch ($name_field->getIndicator(1)) {
  17.     case 0:
  18.         print "Forename: ";
  19.         break;
  20.  
  21.     case 1:
  22.         print "Surname: ";
  23.         break;
  24.  
  25.     case 2:
  26.         print "Family name: ";
  27.         break;
  28.     }
  29.  
  30.     $name $name_field->getSubfields('a');
  31.  
  32.     if (count($name== 1{
  33.         print $name[0]->getData("\n";
  34.     }
  35.     else {
  36.         print "Error -- \$a subfield appears more than once in this field!";
  37.     }
  38. }
  39.  
  40. print "\nPrint all series statement fields (4xx):\n";
  41. // Retrieve all series statement fields
  42. // Series statement fields start with a 4 (PCRE)
  43. $subjects $marc_record->getFields('^4'true);
  44.  
  45. // Iterate through all of the returned series statement fields
  46. foreach ($subjects as $field{
  47.     // print with File_MARC_Field_Data's magic __toString() method
  48.         print $field;
  49. }
  50.  
  51. print "\n";
  52.  
  53. ?>

Documentation generated on Mon, 01 Jan 2007 23:44:41 -0500 by phpDocumentor 1.3.1