From: Heikki Levanto Date: Tue, 17 Feb 2015 13:33:27 +0000 (+0100) Subject: Merge branch 'master' of ssh://git.indexdata.com:222/home/git/pub/mp-sparql X-Git-Tag: v0.4~10 X-Git-Url: http://sru.miketaylor.org.uk/?a=commitdiff_plain;h=df235c1af71e884616a0b0e98edb4ebec63744a2;hp=b34de1b90e4a5bdf9bc0970a26ba2b29ffe4b8d5;p=mp-sparql-moved-to-github.git Merge branch 'master' of ssh://git.indexdata.com:222/home/git/pub/mp-sparql --- diff --git a/doc/filter_sparql.rnc b/doc/filter_sparql.rnc index 4e71e8c..3a97465 100644 --- a/doc/filter_sparql.rnc +++ b/doc/filter_sparql.rnc @@ -16,6 +16,7 @@ filter_sparql = element mp:index { attribute type { xsd:string }, xsd:string - }* + }*, + element mp:modifier { xsd:string }* }+ diff --git a/doc/sparql.xml b/doc/sparql.xml index ba4eca7..e23b149 100644 --- a/doc/sparql.xml +++ b/doc/sparql.xml @@ -77,6 +77,15 @@ + <modifier/> + + + Optional section that allows you to add solution sequences or + modifiers. + + + + diff --git a/src/sparql.c b/src/sparql.c index fbd8c91..55b02e1 100644 --- a/src/sparql.c +++ b/src/sparql.c @@ -326,21 +326,23 @@ int yaz_sparql_from_rpn_stream(yaz_sparql_t s, { ; } + else if (!strcmp(e->pattern, "modifier")) + { + ; + } else { errors++; } } - pr("\n", client_data); for (e = s->conf; e; e = e->next) { if (!strcmp(e->pattern, "form")) { - pr(" ", client_data); pr(e->value, client_data); + pr("\n", client_data); } } - pr("\n", client_data); pr("WHERE {\n", client_data); for (e = s->conf; e; e = e->next) { @@ -397,6 +399,15 @@ int yaz_sparql_from_rpn_stream(yaz_sparql_t s, wrbuf_destroy(vars); } pr("\n}\n", client_data); + + for (e = s->conf; e; e = e->next) + { + if (!strcmp(e->pattern, "modifier")) + { + pr(e->value, client_data); + pr(e->value, "\n"); + } + } yaz_tok_cfg_destroy(cfg); return errors ? -1 : r;