X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Ftools.xml;h=ec3bc1bbb21802714eaca269e1e08b52355e8f70;hp=e490b1c071b9b83234a219511e2a6530cf4ef407;hb=c13416878ec0afc9d91bdd20deb20c82425e67b6;hpb=6a8bbb0642cc2256976e0f2e0203c4b61bd7f3ad diff --git a/doc/tools.xml b/doc/tools.xml index e490b1c..ec3bc1b 100644 --- a/doc/tools.xml +++ b/doc/tools.xml @@ -867,6 +867,11 @@ ? + mask + Masking character + # + + field Specifies how multiple fields are to be combined. There are two modes: or: @@ -1092,6 +1097,7 @@ struct cql_node *cql_parser_result(CQL_parser cp); #define CQL_NODE_ST 1 #define CQL_NODE_BOOL 2 +#define CQL_NODE_SORT 3 struct cql_node { int which; union { @@ -1109,10 +1115,17 @@ struct cql_node { struct cql_node *right; struct cql_node *modifiers; } boolean; + struct { + char *index; + struct cql_node *next; + struct cql_node *modifiers; + struct cql_node *search; + } sort; } u; }; - There are two node types: search term (ST) and boolean (BOOL). + There are three node types: search term (ST), boolean (BOOL) + and sortby (SORT). A modifier is treated as a search term too. @@ -1157,8 +1170,8 @@ struct cql_node { - The boolean node represents both and, - or, not as well as + The boolean node represents and, + or, not + proximity. @@ -1175,6 +1188,10 @@ struct cql_node { + + The sort node represents both the SORTBY clause. + + CQL to PQF conversion @@ -1557,6 +1574,27 @@ void cql_to_xml_stdio(struct cql_node *cn, FILE *f); a file. + + PQF to CQL conversion + + Conversion from PQF to CQL is offered by the two functions shown + below. The former uses a generic stream for result. The latter + puts result in a WRBUF (string container). + +#include <yaz/rpn2cql.h> + +int cql_transform_rpn2cql_stream(cql_transform_t ct, + void (*pr)(const char *buf, void *client_data), + void *client_data, + Z_RPNQuery *q); + +int cql_transform_rpn2cql_wrbuf(cql_transform_t ct, + WRBUF w, + Z_RPNQuery *q); + + The configuration is the same as used in CQL to PQF conversions. + + Object Identifiers