Ticket #673: gbv.sql

File gbv.sql, 1.8 KB (added by dstillman, 9 years ago)

Ramesh's GBV translator

Line 
1REPLACE INTO translators VALUES ('0faa6714-927a-4b07-911e-7101895daae0', '1.0.0b4.r5', '', '2007-07-02 12:38:24', '0', '100', '4', 'GBV', 'Ramesh Srigiriraju', '^http://(?:www\.|gso\.)?gbv\.de/', 
2'function detectWeb(doc, url)   {
3        var namespace=doc.documentElement.namespaceURI;
4        var nsResolver=namespace?function(prefix){
5                return (prefix=="x")?namespace:null;
6        }:null;
7        var searchpath=''//tr/td[@class="tab1"][text()="shortlist"]'';
8        if(doc.evaluate(searchpath, doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext())
9                return "multiple";
10}', 
11'function doWeb(doc, url)       {
12        var namespace=doc.documentElement.namespaceURI;
13        var nsResolver=namespace?function(prefix){
14                return (prefix=="x")?namespace:null;
15        }:null;
16        var searchpath=''//tr/td[@class="tab1"][text()="shortlist"]'';
17        if(doc.evaluate(searchpath, doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
18                var titlpath=''//tr/td[@class="hit"]/a/text()'';
19                var idpath=''//tr/td[@class="hit"][@align="right"]/text()'';
20                var titles=doc.evaluate(titlpath, doc, nsResolver, XPathResult.ANY_TYPE, null);
21                var ids=doc.evaluate(idpath, doc, nsResolver, XPathResult.ANY_TYPE, null);
22                var items=new Array();
23                var id;
24                while(id=ids.iterateNext())     {
25                        var str=id.nodeValue;
26                        str=str.substring(0, str.indexOf("."));
27                        items[str]=titles.iterateNext().nodeValue;
28                }
29                items=Zotero.selectItems(items);
30                var string="http://gso.gbv.de/DWN";
31                for(var linx in items)  {
32                        var datastr="FRST="+linx+"&LAST="+linx+"&NORND=1&UFRST="
33                        +linx+"&ULAST="+linx+"&PRS=RIS&CHARSET_ONCE=UTF-8&MAXLINE=77&EMAIL=";
34                        Zotero.Utilities.HTTP.doPost(string, datastr, function(text)    {
35                                var trans=Zotero.loadTranslator("import");
36                                trans.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7");
37                                trans.setString(text);
38                                trans.translate();
39                                Zotero.done();
40                        });
41                }
42                Zotero.wait();
43        }
44}');