X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fdata1.h;h=7f21853edff2703388610103db4f22ace9ad6de6;hb=0a159e0b47088801788dc3a90b79f6d5e964ea1f;hp=91dbf9aab4a43333c367677b45ac1a79f6ebe7b2;hpb=ad7f3313654b48d43981d8b55a2a99d53347529f;p=yaz-moved-to-github.git diff --git a/include/data1.h b/include/data1.h index 91dbf9a..7f21853 100644 --- a/include/data1.h +++ b/include/data1.h @@ -24,7 +24,37 @@ * OF THIS SOFTWARE. * * $Log: data1.h,v $ - * Revision 1.9 1995-12-13 15:32:47 quinn + * Revision 1.19 1996-10-11 11:57:16 quinn + * Smallish + * + * Revision 1.18 1996/10/07 15:29:16 quinn + * Added SOIF support + * + * Revision 1.17 1996/07/06 19:58:32 quinn + * System headerfiles gathered in yconfig + * + * Revision 1.16 1996/06/10 08:55:34 quinn + * Added Summary. Unfinished work + * + * Revision 1.15 1996/06/03 09:46:03 quinn + * Added OID type. + * + * Revision 1.14 1996/05/09 07:27:11 quinn + * Multiple local values supported. + * + * Revision 1.13 1996/02/20 16:32:48 quinn + * Created util file. + * + * Revision 1.12 1996/01/18 09:46:34 adam + * Changed prototype for reader function parsed to data1_read_record. + * + * Revision 1.11 1995/12/15 16:19:45 quinn + * Added formatted_text. + * + * Revision 1.10 1995/12/14 11:09:43 quinn + * Work on Explain + * + * Revision 1.9 1995/12/13 15:32:47 quinn * Added sgml-output. * * Revision 1.8 1995/12/13 13:44:23 quinn @@ -105,6 +135,8 @@ #include #include +#define data1_matchstr(s1, s2) yaz_matchstr(s1, s2) + extern char *data1_tabpath; /* global path for tables */ #define DATA1_MAX_SYMBOL 31 @@ -129,6 +161,12 @@ typedef enum data1_datatype DATA1K_null } data1_datatype; +typedef enum data1_structure +{ + DATA1S_word, + DATA1S_phrase +} data1_structure; + typedef struct data1_marctab { char *name; @@ -219,6 +257,13 @@ typedef struct data1_tagset struct data1_tagset *next; /* sibling */ } data1_tagset; +typedef struct data1_termlist +{ + data1_att *att; + data1_structure structure; + struct data1_termlist *next; +} data1_termlist; + /* * abstract syntax specification */ @@ -227,7 +272,8 @@ typedef struct data1_element { char *name; data1_tag *tag; - data1_att *att; + data1_termlist *termlists; + struct data1_element *parent; struct data1_element *children; struct data1_element *next; } data1_element; @@ -275,6 +321,7 @@ typedef struct data1_node int node_selected; int make_variantlist; int no_data_requested; + int get_bytes; } tag; struct @@ -284,8 +331,10 @@ typedef struct data1_node DATA1I_inctxt, /* text inclusion */ DATA1I_incbin, /* binary data inclusion */ DATA1I_text, /* text data */ - DATA1I_num /* numerical data */ + DATA1I_num, /* numerical data */ + DATA1I_oid /* object identifier */ } what; + int formatted_text; /* newlines are significant */ int len; char *data; /* filename or data */ #define DATA1_LOCALDATA 40 @@ -318,13 +367,14 @@ typedef struct data1_node data1_node *get_parent_tag(data1_node *n); data1_node *data1_read_node(char **buf, data1_node *parent, int *line, data1_absyn *absyn, NMEM m); -data1_node *data1_read_record(int (*rf)(int, char *, size_t), int fd, NMEM m); +data1_node *data1_read_record(int (*rf)(void *, char *, size_t), + void *fh, NMEM m); data1_absyn *data1_read_absyn(char *file); data1_tag *data1_gettagbynum(data1_tagset *s, int type, int value); data1_tagset *data1_read_tagset(char *file); data1_element *data1_getelementbytagname(data1_absyn *abs, data1_element *parent, char *tagname); -Z_GenericRecord *data1_nodetogr(data1_node *n, int select, ODR o); +Z_GenericRecord *data1_nodetogr(data1_node *n, int select, ODR o, int *len); int data1_matchstr(char *s1, char *s2); data1_tag *data1_gettagbyname(data1_tagset *s, char *name); void data1_free_tree(data1_node *t); @@ -345,5 +395,8 @@ data1_node *data1_map_record(data1_node *n, data1_maptab *map, NMEM m); data1_marctab *data1_read_marctab(char *file); char *data1_nodetomarc(data1_marctab *p, data1_node *n, int selected, int *len); char *data1_nodetoidsgml(data1_node *n, int select, int *len); +Z_ExplainRecord *data1_nodetoexplain(data1_node *n, int select, ODR o); +Z_BriefBib *data1_nodetosummary(data1_node *n, int select, ODR o); +char *data1_nodetosoif(data1_node *n, int select, int *len); #endif