YAZ 5.38.1
cclqual.c File Reference

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)

Detailed Description

Implements CCL qualifier utilities.

Definition in file cclqual.c.

Function Documentation

◆ ccl_parser_qual_search()

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_parser_qual_search(), and ccl_qual_search().

Referenced by ccl_parser_qual_search().

◆ ccl_qual_add_combi()

void ccl_qual_add_combi ( CCL_bibset b,
const char * n,
const char ** names )

adds specifies qualifier aliases

Parameters
bbibset
nqualifier name
nameslist of qualifier aliases

Add combo qualifier

Definition at line 127 of file cclqual.c.

References ccl_qualifier::attr_list, ccl_qual_add_combi(), 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_add(), ccl_qual_add_combi(), and ccl_qual_field2().

◆ ccl_qual_add_set()

void ccl_qual_add_set ( CCL_bibset b,
const char * name,
int no,
int * type,
int * value,
char ** svalue,
char ** attsets )

adds specifies attributes for qualifier

Parameters
bbibset
namequalifier name
nonumber of attribute type+value pairs
type_arattributes type of size no
value_arattribute value of size no
svalue_arattribute string values ([i] only used if != NULL)
attsetsattribute sets of size no

Add qualifier and supply attributes pairs+attribute set for it

Definition at line 165 of file cclqual.c.

References ccl_qualifier::attr_list, ccl_assert, ccl_qual_add_set(), ccl_qual_new(), CCL_RPN_ATTR_NUMERIC, CCL_RPN_ATTR_STRING, ccl_rpn_attr::kind, ccl_qualifiers::list, ccl_qualifier::name, ccl_qualifier::next, ccl_rpn_attr::next, ccl_rpn_attr::set, ccl_rpn_attr::type, ccl_rpn_attr::value, and xmalloc.

Referenced by ccl_qual_add(), ccl_qual_add_set(), and ccl_qual_field2().

◆ ccl_qual_add_special()

◆ ccl_qual_add_special_ar()

void ccl_qual_add_special_ar ( CCL_bibset bibset,
const char * n,
const char ** values )

◆ ccl_qual_dup()

◆ ccl_qual_get_attr()

struct ccl_rpn_attr * ccl_qual_get_attr ( ccl_qualifier_t q)

◆ ccl_qual_get_name()

const char * ccl_qual_get_name ( ccl_qualifier_t q)

Definition at line 396 of file cclqual.c.

References ccl_qual_get_name(), and ccl_qualifier::name.

Referenced by ccl_qual_get_name(), and ccl_term_one_use().

◆ ccl_qual_lookup()

struct ccl_qualifier * ccl_qual_lookup ( CCL_bibset b,
const char * n,
size_t len )
static

◆ ccl_qual_mk()

CCL_bibset ccl_qual_mk ( void )

creates Bibset

Returns
bibset

Make CCL qualifier set

Definition at line 210 of file cclqual.c.

References ccl_assert, ccl_qual_mk(), ccl_qualifiers::list, ccl_qualifiers::special, and xmalloc.

Referenced by ccl_qual_add(), ccl_qual_dup(), ccl_qual_mk(), xml_config_read(), and ZOOM_query_ccl2rpn().

◆ ccl_qual_new()

◆ ccl_qual_rm()

◆ ccl_qual_search()

◆ ccl_qual_search_special()

◆ ccl_search_stop()

int ccl_search_stop ( CCL_bibset bibset,
const char * qname,
const char * src_str,
size_t src_len )