Blame bibutils/modstypes.c
|
Packit |
89ede9 |
/*
|
|
Packit |
89ede9 |
* modstypes.c
|
|
Packit |
89ede9 |
*
|
|
Packit |
89ede9 |
* Copyright (c) Chris Putnam 2004-2018
|
|
Packit |
89ede9 |
*
|
|
Packit |
89ede9 |
* Source code released under the GPL version 2
|
|
Packit |
89ede9 |
*
|
|
Packit |
89ede9 |
*/
|
|
Packit |
89ede9 |
#include <stdio.h>
|
|
Packit |
89ede9 |
#include <string.h>
|
|
Packit |
89ede9 |
#include "modstypes.h"
|
|
Packit |
89ede9 |
|
|
Packit |
89ede9 |
/* Conversion information for identifier type attributes:
|
|
Packit |
89ede9 |
*
|
|
Packit |
89ede9 |
* <identifier type="issn">XXXX-XXXX</identifier>
|
|
Packit |
89ede9 |
*
|
|
Packit |
89ede9 |
*/
|
|
Packit |
89ede9 |
convert identifier_types[] = {
|
|
Packit |
89ede9 |
{ "citekey", "REFNUM" },
|
|
Packit |
89ede9 |
{ "issn", "ISSN" },
|
|
Packit |
89ede9 |
{ "isbn", "ISBN" },
|
|
Packit |
89ede9 |
{ "doi", "DOI" },
|
|
Packit |
89ede9 |
{ "url", "URL" },
|
|
Packit |
89ede9 |
{ "uri", "URL" },
|
|
Packit |
89ede9 |
{ "pubmed", "PMID", },
|
|
Packit |
89ede9 |
{ "medline", "MEDLINE" },
|
|
Packit |
89ede9 |
{ "pmc", "PMC" },
|
|
Packit |
89ede9 |
{ "pii", "PII" },
|
|
Packit |
89ede9 |
{ "isi", "ISIREFNUM" },
|
|
Packit |
89ede9 |
{ "lccn", "LCCN" },
|
|
Packit |
89ede9 |
{ "serial number", "SERIALNUMBER" },
|
|
Packit |
89ede9 |
{ "accessnum", "ACCESSNUM" }
|
|
Packit |
89ede9 |
};
|
|
Packit |
89ede9 |
|
|
Packit |
89ede9 |
int nidentifier_types = sizeof( identifier_types ) / sizeof( identifier_types[0] );
|
|
Packit |
89ede9 |
|
|
Packit |
89ede9 |
char *
|
|
Packit |
89ede9 |
mods_find_attrib( char *internal_name, convert *data, int ndata )
|
|
Packit |
89ede9 |
{
|
|
Packit |
89ede9 |
int i;
|
|
Packit |
89ede9 |
for ( i=0; i
|
|
Packit |
89ede9 |
if ( !strcasecmp( data[i].internal, internal_name ) )
|
|
Packit |
89ede9 |
return data[i].mods;
|
|
Packit |
89ede9 |
}
|
|
Packit |
89ede9 |
return NULL;
|
|
Packit |
89ede9 |
}
|
|
Packit |
89ede9 |
|
|
Packit |
89ede9 |
char *
|
|
Packit |
89ede9 |
mods_find_internal( char *mods_name, convert *data, int ndata )
|
|
Packit |
89ede9 |
{
|
|
Packit |
89ede9 |
int i;
|
|
Packit |
89ede9 |
for ( i=0; i
|
|
Packit |
89ede9 |
if ( !strcasecmp( data[i].mods, mods_name ) )
|
|
Packit |
89ede9 |
return data[i].internal;
|
|
Packit |
89ede9 |
}
|
|
Packit |
89ede9 |
return NULL;
|
|
Packit |
89ede9 |
}
|