static void output_citeparts( fields *f, FILE *outptr, int level, int max ) { int orig_level; output_title( f, outptr, level ); output_names( f, outptr, level ); output_origin( f, outptr, level ); output_type( f, outptr, level ); output_language( f, outptr, level ); output_description( f, outptr, level ); if ( level >= 0 && level < max ) { output_tag( outptr, lvl2indent(level), "relatedItem", NULL, TAG_OPEN, TAG_NEWLINE, "type", "host", NULL ); output_citeparts( f, outptr, incr_level(level,1), max ); output_tag( outptr, lvl2indent(level), "relatedItem", NULL, TAG_CLOSE, TAG_NEWLINE, NULL ); } /* Look for original item things */ orig_level = original_items( f, level ); if ( orig_level ) { output_tag( outptr, lvl2indent(level), "relatedItem", NULL, TAG_OPEN, TAG_NEWLINE, "type", "original", NULL ); output_citeparts( f, outptr, orig_level, max ); output_tag( outptr, lvl2indent(level), "relatedItem", NULL, TAG_CLOSE, TAG_NEWLINE, NULL ); } output_abs( f, outptr, level ); output_notes( f, outptr, level ); output_toc( f, outptr, level ); output_key( f, outptr, level ); output_sn( f, outptr, level ); output_url( f, outptr, level ); output_part( f, outptr, level ); output_recordInfo( f, outptr, level ); }
static void output_citeparts( fields *info, FILE *outptr, int level, int max, int type ) { convert origin[] = { { "ADDRESS", "b:City", LEVEL_ANY }, { "PUBLISHER", "b:Publisher", LEVEL_ANY }, { "EDITION", "b:Edition", LEVEL_ANY } }; int norigin = sizeof( origin ) / sizeof ( convert ); convert parts[] = { { "VOLUME", "b:Volume", LEVEL_ANY }, { "SECTION", "b:Section", LEVEL_ANY }, { "ISSUE", "b:Issue", LEVEL_ANY }, { "NUMBER", "b:Issue", LEVEL_ANY }, { "PUBLICLAWNUMBER", "b:Volume", LEVEL_ANY }, { "SESSION", "b:Issue", LEVEL_ANY }, }; int nparts=sizeof(parts)/sizeof(convert); output_bibkey( info, outptr ); output_type( info, outptr, type ); output_list( info, outptr, origin, norigin ); output_date( info, outptr, level ); output_includedin( info, outptr, type ); output_list( info, outptr, parts, nparts ); output_pages( info, outptr, level ); output_names( info, outptr, level, type ); output_title( info, outptr, 0 ); output_comments( info, outptr, level ); }
static void output_citeparts( fields *info, FILE *outptr, int level, int max, int type ) { convert origin[] = { { "ADDRESS", "b:City", "", LEVEL_ANY }, { "PUBLISHER", "b:Publisher", "", LEVEL_ANY }, { "EDITION", "b:Edition", "", LEVEL_ANY } }; int norigin = sizeof( origin ) / sizeof ( convert ); convert parts[] = { { "VOLUME", "b:Volume", "", LEVEL_ANY }, { "SECTION", "b:Section", "", LEVEL_ANY }, { "ISSUE", "b:Issue", "", LEVEL_ANY }, { "NUMBER", "b:Issue", "", LEVEL_ANY }, { "PUBLICLAWNUMBER", "b:Volume", "", LEVEL_ANY }, { "SESSION", "b:Issue", "", LEVEL_ANY }, { "URL", "b:Url", "", LEVEL_ANY }, { "JSTOR", "b:Url", "http://www.jstor.org/stable/", LEVEL_ANY }, { "ARXIV", "b:Url", "http://arxiv.org/abs/", LEVEL_ANY }, { "PMID", "b:Url", "http://www.ncbi.nlm.nih.gov/pubmed/", LEVEL_ANY }, { "PMC", "b:Url", "http://www.ncbi.nlm.nih.gov/pmc/articles/", LEVEL_ANY }, { "DOI", "b:Url", "http://dx.doi.org/", LEVEL_ANY }, }; int nparts=sizeof(parts)/sizeof(convert); output_bibkey( info, outptr ); output_type( info, outptr, type ); output_list( info, outptr, origin, norigin ); output_date( info, outptr, level ); output_includedin( info, outptr, type ); output_list( info, outptr, parts, nparts ); output_pages( info, outptr, level ); output_names( info, outptr, level, type ); output_maintitle( info, outptr, 0 ); output_comments( info, outptr, level ); }