X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fidzebra%2Fdata1.h;h=b12d7950894b5d26af96383be48c80c01a30b791;hb=1872e3fc60b482771bbd1cb4b0290b8d6a9ef5d0;hp=3f931128a0d5dfeeacfd2d96ae6b05782afb9a8a;hpb=b88909df16157ed1e7859bc3fad6b01520d4865e;p=idzebra-moved-to-github.git diff --git a/include/idzebra/data1.h b/include/idzebra/data1.h index 3f93112..b12d795 100644 --- a/include/idzebra/data1.h +++ b/include/idzebra/data1.h @@ -1,5 +1,5 @@ -/* $Id: data1.h,v 1.15 2006-06-13 12:02:03 adam Exp $ - Copyright (C) 1995-2006 +/* $Id: data1.h,v 1.22 2007-04-16 08:44:31 adam Exp $ + Copyright (C) 1995-2007 Index Data ApS This file is part of the Zebra server. @@ -15,9 +15,9 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ #ifndef DATA1_H @@ -26,7 +26,6 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include #include #include @@ -72,7 +71,7 @@ struct data1_attset_child { struct data1_attset { char *name; /* symbolic name */ - oid_value reference; /* external ID of attset */ + int *oid; /* attribute set OID */ data1_att *atts; /* attributes */ data1_attset_child *children; /* included attset */ data1_attset *next; /* next in cache */ @@ -112,7 +111,7 @@ typedef struct data1_mapunit typedef struct data1_maptab { char *name; - oid_value target_absyn_ref; + int *oid; /* target abstract syntax */ char *target_absyn_name; data1_mapunit *map; struct data1_maptab *next; @@ -146,7 +145,7 @@ typedef enum data1_datatype typedef struct data1_marctab { char *name; - oid_value reference; + int *oid; /* MARC OID */ char record_status[2]; char implementation_codes[5]; @@ -197,7 +196,7 @@ typedef struct data1_varclass typedef struct data1_varset { char *name; - oid_value reference; + int *oid; /* variant OID */ data1_varclass *classes; } data1_varset; @@ -230,7 +229,7 @@ struct data1_tagset { int type; /* type of tagset in current context */ char *name; /* symbolic name */ - oid_value reference; + int *oid; /* variant OID */ data1_tag *tags; /* tags defined by this set */ data1_tagset *children; /* children */ data1_tagset *next; /* sibling */ @@ -344,7 +343,6 @@ typedef struct data1_node } preprocess; } u; - void (*destroy)(struct data1_node *n); #define DATA1_LOCALDATA 12 char lbuf[DATA1_LOCALDATA]; /* small buffer for local data */ struct data1_node *next; @@ -372,6 +370,9 @@ YAZ_EXPORT data1_node *data1_read_nodex (data1_handle dh, NMEM m, YAZ_EXPORT data1_node *data1_read_record(data1_handle dh, int (*rf)(void *, char *, size_t), void *fh, NMEM m); + +YAZ_EXPORT void data1_remove_node (data1_handle dh, data1_node *n); +YAZ_EXPORT void data1_remove_idzebra_subtree (data1_handle dh, data1_node *n); YAZ_EXPORT data1_tag *data1_gettagbynum(data1_handle dh, data1_tagset *s, int type, int value); @@ -388,7 +389,6 @@ YAZ_EXPORT Z_GenericRecord *data1_nodetogr(data1_handle dh, data1_node *n, int *len); YAZ_EXPORT data1_tag *data1_gettagbyname(data1_handle dh, data1_tagset *s, const char *name); -YAZ_EXPORT void data1_free_tree(data1_handle dh, data1_node *t); YAZ_EXPORT char *data1_nodetobuf(data1_handle dh, data1_node *n, int select, int *len); YAZ_EXPORT data1_node *data1_mk_tag_data_wd(data1_handle dh, @@ -501,9 +501,9 @@ YAZ_EXPORT data1_node *data1_map_record(data1_handle dh, data1_node *n, YAZ_EXPORT data1_marctab *data1_read_marctab (data1_handle dh, const char *file); YAZ_EXPORT data1_marctab *data1_absyn_getmarctab(data1_handle dh, - data1_absyn *absyn); + data1_node *root); YAZ_EXPORT data1_element *data1_absyn_getelements(data1_handle dh, - data1_absyn *absyn); + data1_node *root); YAZ_EXPORT char *data1_nodetomarc(data1_handle dh, data1_marctab *p, data1_node *n, int selected, int *len); YAZ_EXPORT char *data1_nodetoidsgml(data1_handle dh, data1_node *n, @@ -541,7 +541,8 @@ YAZ_EXPORT void data1_absyn_trav (data1_handle dh, void *handle, void (*fh)(data1_handle dh, void *h, data1_absyn *a)); -YAZ_EXPORT data1_attset *data1_attset_search_id (data1_handle dh, int id); +YAZ_EXPORT data1_attset *data1_attset_search_id (data1_handle dh, + const int *oid); YAZ_EXPORT char *data1_getNodeValue(data1_node* node, char* pTagPath); YAZ_EXPORT data1_node *data1_LookupNode(data1_node* node, char* pTagPath); @@ -580,6 +581,8 @@ YAZ_EXPORT void data1_concat_text(data1_handle dh, NMEM m, data1_node *n); YAZ_EXPORT void data1_absyn_destroy(data1_handle dh); +YAZ_EXPORT const char *data1_absyn_get_staticrank(data1_absyn *absyn); + YAZ_END_CDECL #endif