X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fsru-p.h;h=3a3031b6f182f0a1298349f0b08e39529f5bcf2b;hp=bf1f15823045c3e6e1c200a35f7c854ec523cde4;hb=935b1ba0c2c3dc480b0afcb3673abe2ef2dd893f;hpb=1fbd038d97d6e1bfe97270ecc17cca123bcc435c diff --git a/src/sru-p.h b/src/sru-p.h index bf1f158..3a3031b 100644 --- a/src/sru-p.h +++ b/src/sru-p.h @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2011 Index Data. + * Copyright (C) Index Data. * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -37,10 +37,49 @@ void yaz_add_name_value_int(ODR o, char **name, char **value, int *i, Z_AttributeList *yaz_use_attribute_create(ODR o, const char *name); +char *yaz_negotiate_sru_version(char *input_ver); + +void yaz_sru_facet_request(ODR, Z_FacetList **facetList, + const char **limit, const char **start, + const char **sort); + #if YAZ_HAVE_XML2 #include #include -const char *yaz_element_attribute_value_get(xmlNodePtr ptr, const char *node_name, const char *attribute_name); + +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); + +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, + const char *node_name, const char *attribute_name); #endif /*