-/*
- * Copyright (C) 1995-2005, Index Data ApS
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2009 Index Data
* See the file LICENSE for details.
- *
- * $Id: tstxmlquery.c,v 1.9 2006-02-19 18:44:23 adam Exp $
*/
#include <stdlib.h>
#include <yaz/pquery.h>
#include <yaz/test.h>
-#if HAVE_XML2
+#if YAZ_HAVE_XML2
#include <libxml/parser.h>
#include <libxml/tree.h>
#endif
status = PQF_FAILED;
else
{
-#if HAVE_XML2
+#if YAZ_HAVE_XML2
xmlDocPtr doc = 0;
yaz_rpnquery2xml(rpn, &doc);
{
WRBUF w = wrbuf_alloc();
yaz_query_to_wrbuf(w, query2);
- if (!expect_pqf || strcmp(expect_pqf, wrbuf_buf(w)) == 0)
+ if (!expect_pqf || strcmp(expect_pqf, wrbuf_cstr(w)) == 0)
status = XML_MATCH;
else
{
status = XML_NO_MATCH;
- printf("Result: %s\n", wrbuf_buf(w));
+ printf("Result: %s\n", wrbuf_cstr(w));
}
- wrbuf_free(w, 1);
+ wrbuf_destroy(w);
}
odr_destroy(odr2);
}
return status;
}
-static void tst()
+static void tst(void)
{
YAZ_CHECK_EQ(pqf2xml_text("@attr 1=4 bad query", "", 0), PQF_FAILED);
-#if HAVE_XML2
+#if YAZ_HAVE_XML2
YAZ_CHECK_EQ(pqf2xml_text(
"@attr 1=4 computer",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"Bib-1\" type=\"rpn\">"
+ "<query><rpn set=\"Bib-1\">"
"<apt><attr type=\"1\" value=\"4\"/>"
"<term type=\"general\">computer</term></apt>"
- "</query>\n",
- "RPN: @attrset Bib-1 @attr 1=4 computer"
+ "</rpn></query>\n",
+ "RPN @attrset Bib-1 @attr 1=4 computer"
), XML_MATCH);
YAZ_CHECK_EQ(pqf2xml_text(
"@attr 2=1 @attr 1=title computer",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"Bib-1\" type=\"rpn\">"
+ "<query><rpn set=\"Bib-1\">"
"<apt><attr type=\"1\" value=\"title\"/>"
"<attr type=\"2\" value=\"1\"/>"
"<term type=\"general\">computer</term></apt>"
- "</query>\n",
- "RPN: @attrset Bib-1 @attr \"1=title\" @attr 2=1 computer"
+ "</rpn></query>\n",
+ "RPN @attrset Bib-1 @attr \"1=title\" @attr 2=1 computer"
), XML_MATCH);
YAZ_CHECK_EQ(pqf2xml_text(
"@attr 2=1 @attr exp1 1=1 computer",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"Bib-1\" type=\"rpn\">"
+ "<query><rpn set=\"Bib-1\">"
"<apt><attr set=\"Exp-1\" type=\"1\" value=\"1\"/>"
"<attr type=\"2\" value=\"1\"/>"
"<term type=\"general\">computer</term></apt>"
- "</query>\n",
- "RPN: @attrset Bib-1 @attr Exp-1 1=1 @attr 2=1 computer"
+ "</rpn></query>\n",
+ "RPN @attrset Bib-1 @attr Exp-1 1=1 @attr 2=1 computer"
), XML_MATCH);
YAZ_CHECK_EQ(pqf2xml_text(
"@and a b",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"Bib-1\" type=\"rpn\">"
- "<binary type=\"and\">"
+ "<query><rpn set=\"Bib-1\">"
+ "<operator type=\"and\">"
"<apt><term type=\"general\">a</term></apt>"
"<apt><term type=\"general\">b</term></apt>"
- "</binary></query>\n",
- "RPN: @attrset Bib-1 @and a b"
+ "</operator></rpn></query>\n",
+ "RPN @attrset Bib-1 @and a b"
), XML_MATCH);
YAZ_CHECK_EQ(pqf2xml_text(
"@or @and a b c",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"Bib-1\" type=\"rpn\">"
- "<binary type=\"or\">"
- "<binary type=\"and\">"
+ "<query><rpn set=\"Bib-1\">"
+ "<operator type=\"or\">"
+ "<operator type=\"and\">"
"<apt><term type=\"general\">a</term></apt>"
- "<apt><term type=\"general\">b</term></apt></binary>"
+ "<apt><term type=\"general\">b</term></apt></operator>"
"<apt><term type=\"general\">c</term></apt>"
- "</binary></query>\n",
- "RPN: @attrset Bib-1 @or @and a b c"
+ "</operator></rpn></query>\n",
+ "RPN @attrset Bib-1 @or @and a b c"
), XML_MATCH);
YAZ_CHECK_EQ(pqf2xml_text(
"@set abe",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"Bib-1\" type=\"rpn\">"
- "<rset>abe</rset></query>\n",
- "RPN: @attrset Bib-1 @set abe"
+ "<query><rpn set=\"Bib-1\">"
+ "<rset>abe</rset></rpn></query>\n",
+ "RPN @attrset Bib-1 @set abe"
), XML_MATCH);
YAZ_CHECK_EQ(pqf2xml_text(
knownunit, proxunit */
"@prox 0 3 1 2 k 2 a b",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"Bib-1\" type=\"rpn\">"
- "<binary type=\"prox\" exclusion=\"false\" "
+ "<query><rpn set=\"Bib-1\">"
+ "<operator type=\"prox\" exclusion=\"false\" "
"distance=\"3\" "
"ordered=\"true\" "
"relationType=\"2\" "
"knownProximityUnit=\"2\">"
"<apt><term type=\"general\">a</term></apt>"
"<apt><term type=\"general\">b</term></apt>"
- "</binary></query>\n",
- "RPN: @attrset Bib-1 @prox 0 3 1 2 k 2 a b"
+ "</operator></rpn></query>\n",
+ "RPN @attrset Bib-1 @prox 0 3 1 2 k 2 a b"
), XML_MATCH);
YAZ_CHECK_EQ(pqf2xml_text(
"@term numeric 32",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"Bib-1\" type=\"rpn\">"
+ "<query><rpn set=\"Bib-1\">"
"<apt>"
"<term type=\"numeric\">32</term></apt>"
- "</query>\n",
- "RPN: @attrset Bib-1 @term numeric 32"
+ "</rpn></query>\n",
+ "RPN @attrset Bib-1 @term numeric 32"
), XML_MATCH);
YAZ_CHECK_EQ(pqf2xml_text(
"@term string computer",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"Bib-1\" type=\"rpn\">"
+ "<query><rpn set=\"Bib-1\">"
"<apt>"
"<term type=\"string\">computer</term></apt>"
- "</query>\n",
- "RPN: @attrset Bib-1 @term string computer"
+ "</rpn></query>\n",
+ "RPN @attrset Bib-1 @term string computer"
), XML_MATCH);
YAZ_CHECK_EQ(pqf2xml_text(
"@term null void",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"Bib-1\" type=\"rpn\">"
+ "<query><rpn set=\"Bib-1\">"
"<apt>"
"<term type=\"null\"/></apt>"
- "</query>\n",
- "RPN: @attrset Bib-1 @term null x"
+ "</rpn></query>\n",
+ "RPN @attrset Bib-1 @term null x"
), XML_MATCH);
YAZ_CHECK_EQ(pqf2xml_text(
"@attrset gils @attr 4=2 x",
"<?xml version=\"1.0\"?>\n"
- "<query set=\"GILS\" type=\"rpn\">"
+ "<query><rpn set=\"GILS\">"
"<apt>"
"<attr type=\"4\" value=\"2\"/>"
"<term type=\"general\">x</term></apt>"
- "</query>\n",
- "RPN: @attrset GILS @attr 4=2 x"
+ "</rpn></query>\n",
+ "RPN @attrset GILS @attr 4=2 x"
), XML_MATCH);
#endif
}
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab