Re-implemented the element name encoding as Adams suggestion: <e tag="value"> when...
[yaz-moved-to-github.git] / src / yaz-ccl.c
1 /* This file is part of the YAZ toolkit.
2  * Copyright (C) 1995-2010 Index Data
3  * See the file LICENSE for details.
4  */
5 /**
6  * \file yaz-ccl.c
7  * \brief Implements CCL node tree to RPN converson.
8  */
9
10 #include <stdio.h>
11 #include <stdlib.h>
12 #include <string.h>
13 #include <ctype.h>
14
15 #include <yaz/yaz-ccl.h>
16 #include <yaz/pquery.h>
17
18 Z_RPNQuery *ccl_rpn_query (ODR o, struct ccl_rpn_node *p)
19 {
20     YAZ_PQF_Parser parser = yaz_pqf_create();
21     WRBUF wr = wrbuf_alloc();
22     Z_RPNQuery *q;
23
24     ccl_pquery(wr, p);
25
26     q = yaz_pqf_parse(parser, o, wrbuf_cstr(wr));
27
28     wrbuf_destroy(wr);
29     yaz_pqf_destroy(parser);
30     return q;
31 }
32
33 Z_AttributesPlusTerm *ccl_scan_query (ODR o, struct ccl_rpn_node *p)
34 {
35     YAZ_PQF_Parser parser = yaz_pqf_create();
36     WRBUF wr = wrbuf_alloc();
37     Z_AttributesPlusTerm *q;
38     Odr_oid *setp;
39
40     ccl_pquery(wr, p);
41
42     q = yaz_pqf_scan(parser, o, &setp, wrbuf_cstr(wr));
43
44     wrbuf_destroy(wr);
45     yaz_pqf_destroy(parser);
46     return q;
47 }
48
49 /*
50  * Local variables:
51  * c-basic-offset: 4
52  * c-file-style: "Stroustrup"
53  * indent-tabs-mode: nil
54  * End:
55  * vim: shiftwidth=4 tabstop=8 expandtab
56  */
57