/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2011 Index Data
+ * Copyright (C) 1995-2013 Index Data
* See the file LICENSE for details.
*/
#if HAVE_CONFIG_H
else
{
int r = yaz_retrieval_configure(p, ptr);
-
+
if (r)
{
wrbuf_puts(w, yaz_retrieval_get_error(p));
}
xmlFreeDoc(doc);
return p;
- }
+ }
}
int conv_configure_test(const char *xmlstring, const char *expect_error,
static void tst_configure(void)
{
- YAZ_CHECK(conv_configure_test("<bad",
+ YAZ_CHECK(conv_configure_test("<bad",
"xmlParseMemory", 0));
- YAZ_CHECK(conv_configure_test("<bad/>",
+ YAZ_CHECK(conv_configure_test("<bad/>",
"Expected element <retrievalinfo>", 0));
YAZ_CHECK(conv_configure_test("<retrievalinfo/>", 0, 0));
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
- "<retrieval"
+ "<retrieval"
" unknown=\"unknown\""
">"
"</retrieval>"
"'unknown'", 0));
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
- "<retrieval"
+ "<retrieval"
" syntax=\"unknown_synt\""
">"
"</retrieval>"
"value syntax='unknown_synt'", 0));
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
- "<retrieval"
+ "<retrieval"
" syntax=\"usmarc\""
"/>"
"</retrievalinfo>",
0, 0));
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
- "<retrieval"
+ "<retrieval"
" syntax=\"usmarc\""
" name=\"marcxml\"/>"
"</retrievalinfo>",
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
- "<retrieval"
+ "<retrieval"
" syntax=\"usmarc\""
- " name=\"marcxml\""
+ " name=\"marcxml\""
" identifier=\"info:srw/schema/1/marcxml-v1.1\""
"/>"
"</retrievalinfo>",
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
- "<retrieval"
+ "<retrieval"
" syntax=\"usmarc\""
" identifier=\"info:srw/schema/1/marcxml-v1.1\""
" name=\"marcxml\">"
"<convert/>"
- "</retrieval>"
+ "</retrieval>"
"</retrievalinfo>",
"Element <retrieval>: expected zero or one element "
"<backend>, got <convert>", 0));
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
- "<retrieval"
+ "<retrieval"
" syntax=\"usmarc\""
" identifier=\"info:srw/schema/1/marcxml-v1.1\""
" name=\"marcxml\">"
" got 'schema'", 0));
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
- "<retrieval"
+ "<retrieval"
" syntax=\"usmarc\""
" identifier=\"info:srw/schema/1/marcxml-v1.1\""
" name=\"marcxml\">"
0, 0));
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
- "<retrieval"
+ "<retrieval"
" syntax=\"usmarc\""
" identifier=\"info:srw/schema/1/marcxml-v1.1\""
" name=\"marcxml\">"
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
- "<retrieval"
+ "<retrieval"
" syntax=\"usmarc\""
" identifier=\"info:srw/schema/1/marcxml-v1.1\""
" name=\"marcxml\">"
"Element <marc inputformat='not-existent'>: Unsupported"
" input format defined by attribute value", 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval syntax=\"usmarc\">"
+ "<backend syntax=\"xml\" name=\"dc\">"
+ "<xslt stylesheet=\"test_record_conv.xsl\"/>"
+ "<marc"
+ " inputcharset=\"utf-8\""
+ " outputcharset=\"marc-8\""
+ " inputformat=\"xml\""
+ " outputformat=\"marc\""
+ "/>"
+ "</backend>"
+ "<backend/>"
+ "</retrieval>"
+ "</retrievalinfo>",
+ "Element <retrieval>: "
+ "only one <backend> allowed", 0));
+
+
YAZ_CHECK(conv_configure_test("<retrievalinfo>"
"<retrieval syntax=\"usmarc\">"
"<backend syntax=\"xml\" name=\"dc\">"