|
YAZ 5.35.1
|
Implements CCL qualifier utilities. More...
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <yaz/snprintf.h>#include <yaz/tokenizer.h>#include "cclp.h"Go to the source code of this file.
Data Structures | |
| struct | ccl_qualifier |
| struct | ccl_qualifiers |
| struct | ccl_qualifier_special |
Functions | |
| static struct ccl_qualifier * | ccl_qual_lookup (CCL_bibset b, const char *n, size_t len) |
| void | ccl_qual_add_special_ar (CCL_bibset bibset, const char *n, const char **values) |
| void | ccl_qual_add_special (CCL_bibset bibset, const char *n, const char *cp) |
| static struct ccl_qualifier * | ccl_qual_new (CCL_bibset b, const char *name) |
| void | ccl_qual_add_combi (CCL_bibset b, const char *n, const char **names) |
| adds specifies qualifier aliases | |
| void | ccl_qual_add_set (CCL_bibset b, const char *name, int no, int *type_ar, int *value_ar, char **svalue_ar, char **attsets) |
| adds specifies attributes for qualifier | |
| CCL_bibset | ccl_qual_mk (void) |
| creates Bibset | |
| void | ccl_qual_rm (CCL_bibset *b) |
| destroys Bibset | |
| CCL_bibset | ccl_qual_dup (CCL_bibset b) |
| ccl_qualifier_t | ccl_qual_search (CCL_parser cclp, const char *name, size_t name_len, int seq) |
| struct ccl_rpn_attr * | ccl_qual_get_attr (ccl_qualifier_t q) |
| struct ccl_rpn_attr * | ccl_parser_qual_search (CCL_parser cclp, const char *name, size_t name_len) |
| const char * | ccl_qual_get_name (ccl_qualifier_t q) |
| const char ** | ccl_qual_search_special (CCL_bibset b, const char *name) |
| int | ccl_search_stop (CCL_bibset bibset, const char *qname, const char *src_str, size_t src_len) |
Implements CCL qualifier utilities.
Definition in file cclqual.c.
| struct ccl_rpn_attr * ccl_parser_qual_search | ( | CCL_parser | cclp, |
| const char * | name, | ||
| size_t | name_len | ||
| ) |
Definition at line 387 of file cclqual.c.
References ccl_qualifier::attr_list, ccl_qual_search(), and name.
| void ccl_qual_add_combi | ( | CCL_bibset | b, |
| const char * | n, | ||
| const char ** | names | ||
| ) |
adds specifies qualifier aliases
| b | bibset |
| n | qualifier name |
| names | list of qualifier aliases |
Definition at line 127 of file cclqual.c.
References ccl_qualifier::attr_list, ccl_qual_lookup(), ccl_qual_new(), ccl_qualifiers::list, ccl_qualifier::name, ccl_qualifier::next, ccl_qualifier::no_sub, ccl_qualifier::sub, xmalloc, and xstrdup.
Referenced by ccl_qual_field2().
| void ccl_qual_add_set | ( | CCL_bibset | b, |
| const char * | name, | ||
| int | no, | ||
| int * | type_ar, | ||
| int * | value_ar, | ||
| char ** | svalue_ar, | ||
| char ** | attsets | ||
| ) |
adds specifies attributes for qualifier
| b | bibset |
| name | qualifier name |
| no | number of attribute type+value pairs |
| type_ar | attributes type of size no |
| value_ar | attribute value of size no |
| svalue_ar | attribute string values ([i] only used if != NULL) |
| attsets | attribute sets of size no |
Definition at line 165 of file cclqual.c.
References ccl_qualifier::attr_list, ccl_assert, ccl_qual_new(), CCL_RPN_ATTR_NUMERIC, CCL_RPN_ATTR_STRING, ccl_rpn_attr::kind, ccl_qualifiers::list, ccl_qualifier::name, name, ccl_qualifier::next, ccl_rpn_attr::next, ccl_rpn_attr::numeric, ccl_rpn_attr::set, ccl_rpn_attr::str, ccl_rpn_attr::type, ccl_rpn_attr::value, and xmalloc.
Referenced by ccl_qual_field2().
| void ccl_qual_add_special | ( | CCL_bibset | bibset, |
| const char * | n, | ||
| const char * | cp | ||
| ) |
Add special qualifier
Definition at line 81 of file cclqual.c.
References ccl_qual_add_special_ar(), xmalloc, xrealloc, xstrdup, yaz_tok_cfg_create(), yaz_tok_cfg_destroy(), yaz_tok_move(), yaz_tok_parse_buf(), yaz_tok_parse_destroy(), yaz_tok_parse_string(), and YAZ_TOK_STRING.
Referenced by ccl_qual_fitem2(), and ccl_xml_config_directive().
| void ccl_qual_add_special_ar | ( | CCL_bibset | bibset, |
| const char * | n, | ||
| const char ** | values | ||
| ) |
Definition at line 55 of file cclqual.c.
References ccl_qualifier_special::name, ccl_qualifier_special::next, ccl_qualifiers::special, ccl_qualifier_special::values, xfree, xmalloc, and xstrdup.
Referenced by ccl_qual_add_special().
| CCL_bibset ccl_qual_dup | ( | CCL_bibset | b | ) |
Make CCL qualifier set from an existing one (duplicate it)
Definition at line 267 of file cclqual.c.
References ccl_qualifier::attr_list, ccl_qual_mk(), CCL_RPN_ATTR_NUMERIC, CCL_RPN_ATTR_STRING, ccl_rpn_attr::kind, ccl_qualifiers::list, ccl_qualifier::name, ccl_qualifier_special::name, ccl_qualifier::next, ccl_qualifier_special::next, ccl_rpn_attr::next, ccl_qualifier::no_sub, ccl_rpn_attr::numeric, ccl_rpn_attr::set, ccl_qualifiers::special, ccl_rpn_attr::str, ccl_qualifier::sub, ccl_rpn_attr::type, ccl_rpn_attr::value, ccl_qualifier_special::values, xmalloc, and xstrdup.
| struct ccl_rpn_attr * ccl_qual_get_attr | ( | ccl_qualifier_t | q | ) |
Definition at line 382 of file cclqual.c.
References ccl_qualifier::attr_list.
Referenced by ccl_term_multi_use(), ccl_term_one_use(), and qual_val_type().
| const char * ccl_qual_get_name | ( | ccl_qualifier_t | q | ) |
Definition at line 396 of file cclqual.c.
References ccl_qualifier::name.
Referenced by ccl_term_one_use().
|
static |
Definition at line 45 of file cclqual.c.
References ccl_qualifiers::list, ccl_qualifier::name, and ccl_qualifier::next.
Referenced by ccl_qual_add_combi().
| CCL_bibset ccl_qual_mk | ( | void | ) |
creates Bibset
Definition at line 210 of file cclqual.c.
References ccl_assert, ccl_qualifiers::list, ccl_qualifiers::special, and xmalloc.
Referenced by ccl_qual_dup(), xml_config_read(), and ZOOM_query_ccl2rpn().
|
static |
Definition at line 107 of file cclqual.c.
References ccl_qualifier::attr_list, ccl_assert, ccl_qualifiers::list, ccl_qualifier::name, name, ccl_qualifier::next, ccl_qualifier::no_sub, ccl_qualifier::sub, xmalloc, and xstrdup.
Referenced by ccl_qual_add_combi(), and ccl_qual_add_set().
| void ccl_qual_rm | ( | CCL_bibset * | b | ) |
destroys Bibset
| b | pointer to Bibset |
b will be set to NULL.
Definition at line 224 of file cclqual.c.
References ccl_qualifier::attr_list, CCL_RPN_ATTR_STRING, ccl_rpn_attr::kind, ccl_qualifier::name, ccl_qualifier_special::name, ccl_qualifier::next, ccl_qualifier_special::next, ccl_rpn_attr::next, ccl_rpn_attr::set, ccl_rpn_attr::str, ccl_qualifier::sub, ccl_rpn_attr::value, ccl_qualifier_special::values, and xfree.
Referenced by ZOOM_query_ccl2rpn().
| ccl_qualifier_t ccl_qual_search | ( | CCL_parser | cclp, |
| const char * | name, | ||
| size_t | name_len, | ||
| int | seq | ||
| ) |
Definition at line 338 of file cclqual.c.
References ccl_parser::bibset, ccl_assert, ccl_parser::ccl_case_sensitive, ccl_memicmp(), ccl_qual_search_special(), ccl_qualifiers::list, ccl_qualifier::name, name, ccl_qualifier::next, ccl_qualifier::no_sub, and ccl_qualifier::sub.
Referenced by ccl_parser_qual_search(), qualifier_list(), and search_elements().
| const char ** ccl_qual_search_special | ( | CCL_bibset | b, |
| const char * | name | ||
| ) |
Search for special qualifier
Definition at line 401 of file cclqual.c.
References ccl_qualifier_special::name, name, ccl_qualifier_special::next, ccl_qualifiers::special, and ccl_qualifier_special::values.
Referenced by ccl_parser_tokenize(), ccl_qual_search(), ccl_search_stop(), ccl_term_one_use(), qualifier_list(), and token_cmp().
| int ccl_search_stop | ( | CCL_bibset | bibset, |
| const char * | qname, | ||
| const char * | src_str, | ||
| size_t | src_len | ||
| ) |
Definition at line 413 of file cclqual.c.
References ccl_memicmp(), ccl_qual_search_special(), and yaz_snprintf().
Referenced by ccl_remove_stop_r().