_getOpenurl10GenreTranslationMapping() 정적인 공개 메소드

Return a mapping of OpenURL genres to NLM publication types.
static public _getOpenurl10GenreTranslationMapping ( ) : array
리턴 array
 /**
  * @copydoc Filter::process()
  * @param $input string
  * @return MetadataDescription
  */
 function &process(&$input)
 {
     $citationString =& $input;
     $nullVar = null;
     // Freecite requires a post request
     $postData = array('citation' => $citationString);
     if (is_null($resultDOM = $this->callWebService(FREECITE_WEBSERVICE, $postData, XSL_TRANSFORMER_DOCTYPE_DOM, 'POST'))) {
         return $nullVar;
     }
     // Transform the result into an array of meta-data
     if (is_null($metadata =& $this->transformWebServiceResults($resultDOM, dirname(__FILE__) . DIRECTORY_SEPARATOR . 'freecite.xsl'))) {
         return $nullVar;
     }
     // Extract a publisher from the place string if possible
     $metadata =& $this->fixPublisherNameAndLocation($metadata);
     // Convert the genre
     if (isset($metadata['genre'])) {
         $genre = $metadata['genre'];
         import('lib.pkp.plugins.metadata.nlm30.filter.Openurl10Nlm30CitationSchemaCrosswalkFilter');
         $genreMap = Openurl10Nlm30CitationSchemaCrosswalkFilter::_getOpenurl10GenreTranslationMapping();
         $metadata['[@publication-type]'] = isset($genreMap[$genre]) ? $genreMap[$genre] : $genre;
         unset($metadata['genre']);
     }
     // Convert article title to source for dissertations
     if (isset($metadata['[@publication-type]']) && $metadata['[@publication-type]'] == NLM30_PUBLICATION_TYPE_THESIS && isset($metadata['article-title'])) {
         $metadata['source'] = $metadata['article-title'];
         unset($metadata['article-title']);
     }
     unset($metadata['raw_string']);
     return $this->getNlm30CitationDescriptionFromMetadataArray($metadata);
 }