{ "translatorID": "a7c8b759-6f8a-4875-9d6e-cc0a99fe8f43", "label": "Canadian Letters and Images", "creator": "Adam Crymble", "target": "^https?://(www\\.)?canadianletters\\.ca/", "minVersion": "1.0.0b4.r5", "maxVersion": "", "priority": 100, "inRepository": true, "translatorType": 4, "browserSupport": "gcsibv", "lastUpdated": "2012-01-30 22:52:00" } function detectWeb(doc, url) { if (doc.location.href.match("results")) { return "multiple"; } else if (doc.location.href.match("letters.php")) { return "letter"; } else if (doc.location.href.match("template")) { return "artwork"; } } //Translator for Canadian Letters and Images. Code by Adam Crymble function scrape(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { if (prefix == 'x') return namespace; else return null; } : null; var dataTags = new Object(); var mediaType = (detectWeb(doc, url)); if (mediaType == "letter") { var newItem = new Zotero.Item("letter"); var title2; //title if (doc.evaluate('//h3', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) { newItem.title = doc.evaluate('//h3', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; } else { newItem.title = doc.title; } //letter, diary, memoir, personal item if (doc.evaluate('//div[@id="collectionCategory_letters"]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) { var xPathType = doc.evaluate('//div[@id="collectionCategory_letters"]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; newItem.type = xPathType; } //gets date, to and from if (doc.evaluate('//div[@class="letterInfo_label"]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) { var xPathHeaders = doc.evaluate('//div[@class="letterInfo_label"]', doc, nsResolver, XPathResult.ANY_TYPE, null); var xPathContent = doc.evaluate('//div[@class="letterInfo_title"]', doc, nsResolver, XPathResult.ANY_TYPE, null); var xPathCount = doc.evaluate('count (//div[@class="letterInfo_label"])', doc, nsResolver, XPathResult.ANY_TYPE, null); for (i=0; i