You are here

function BiblioCrossRefClient::unixref_characterData in Bibliography Module 6.2

Same name and namespace in other branches
  1. 7 modules/crossref/biblio.crossref.client.php \BiblioCrossRefClient::unixref_characterData()
  2. 7.2 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 250

Class

BiblioCrossRefClient

Code

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