X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fdata1.h;h=2d4b80251ee40763814e5cead2db7a892e360d64;hb=52b0f7a370fd7444f650909a574e49fdb0ffc522;hp=0e1542ab5d57f08fc02e823c056ee60ea393d718;hpb=abfbb8adfc5e2cbc048b623d41eaf36f05cf8bd9;p=yaz-moved-to-github.git diff --git a/include/data1.h b/include/data1.h index 0e1542a..2d4b802 100644 --- a/include/data1.h +++ b/include/data1.h @@ -24,7 +24,19 @@ * OF THIS SOFTWARE. * * $Log: data1.h,v $ - * Revision 1.10 1995-12-14 11:09:43 quinn + * 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 @@ -108,6 +120,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 @@ -132,6 +146,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; @@ -222,6 +242,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 */ @@ -230,7 +257,7 @@ typedef struct data1_element { char *name; data1_tag *tag; - data1_att *att; + data1_termlist *termlists; struct data1_element *children; struct data1_element *next; } data1_element; @@ -289,6 +316,7 @@ typedef struct data1_node DATA1I_text, /* text data */ DATA1I_num /* numerical data */ } what; + int formatted_text; /* newlines are significant */ int len; char *data; /* filename or data */ #define DATA1_LOCALDATA 40 @@ -321,7 +349,8 @@ 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);