コード例 #1
0
ファイル: MarcMrcReader.php プロジェクト: tonyhhyip/marc4php
 /**
  * @param \File_MARC_Data_Field $field
  *
  * @return DataField
  */
 private function convertDataField(\File_MARC_Data_Field $field)
 {
     $tag = $field->getTag();
     $ind1 = $field->getIndicator(1);
     $ind2 = $field->getIndicator(2);
     $dataField = new DataField($tag, [$ind1, $ind2]);
     foreach ($field->getSubfields() as $subField) {
         $dataField->addSubField($this->convertSubfield($subField));
     }
     return $dataField;
 }
コード例 #2
0
ファイル: SolrMarc.php プロジェクト: bbeckman/NDL-VuFind2
 /**
  * Support method for getFieldData() -- factor the relationship indicator
  * into the field number where relevant to generate a note to associate
  * with a record link.
  *
  * @param File_MARC_Data_Field $field Field to examine
  *
  * @return string
  */
 protected function getRecordLinkNote($field)
 {
     // If set, use relationship information from subfield i
     if ($subfieldI = $field->getSubfield('i')) {
         $data = trim($subfieldI->getData());
         if (!empty($data)) {
             return $data;
         }
     }
     // Normalize blank relationship indicator to 0:
     $relationshipIndicator = $field->getIndicator('2');
     if ($relationshipIndicator == ' ') {
         $relationshipIndicator = '0';
     }
     // Assign notes based on the relationship type
     $value = $field->getTag();
     switch ($value) {
         case '780':
             if (in_array($relationshipIndicator, range('0', '7'))) {
                 $value .= '_' . $relationshipIndicator;
             }
             break;
         case '785':
             if (in_array($relationshipIndicator, range('0', '8'))) {
                 $value .= '_' . $relationshipIndicator;
             }
             break;
     }
     return 'note_' . $value;
 }
コード例 #3
0
ファイル: SolrMarc.php プロジェクト: htw-pk15/vufind
 /**
  * Support method for getFieldData() -- factor the relationship indicator
  * into the field number where relevant to generate a note to associate
  * with a record link.
  *
  * @param File_MARC_Data_Field $field Field to examine
  *
  * @return string
  */
 protected function getRecordLinkNote($field)
 {
     // Normalize blank relationship indicator to 0:
     $relationshipIndicator = $field->getIndicator('2');
     if ($relationshipIndicator == ' ') {
         $relationshipIndicator = '0';
     }
     // Assign notes based on the relationship type
     $value = $field->getTag();
     switch ($value) {
         case '780':
             if (in_array($relationshipIndicator, range('0', '7'))) {
                 $value .= '_' . $relationshipIndicator;
             }
             break;
         case '785':
             if (in_array($relationshipIndicator, range('0', '8'))) {
                 $value .= '_' . $relationshipIndicator;
             }
             break;
     }
     return 'note_' . $value;
 }