Re-use match functions a little more
[yaz-moved-to-github.git] / src / sru-p.h
index aa3f3bf..fb6b290 100644 (file)
@@ -45,6 +45,22 @@ void yaz_sru_facet_request(ODR, Z_FacetList **facetList, const char **limit);
 #include <libxml/parser.h>
 #include <libxml/tree.h>
 
+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 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);
 
 void add_xsd_integer(xmlNodePtr ptr, const char *elem, const Odr_int *val);
@@ -52,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,