+ Z_Query *query2 = 0;
+ int error_code = 0;
+ const char *addinfo = 0;
+ const xmlNode *root_element = xmlDocGetRootElement(doc);
+ ODR odr2 = odr_createmem(ODR_ENCODE);
+
+ yaz_xml2query(root_element, &query2, odr2,
+ &error_code, &addinfo);
+ if (error_code || !query2)
+ status = XML_NO_MATCH;
+ else
+ {
+ WRBUF w = wrbuf_alloc();
+ yaz_query_to_wrbuf(w, query2);
+ if (!expect_pqf || strcmp(expect_pqf, wrbuf_cstr(w)) == 0)
+ status = XML_MATCH;
+ else
+ {
+ status = XML_NO_MATCH;
+ printf("Result: %s\n", wrbuf_cstr(w));
+ }
+ wrbuf_destroy(w);
+ }
+ odr_destroy(odr2);