/* 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:
\param odr memory for result
\param arg sort spec string
\returns Z39.50 SortKeySpecList or NULL on error
-
+
The sort spec list is of the form:
- (field flags)+
+ (field flags)+
where field is either a string or one or more attribute pairs
key=value (there must be no blanks in either field of flags).
flags is a character list:
sS : respectcase / case-sensitive
! : abort of key is omitted in result
=value : missing value
-
+
Examples:
title a
\retval 0 successful
\retval -1 failure
*/
-int yaz_srw_sortkeys_to_sort_spec(const char *srw_sortkeys, WRBUF w);
+YAZ_EXPORT int yaz_srw_sortkeys_to_sort_spec(const char *srw_sortkeys, WRBUF w);
+
+/* \brief converts Z39.50 SortKeySpecList to Solr sort key
+ \param sksl SortKeySpecList
+ \param w resulting sortkey will be appended to this
+ \retval 0 successful
+ \retval -1 failure
+*/
+YAZ_EXPORT int yaz_sort_spec_to_solr_sortkeys(Z_SortKeySpecList *sksl, WRBUF w);
+
+/* \brief converts Solr sortkeys to Z39.50 sortspec (WRBUF)
+ \param srw_sortkeys Solr sortkeys string
+ \param w resulting Z39.50 sortspec, WRBUF string
+ \retval 0 successful
+ \retval -1 failure
+*/
+YAZ_EXPORT int yaz_solr_sortkeys_to_sort_spec(const char *srw_sortkeys, WRBUF w);
+
YAZ_END_CDECL
#endif