{ "translatorID":"625c6435-e235-4402-a48f-3095a9c1a09c", "translatorType":4, "label":"DBLP Computer Science Bibliography", "creator":"Adam Crymble", "target":"http://(search?|dblp?).mpi-inf", "minVersion":"1.0.0b4.r5", "maxVersion":"", "priority":100, "inRepository":true, "lastUpdated":"2008-09-02 13:40:00" } function detectWeb(doc, url) { if (doc.title.match("journals")) { return "journalArticle"; } else if (doc.title.match("conf")) { return "conferencePaper"; } else if (doc.title.match("DBLP entry")) { return "bookSection"; } } //DBLP Computer Science Database Translator. Code by Adam Crymble. //Doesn't work for multiple entries. Site uses a different URL for the search and single entry. Multiple code attached as comment. function associateData (newItem, dataTags, field, zoteroField) { if (dataTags[field]) { newItem[zoteroField] = dataTags[field]; } } function scrape(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { } : null; var dataTags = new Object(); var mediaType = detectWeb(doc, url); if (mediaType == "bookSection") { var newItem = new Zotero.Item("bookSection"); } else if (mediaType == "conferencePaper") { var newItem = new Zotero.Item("conferencePaper"); } else if (mediaType == "journalArticle") { var newItem = new Zotero.Item("journalArticle"); } var xPathAllData = doc.evaluate('//pre', doc, nsResolver, XPathResult.ANY_TYPE, null); var allData = xPathAllData.iterateNext().textContent.split("},"); var cleanFirstEntry = allData[0].indexOf(","); allData[0] = allData[0].substr(cleanFirstEntry); var headers = new Array(); var content = new Array(); var splitAllData; for (var i = 0; i < allData.length-2; i++) { splitAllData = allData[i].split("="); headers.push(splitAllData[0].replace(/^\s*|\s*$|\W*/g, '')); content.push(splitAllData[1].replace(/^\s*|\s*$|\{*/g, '')); fieldTitle = headers[i].replace(",", ''); if (fieldTitle == "author") { var authors = content[i].split("and"); for (var j =0; j