5 * Revision 1.1 1995/04/17 09:31:45 adam
6 * Improved handling of qualifiers. Aliases or reserved words.
18 * ccl_qual_file: Read bibset definition from file.
22 * Each line format is:
23 * <name> <t>=<v> <t>=<v> ....
24 * Where <name> is name of qualifier;
25 * <t>=<v> is a attribute definition pair where <t> is one of:
26 * u(use), r(relation), p(position), t(truncation), c(completeness)
28 * <v> is an integer or special pseudo-value.
30 void ccl_qual_file (CCL_bibset bibset, FILE *inf)
38 while (fgets (line, 255, inf))
42 continue; /* ignore lines starting with # */
43 if (sscanf (cp, "%s%n", qual_name, &no_scan) != 1)
44 continue; /* also ignore empty lines */
53 if (sscanf (cp, "%s%n", qual_des, &no_scan) != 1)
56 if (!(split = strchr (qual_des, '=')))
65 if ((split = strchr (qual_value, ',')))
67 pair[1] = atoi (qual_value);
71 pair[0] = CCL_BIB1_USE;
74 pair[0] = CCL_BIB1_REL;
75 if (!strcmp (qual_value, "o"))
76 pair[1] = CCL_BIB1_REL_ORDER;
79 pair[0] = CCL_BIB1_POS;
82 pair[0] = CCL_BIB1_STR;
83 if (!strcmp (qual_value, "pw"))
84 pair[1] = CCL_BIB1_STR_WP;
87 pair[0] = CCL_BIB1_TRU;
88 if (!strcmp (qual_value, "l"))
89 pair[1] = CCL_BIB1_TRU_CAN_LEFT;
90 else if (!strcmp (qual_value, "r"))
91 pair[1] = CCL_BIB1_TRU_CAN_RIGHT;
92 else if (!strcmp (qual_value, "b"))
93 pair[1] = CCL_BIB1_TRU_CAN_BOTH;
94 else if (!strcmp (qual_value, "n"))
95 pair[1] = CCL_BIB1_TRU_CAN_NONE;
98 pair[0] = CCL_BIB1_COM;
101 pair[0] = atoi (qual_type);
103 ccl_qual_add (bibset, qual_name, 1, pair);