You are here

function BiblioCrossRefClient::unixref_characterData in Bibliography Module 7.2

Same name and namespace in other branches
  1. 6.2 modules/crossref/biblio.crossref.client.php \BiblioCrossRefClient::unixref_characterData()
  2. 7 modules/crossref/biblio.crossref.client.php \BiblioCrossRefClient::unixref_characterData()
2 calls to BiblioCrossRefClient::unixref_characterData()
BiblioCrossRefClient::unixref_endElement in modules/crossref/biblio.crossref.client.php
BiblioCrossRefClient::unixref_startElement in modules/crossref/biblio.crossref.client.php

File

modules/crossref/biblio.crossref.client.php, line 225

Class

BiblioCrossRefClient

Code

function unixref_characterData($parser, $data) {
  $data = htmlspecialchars_decode($data);
  if (trim($data)) {
    switch ($this->element) {
      case 'surname':
        $this->contributors[$this->contrib_count]['lastname'] = $data;
        break;
      case 'given_name':
        $this->contributors[$this->contrib_count]['firstname'] = $data;
        break;
      case 'suffix':
        $this->contributors[$this->contrib_count]['suffix'] = $data;
        break;
      case 'affiliation':
        $this->contributors[$this->contrib_count]['affiliation'] = $data;
        break;
      case 'organization':
        $this->contributors[$this->contrib_count]['name'] = $data;
        break;
      case 'year':
      case 'month':
      case 'day':
        $this->node[$this->element] = $data;
        break;
      case 'issn':
      case 'isbn':
        if ($this->attribute == 'print') {
          if ($field = $this
            ->_unixref_field_map(trim($this->element))) {
            $this
              ->_set_data($field, $data);
          }
        }
        break;
      default:
        if ($field = $this
          ->_unixref_field_map(trim($this->element))) {
          $this
            ->_set_data($field, $data);
        }
    }
  }
}