+ YAZ_CHECK(conv_configure_test("<bad",
+ "xmlParseMemory", 0));
+
+ YAZ_CHECK(conv_configure_test("<bad/>",
+ "Expected element <retrievalinfo>", 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo/>", 0, 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo><bad/></retrievalinfo>",
+ "Element <retrievalinfo>:"
+ " expected element <retrieval>, got <bad>",
+ 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo><retrieval/>"
+ "</retrievalinfo>",
+ "Missing 'syntax' attribute", 0));
+
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval"
+ " unknown=\"unknown\""
+ ">"
+ "</retrieval>"
+ "</retrievalinfo>",
+ "Element <retrieval>: expected attributes "
+ "'syntax', identifier' or 'name', got "
+ "'unknown'", 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval"
+ " syntax=\"unknown_synt\""
+ ">"
+ "</retrieval>"
+ "</retrievalinfo>",
+ "Element <retrieval>: unknown attribute "
+ "value syntax='unknown_synt'", 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval"
+ " syntax=\"usmarc\""
+ "/>"
+ "</retrievalinfo>",
+ 0, 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval"
+ " syntax=\"usmarc\""
+ " name=\"marcxml\"/>"
+ "</retrievalinfo>",
+ 0, 0));
+
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval"
+ " syntax=\"usmarc\""
+ " name=\"marcxml\""
+ " identifier=\"info:srw/schema/1/marcxml-v1.1\""
+ "/>"
+ "</retrievalinfo>",
+ 0, 0));
+
+
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval"
+ " syntax=\"usmarc\""
+ " identifier=\"info:srw/schema/1/marcxml-v1.1\""
+ " name=\"marcxml\">"
+ "<convert/>"
+ "</retrieval>"
+ "</retrievalinfo>",
+ "Element <retrieval>: expected zero or one element "
+ "<backend>, got <convert>", 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval"
+ " syntax=\"usmarc\""
+ " identifier=\"info:srw/schema/1/marcxml-v1.1\""
+ " name=\"marcxml\">"
+ " <backend syntax=\"usmarc\""
+ " schema=\"marcxml\""
+ "/>"
+ "</retrieval>"
+ "</retrievalinfo>",
+ "Element <backend>: expected attributes 'syntax' or 'name,"
+ " got 'schema'", 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval"
+ " syntax=\"usmarc\""
+ " identifier=\"info:srw/schema/1/marcxml-v1.1\""
+ " name=\"marcxml\">"
+ " <backend syntax=\"usmarc\""
+ " name=\"marcxml\""
+ "/>"
+ "</retrieval>"
+ "</retrievalinfo>",
+ 0, 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval"
+ " syntax=\"usmarc\""
+ " identifier=\"info:srw/schema/1/marcxml-v1.1\""
+ " name=\"marcxml\">"
+ " <backend syntax=\"unknown\""
+ "/>"
+ "</retrieval>"
+ "</retrievalinfo>",
+ "Element <backend syntax='unknown'>: "
+ "attribute 'syntax' has invalid value "
+ "'unknown'", 0));
+
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval"
+ " syntax=\"usmarc\""
+ " identifier=\"info:srw/schema/1/marcxml-v1.1\""
+ " name=\"marcxml\">"
+ " <backend syntax=\"usmarc\""
+ " unknown=\"silly\""
+ "/>"
+ "</retrieval>"
+ "</retrievalinfo>",
+ "Element <backend>: expected attributes "
+ "'syntax' or 'name, got 'unknown'", 0));
+
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval syntax=\"usmarc\">"
+ "<backend syntax=\"xml\" name=\"dc\">"
+ "<xslt stylesheet=\"tst_record_conv.xsl\"/>"
+ "<marc"
+ " inputcharset=\"utf-8\""
+ " outputcharset=\"non-existent\""
+ " inputformat=\"xml\""
+ " outputformat=\"marc\""
+ "/>"
+ "</backend>"
+ "</retrieval>"
+ "</retrievalinfo>",
+ "Element <marc inputcharset='utf-8'"
+ " outputcharset='non-existent'>: Unsupported character"
+ " set mapping defined by attribute values", 0));
+
+ YAZ_CHECK(conv_configure_test("<retrievalinfo>"
+ "<retrieval syntax=\"usmarc\">"
+ "<backend syntax=\"xml\" name=\"dc\">"