Extend MARC-8 to handle ESC-G0 EACC. Fix conversion order for MARCXML
[yaz-moved-to-github.git] / include / yaz / cql.h
index b1125e3..41c8315 100644 (file)
@@ -1,5 +1,5 @@
-/* $Id: cql.h,v 1.4 2003-05-27 09:46:26 mike Exp $
-   Copyright (C) 2002-2003
+/* $Id: cql.h,v 1.7 2004-03-15 21:39:06 adam Exp $
+   Copyright (C) 2002-2004
    Index Data Aps
 
 This file is part of the YAZ toolkit.
@@ -12,6 +12,8 @@ See the file LICENSE.
 #include <stdio.h>
 #include <yaz/yconfig.h>
 
+YAZ_BEGIN_CDECL
+
 typedef struct cql_parser *CQL_parser;
 
 /**
@@ -86,23 +88,18 @@ struct cql_node {
     union {
         struct {
             char *index;
+           char *index_uri;
             char *term;
             char *relation;
+           char *relation_uri;
             struct cql_node *modifiers;
-            struct cql_node *prefixes;
         } st;
         struct {
             char *value;
             struct cql_node *left;
             struct cql_node *right;
             struct cql_node *modifiers;
-            struct cql_node *prefixes;
         } boolean;
-        struct {
-            char *name;
-            char *value;
-            struct cql_node *next;
-        } mod;
     } u;
 };
 
@@ -123,19 +120,17 @@ YAZ_EXPORT
 struct cql_node *cql_node_mk_sc(const char *index,
                                 const char *relation,
                                 const char *term);
+
+
+YAZ_EXPORT
+struct cql_node *cql_apply_prefix(struct cql_node *cn,
+                                 const char *relation,
+                                 const char *term);
 YAZ_EXPORT
 struct cql_node *cql_node_mk_boolean(const char *op);
 YAZ_EXPORT
 void cql_node_destroy(struct cql_node *cn);
 YAZ_EXPORT
-struct cql_node *cql_node_prefix(struct cql_node *n, 
-                                 const char *prefix,
-                                 const char *uri);
-YAZ_EXPORT
-struct cql_node *cql_node_mk_mod(const char *name,
-                                 const char *value);
-
-YAZ_EXPORT
 struct cql_node *cql_node_dup (struct cql_node *cp);
 YAZ_EXPORT
 struct cql_node *cql_parser_result(CQL_parser cp);
@@ -187,5 +182,10 @@ int cql_transform_error(cql_transform_t ct, const char **addinfo);
 YAZ_EXPORT
 const char *cql_strerror(int code);
 
+YAZ_EXPORT
+const char *cql_uri();
+
+YAZ_END_CDECL
+
 #endif
 /* CQL_H_INCLUDED */