Re-use match functions a little more
[yaz-moved-to-github.git] / src / sru-p.h
index 3c9856e..fb6b290 100644 (file)
@@ -45,11 +45,21 @@ void yaz_sru_facet_request(ODR, Z_FacetList **facetList, const char **limit);
 #include <libxml/parser.h>
 #include <libxml/tree.h>
 
-int match_xsd_string(xmlNodePtr ptr, const char *elem, ODR o, char **val);
-int match_xsd_integer(xmlNodePtr ptr, const char *elem, ODR o, Odr_int **val);
-int match_xsd_string_n(xmlNodePtr ptr, const char *elem, ODR o,
+int yaz_match_xsd_string(xmlNodePtr ptr, const char *elem, ODR o,
+                         char **val);
+int yaz_match_xsd_integer(xmlNodePtr ptr, const char *elem, ODR o,
+                          Odr_int **val);
+int yaz_match_xsd_string_n(xmlNodePtr ptr, const char *elem, ODR o,
                        char **val, int *len);
-int match_element(xmlNodePtr ptr, const char *elem);
+int yaz_match_xsd_string_n_nmem(xmlNodePtr ptr, const char *elem, NMEM nmem,
+                                char **val, int *len);
+int yaz_match_xsd_element(xmlNodePtr ptr, const char *elem);
+
+int yaz_match_xsd_XML_n2(xmlNodePtr ptr, const char *elem, ODR o,
+                         char **val, int *len, int fixup_root);
+
+int yaz_match_xsd_XML_n(xmlNodePtr ptr, const char *elem, ODR o,
+                        char **val, int *len);
 
 xmlNodePtr add_xsd_string(xmlNodePtr ptr, const char *elem, const char *val);
 
@@ -58,6 +68,12 @@ void add_xsd_integer(xmlNodePtr ptr, const char *elem, const Odr_int *val);
 xmlNodePtr add_xsd_string_n(xmlNodePtr ptr, const char *elem, const char *val,
                             int len);
 
+void add_XML_n(xmlNodePtr ptr, const char *elem, char *val, int len,
+               xmlNsPtr ns_ptr);
+
+xmlNodePtr add_xsd_string_ns(xmlNodePtr ptr, const char *elem, const char *val,
+                             xmlNsPtr ns_ptr);
+
 void yaz_sru_facet_response(ODR o, Z_FacetList **facetList, xmlNodePtr n);
 
 const char *yaz_element_attribute_value_get(xmlNodePtr ptr,