X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fxcqlutil.c;h=9eca708fdd81d715ec53e12f30ea00773d2b109b;hb=8fc18939a7972d53f8f8c516ac41df0fe595f780;hp=45815b0d14fb81a3f45ce50c4ad4f6618c110c3e;hpb=00106dc85fcaa3b02f9a0d471ea90a594bf3a175;p=yaz-moved-to-github.git diff --git a/src/xcqlutil.c b/src/xcqlutil.c index 45815b0..9eca708 100644 --- a/src/xcqlutil.c +++ b/src/xcqlutil.c @@ -1,11 +1,17 @@ -/* $Id: xcqlutil.c,v 1.3 2004-03-15 21:39:06 adam Exp $ - Copyright (C) 2002-2004 +/* $Id: xcqlutil.c,v 1.8 2007-06-28 07:58:07 adam Exp $ + Copyright (C) 1995-2007, Index Data ApS Index Data Aps This file is part of the YAZ toolkit. See the file LICENSE. */ + +/** + * \file xcqlutil.c + * \brief Implements CQL to XCQL conversion. + */ + #include #include #include @@ -58,59 +64,59 @@ static void prefixes(struct cql_node *cn, if (cn->u.st.index_uri) { pr_n("\n", pr, client_data, level); - head = 1; + head = 1; - pr_n("\n", pr, client_data, level+2); - pr_n("", pr, client_data, level+4); - pr_cdata(cn->u.st.index_uri, pr, client_data); - pr_n("\n", pr, client_data, 0); - pr_n("\n", pr, client_data, level+2); + pr_n("\n", pr, client_data, level+2); + pr_n("", pr, client_data, level+4); + pr_cdata(cn->u.st.index_uri, pr, client_data); + pr_n("\n", pr, client_data, 0); + pr_n("\n", pr, client_data, level+2); } if (cn->u.st.relation_uri && cn->u.st.relation) { - if (!head) - pr_n("\n", pr, client_data, level); - pr_n("\n", pr, client_data, level+2); - pr_n("", pr, client_data, level+4); - pr_cdata("rel", pr, client_data); - pr_n("\n", pr, client_data, 0); - pr_n("", pr, client_data, level+4); - pr_cdata(cn->u.st.relation_uri, pr, client_data); - pr_n("\n", pr, client_data, 0); - pr_n("\n", pr, client_data, level+2); + if (!head) + pr_n("\n", pr, client_data, level); + pr_n("\n", pr, client_data, level+2); + pr_n("", pr, client_data, level+4); + pr_cdata("rel", pr, client_data); + pr_n("\n", pr, client_data, 0); + pr_n("", pr, client_data, level+4); + pr_cdata(cn->u.st.relation_uri, pr, client_data); + pr_n("\n", pr, client_data, 0); + pr_n("\n", pr, client_data, level+2); } if (head) pr_n("\n", pr, client_data, level); } static void cql_to_xml_mod(struct cql_node *m, - void (*pr)(const char *buf, void *client_data), - void *client_data, int level) + void (*pr)(const char *buf, void *client_data), + void *client_data, int level) { if (m) { - pr_n("\n", pr, client_data, level); - for (; m; m = m->u.st.modifiers) - { - pr_n("\n", pr, client_data, level+2); - pr_n("", pr, client_data, level+4); - pr_cdata(m->u.st.index, pr, client_data); - pr_n("\n", pr, client_data, 0); - if (m->u.st.relation) - { - pr_n("", pr, client_data, level+4); - pr_cdata(m->u.st.relation, pr, client_data); - pr_n("\n", pr, client_data, 0); - } - if (m->u.st.term) - { - pr_n("", pr, client_data, level+4); - pr_cdata(m->u.st.term, pr, client_data); - pr_n("\n", pr, client_data, 0); - } - pr_n("\n", pr, client_data, level+2); - } - pr_n("\n", pr, client_data, level); + pr_n("\n", pr, client_data, level); + for (; m; m = m->u.st.modifiers) + { + pr_n("\n", pr, client_data, level+2); + pr_n("", pr, client_data, level+4); + pr_cdata(m->u.st.index, pr, client_data); + pr_n("\n", pr, client_data, 0); + if (m->u.st.relation) + { + pr_n("", pr, client_data, level+4); + pr_cdata(m->u.st.relation, pr, client_data); + pr_n("\n", pr, client_data, 0); + } + if (m->u.st.term) + { + pr_n("", pr, client_data, level+4); + pr_cdata(m->u.st.term, pr, client_data); + pr_n("\n", pr, client_data, 0); + } + pr_n("\n", pr, client_data, level+2); + } + pr_n("\n", pr, client_data, level); } } @@ -135,19 +141,19 @@ static void cql_to_xml_r(struct cql_node *cn, { pr_n("\n", pr, client_data, level+2); pr_n("", pr, client_data, level+4); - if (cn->u.st.relation_uri) - pr_cdata("rel.", pr, client_data); + if (cn->u.st.relation_uri) + pr_cdata("rel.", pr, client_data); pr_cdata(cn->u.st.relation, pr, client_data); pr_n("\n", pr, client_data, 0); - if (cn->u.st.relation_uri) - { - pr_n("", pr, client_data, level+4); - pr_cdata(cn->u.st.relation_uri, pr, client_data); - pr_n("\n", pr, client_data, 0); - } - cql_to_xml_mod(cn->u.st.modifiers, - pr, client_data, level+4); + if (cn->u.st.relation_uri) + { + pr_n("", pr, client_data, level+4); + pr_cdata(cn->u.st.relation_uri, pr, client_data); + pr_n("\n", pr, client_data, 0); + } + cql_to_xml_mod(cn->u.st.modifiers, + pr, client_data, level+4); pr_n("\n", pr, client_data, level+2); } @@ -169,8 +175,8 @@ static void cql_to_xml_r(struct cql_node *cn, pr_cdata(cn->u.boolean.value, pr, client_data); pr_n("\n", pr, client_data, 0); - cql_to_xml_mod(cn->u.boolean.modifiers, - pr, client_data, level+4); + cql_to_xml_mod(cn->u.boolean.modifiers, + pr, client_data, level+4); pr_n("\n", pr, client_data, level+2); } @@ -227,3 +233,11 @@ int cql_to_xml_buf(struct cql_node *cn, char *out, int max) return info.off; } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +