{ "translatorID": "d6c6210a-297c-4b2c-8c43-48cb503cc49e", "label": "Springer Link", "creator": "Aurimas Vinckevicius", "target": "https?://link\\.springer\\.com/(search(?:/page/\\d+)?\\?|(article|chapter|book|referenceworkentry|protocol|journal|referencework)/.+)", "minVersion": "3.0", "maxVersion": "", "priority": 100, "inRepository": true, "translatorType": 4, "browserSupport": "gcsbv", "lastUpdated": "2013-08-13 20:03:26" } function detectWeb(doc, url) { var action = url.match(/^https?:\/\/[^\/]+\/([^\/?#]+)/); if(!action) return; if(!doc.head || !doc.head.getElementsByTagName('meta').length) { Z.debug("Springer Link: No head or meta tags"); return; } switch(action[1]) { case "search": case "journal": case "book": case "referencework": if(getResultList(doc).length > 0) { return "multiple"; } else { return false; } break; case "article": return "journalArticle"; break; case "chapter": case "referenceworkentry": case "protocol": return "bookSection"; break; } } function getResultList(doc) { var results = ZU.xpath(doc, '//ol[@class="content-item-list"]/li/*[self::h3 or self::h2]/a'); if(!results.length) { results = ZU.xpath(doc, '//div[@class="toc"]/ol//div[contains(@class,"toc-item")]/h3/a'); } if(!results.length) { results = ZU.xpath(doc, '//div[@class="toc"]/ol\ //li[contains(@class,"toc-item")]/p[@class="title"]/a'); } return results; } function doWeb(doc, url){ var type = detectWeb(doc, url); if(type == "multiple") { var list = getResultList(doc); var items = {}; for(var i=0, n=list.length; i|\/>)/ig, '') .replace(/]+>/ig, '') .replace(/(?:\s*[\r\n]\s*)+/g, '\n')); } else { Z.debug("Springer Link: no head tag"); } } //in case we're missing something, we can try supplementing it from page if(!item.DOI) { item.DOI = ZU.xpathText(doc, '//dd[@id="abstract-about-book-chapter-doi"\ or @id="abstract-about-doi"][1]'); } if(!item.publisher) { item.publisher = ZU.xpathText(doc, '//dd[@id="abstract-about-publisher"]'); } if(!item.date) { item.date = ZU.xpathText(doc, '//dd[@id="abstract-about-cover-date"]') || ZU.xpathText(doc, '//dd[@id="abstract-about-book-chapter-copyright-year"]'); } //copyright if(!item.rights) { item.rights = ZU.xpathText(doc, '//dd[@id="abstract-about-book-copyright-holder"]'); var year = ZU.xpathText(doc, '//dd[@id="abstract-about-book-chapter-copyright-year"]'); if(item.rights && year) { item.rights = '©' + year + ' ' + item.rights; } } if(itemType == "journalArticle" && !item.ISSN) { item.ISSN = ZU.xpathText(doc, '//dd[@id="abstract-about-issn" or\ @id="abstract-about-electronic-issn"]'); } if(itemType == 'bookSection') { //look for editors var editors = ZU.xpath(doc, '//ul[@class="editors"]/li[@itemprop="editor"]\ /a[@class="person"]'); var m = item.creators.length; for(var i=0, n=editors.length; i