retrieval.h File Reference

Retrieval Utility. More...

#include <stddef.h>
#include <yaz/wrbuf.h>
#include <yaz/yconfig.h>
#include <yaz/oid_util.h>
#include <yaz/record_conv.h>

Go to the source code of this file.

Typedefs

typedef struct
yaz_retrieval_struct
yaz_retrieval_t

Functions

yaz_retrieval_t yaz_retrieval_create (void)
void yaz_retrieval_destroy (yaz_retrieval_t p)
int yaz_retrieval_configure (yaz_retrieval_t p, const xmlNode *node)
int yaz_retrieval_request (yaz_retrieval_t p, const char *schema, Odr_oid *syntax, const char **match_schema, Odr_oid **match_syntax, yaz_record_conv_t *rc, const char **backend_schema, Odr_oid **backend_syntax)
const char * yaz_retrieval_get_error (yaz_retrieval_t p)
void yaz_retrieval_set_path (yaz_retrieval_t p, const char *path)


Detailed Description

Retrieval Utility.

Definition in file retrieval.h.


Typedef Documentation

retrieval handle

Definition at line 45 of file retrieval.h.


Function Documentation

int yaz_retrieval_configure ( yaz_retrieval_t  p,
const xmlNode *  node 
)

configures retrieval

Parameters:
p retrieval handle
node xmlNode pointer (root element of XML config)
Return values:
0 success
-1 failure
On failure, use yaz_retrieval_get_error to get error string.

For retrieval:

     <retrievalinfo>
       <retrieval syntax="usmarc" name="F"/>
       <retrieval syntax="usmarc" name="B"/>
       <retrieval syntax="xml" name="marcxml"
		  identifier="info:srw/schema/1/marcxml-v1.1">
         <backend syntax="usmarc" name="F">
	   <marc inputformat="marc" outputformat="marcxml"
		 inputcharset="marc-8"/>
	 </backend>
       </retrieval>
       <retrieval syntax="xml" name="dc">
         <backend syntax="usmarc" name="F">
	   <marc inputformat="marc" outputformat="marcxml"
		 inputcharset="marc-8"/>
           <xslt stylesheet="MARC21slim2DC.xsl"/>
	 </backend>
       </retrieval>
     </retrievalinfo>
    

Definition at line 243 of file retrieval.c.

References yaz_retrieval_struct::wr_error, and wrbuf_printf().

yaz_retrieval_t yaz_retrieval_create ( void   ) 

void yaz_retrieval_destroy ( yaz_retrieval_t  p  ) 

destroys retrieval handle

Parameters:
p retrieval handle

Definition at line 85 of file retrieval.c.

References yaz_retrieval_struct::odr, odr_destroy(), yaz_retrieval_struct::path, yaz_retrieval_struct::wr_error, wrbuf_destroy(), and xfree.

const char* yaz_retrieval_get_error ( yaz_retrieval_t  p  ) 

returns error string (for last error)

Parameters:
p record conversion handle
Returns:
error string

Definition at line 357 of file retrieval.c.

References yaz_retrieval_struct::wr_error, and wrbuf_cstr().

int yaz_retrieval_request ( yaz_retrieval_t  p,
const char *  schema,
Odr_oid syntax,
const char **  match_schema,
Odr_oid **  match_syntax,
yaz_record_conv_t rc,
const char **  backend_schema,
Odr_oid **  backend_syntax 
)

performs retrieval request based on schema and format

Parameters:
p retrieval handle
schema record schema (SRU) / element set name (Z39.50)
syntax record syntax (format)
match_schema matched schema (if conversion was successful)
match_syntax matced syntax OID if conversion was successful)
rc record conversion reference (if conversion was successful)
backend_schema backend scchema (if conversion was successful)
backend_syntax backend syntax (if conversion was successful)
Return values:
0 success, schema and syntax matches
-1 failure, use yaz_retrieval_get_error() for reason
1 schema does not match
2 syntax does not match
3 both match but not together

Definition at line 276 of file retrieval.c.

References yaz_retrieval_elem::backend_name, yaz_retrieval_elem::backend_syntax, yaz_retrieval_elem::identifier, yaz_retrieval_struct::list, yaz_retrieval_elem::name, yaz_retrieval_elem::next, oid_oid_to_dotstring(), oid_oidcmp(), OID_STR_MAX, yaz_retrieval_elem::record_conv, yaz_retrieval_elem::syntax, yaz_retrieval_struct::wr_error, wrbuf_printf(), wrbuf_rewind(), and yaz_match_glob().

void yaz_retrieval_set_path ( yaz_retrieval_t  p,
const char *  path 
)

set path for opening stylesheets etc.

Parameters:
p record conversion handle
path file path (UNIX style with : / Windows with ;)

Definition at line 362 of file retrieval.c.

References yaz_retrieval_struct::path, xfree, and xstrdup.


Generated on Mon Nov 10 17:14:38 2008 for YAZ by  doxygen 1.5.6