@@ -334,28 +334,29 @@ declare function adsabs:library-clear($name-or-id){
334334};
335335
336336declare %private function adsabs:library-add-or-remove ($name-or-id, $bibcodes, $action){
337- if (exists ($bibcodes)) then
338- let $quoted-bibcodes-todo := for $b in $bibcodes return "" " ||$b||"" "
339- let $payload := '{"action":"' ||$action||'" ,"bibcode": [' || string-join ($quoted-bibcodes-todo, ", " ) || "]}"
340- let $id := adsabs:get-libraries ()?*?*[?name=$name-or-id or ?id=$name-or-id]?id
341- return
342- parse-json (adsabs:query ("/biblib/documents/" ||$id, $payload, false ()))
343- else
344- util:log ("info" , "Skipping action on library " || $name-or-id || ". no bibcode provided for " ||$action)
345-
337+ let $bibcodes := $bibcodes[.!='' ]
338+ return
339+ if (exists ($bibcodes)) then
340+ let $quoted-bibcodes-todo := for $b in $bibcodes return "" " ||$b||"" "
341+ let $payload := '{"action":"' ||$action||'" ,"bibcode": [' || string-join ($quoted-bibcodes-todo, ", " ) || "]}"
342+ let $id := adsabs:get-libraries ()?*?*[?name=$name-or-id or ?id=$name-or-id]?id
343+ return
344+ parse-json (adsabs:query ("/biblib/documents/" ||$id, $payload, false ()))
345+ else
346+ util:log ("info" , "Skipping action on library " || $name-or-id || ". no bibcode provided for " ||$action)
346347};
347348
348349declare function adsabs:search-bibcodes ($query) as xs:string*{
349350 adsabs:search ($query, "bibcode" )?response?docs?*?bibcode
350351};
351352
352353(: Search without using cache :)
353- declare function adsabs:search ($query as xs:string, $fl as xs:string? )
354+ declare function adsabs:search ($query as xs:string, $fl as xs:string* )
354355{
355356 adsabs:search ($query, $fl, true ())
356357};
357358
358- declare function adsabs:search ($query as xs:string, $fl as xs:string? , $use-cache as xs:boolean)
359+ declare function adsabs:search ($query as xs:string, $fl as xs:string* , $use-cache as xs:boolean)
359360{
360361 parse-json (
361362 adsabs:query ("/search/query?q=" ||encode-for-uri ($query)
@@ -365,7 +366,11 @@ declare function adsabs:search($query as xs:string, $fl as xs:string?, $use-cach
365366 )
366367};
367368
368- declare function adsabs:search-map ($params as map (*), $use-cache as xs:boolean)
369+ (:~
370+ : Give access to the solr endpoint.
371+ : default output format is defined to xml.
372+ :)
373+ declare function adsabs:search-solr ($params as map (*), $use-cache as xs:boolean)
369374{
370375 let $params-keys := map:keys ($params)
371376 let $defaults := (
@@ -381,7 +386,6 @@ declare function adsabs:search-map($params as map(*), $use-cache as xs:boolean)
381386};
382387
383388
384-
385389(: --- GETTER functions :)
386390
387391declare %private function adsabs:ignore-bad-refereed-bibcode ($bibcodes as xs:string*) {
0 commit comments