Make HighWire translators Chrome/Safari-compatible
This commit is contained in:
parent
d6c6fd16f4
commit
9919290103
2 changed files with 473 additions and 109 deletions
|
@ -1,31 +1,25 @@
|
|||
{
|
||||
"translatorID":"5eacdb93-20b9-4c46-a89b-523f62935ae4",
|
||||
"translatorType":4,
|
||||
"label":"HighWire",
|
||||
"creator":"Simon Kornblith",
|
||||
"target":"^http://[^/]+/(?:cgi/searchresults|cgi/search|cgi/content/(?:abstract|full|short|summary)|current.dtl$|content/vol[0-9]+/issue[0-9]+/(?:index.dtl)?$)",
|
||||
"minVersion":"1.0.0b3.r1",
|
||||
"maxVersion":"",
|
||||
"priority":100,
|
||||
"inRepository":true,
|
||||
"lastUpdated":"2011-01-11 04:31:00"
|
||||
"translatorID": "5eacdb93-20b9-4c46-a89b-523f62935ae4",
|
||||
"label": "HighWire",
|
||||
"creator": "Simon Kornblith",
|
||||
"target": "^http://[^/]+/(?:cgi/searchresults|cgi/search|cgi/content/(?:abstract|full|short|summary)|current.dtl$|content/vol[0-9]+/issue[0-9]+/(?:index.dtl)?$)",
|
||||
"minVersion": "2.1",
|
||||
"maxVersion": "",
|
||||
"priority": 100,
|
||||
"inRepository": true,
|
||||
"translatorType": 4,
|
||||
"browserSupport": "gcs",
|
||||
"lastUpdated": "2011-07-03 03:57:15"
|
||||
}
|
||||
|
||||
function detectWeb(doc, url) {
|
||||
var namespace = doc.documentElement.namespaceURI;
|
||||
var nsResolver = namespace ? function(prefix) {
|
||||
if (prefix == 'x') return namespace; else return null;
|
||||
} : null;
|
||||
|
||||
if(doc.title.indexOf(" -- Search Result") != -1 ||
|
||||
doc.title == "Science/AAAS | Search Results") {
|
||||
if(doc.title.indexOf(" -- Search Result") !== -1) {
|
||||
if(doc.evaluate('//table/tbody/tr[td/input[@type="checkbox"][@name="gca"]]', doc,
|
||||
nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) return "multiple";
|
||||
} else if(doc.title.indexOf(" -- Table of Contents") != -1||
|
||||
doc.title == "Science/AAAS | Science Magazine Search Results") {
|
||||
if(doc.evaluate('//form/dl', doc, nsResolver, XPathResult.ANY_TYPE,null).iterateNext()) return "multiple";
|
||||
null, XPathResult.ANY_TYPE, null).iterateNext()) return "multiple";
|
||||
} else if(doc.title.indexOf(" -- Table of Contents") != -1) {
|
||||
if(doc.evaluate('//form/dl', doc, null, XPathResult.ANY_TYPE,null).iterateNext()) return "multiple";
|
||||
} else {
|
||||
if(doc.evaluate('//a[substring(@href, 1, 16) = "/cgi/citmgr?gca="]', doc, nsResolver,
|
||||
if(doc.evaluate('//a[substring(@href, 1, 16) = "/cgi/citmgr?gca="]', doc, null,
|
||||
XPathResult.ANY_TYPE, null).iterateNext()) return "journalArticle";
|
||||
}
|
||||
|
||||
|
@ -48,7 +42,7 @@ function handleRequests(requests) {
|
|||
translator.setString(text);
|
||||
translator.setHandler("itemDone", function(obj, item) {
|
||||
if(item.notes[0]) {
|
||||
item.DOI = item.notes[0].note;
|
||||
item.DOI = Zotero.Utilities.unescapeHTML(item.notes[0].note);
|
||||
item.notes = new Array();
|
||||
}
|
||||
|
||||
|
@ -78,11 +72,6 @@ function handleRequests(requests) {
|
|||
}
|
||||
|
||||
function doWeb(doc, url) {
|
||||
var namespace = doc.documentElement.namespaceURI;
|
||||
var nsResolver = namespace ? function(prefix) {
|
||||
if (prefix == 'x') return namespace; else return null;
|
||||
} : null;
|
||||
|
||||
var requests = new Array();
|
||||
var hostRe = /https?:\/\/[^\/]+/;
|
||||
|
||||
|
@ -97,13 +86,13 @@ function doWeb(doc, url) {
|
|||
|
||||
if(isTOC) {
|
||||
var gcaRe = /^https?:\/\/[^\/]+\/cgi\/reprint\/([0-9]+\/[0-9]+\/[0-9]+)/;
|
||||
var tableRows = doc.evaluate('//form/dl', doc, nsResolver, XPathResult.ANY_TYPE, null);
|
||||
var tableRows = doc.evaluate('//form/dl', doc, null, XPathResult.ANY_TYPE, null);
|
||||
} else if(isScience) {
|
||||
var tableRows = doc.evaluate('//form/dl/dd', doc, nsResolver, XPathResult.ANY_TYPE, null);
|
||||
var tableDTs = doc.evaluate('//form/dl/dt', doc, nsResolver, XPathResult.ANY_TYPE, null);
|
||||
var tableRows = doc.evaluate('//form/dl/dd', doc, null, XPathResult.ANY_TYPE, null);
|
||||
var tableDTs = doc.evaluate('//form/dl/dt', doc, null, XPathResult.ANY_TYPE, null);
|
||||
} else {
|
||||
var tableRows = doc.evaluate('//table/tbody/tr[td/input[@type="checkbox"]][td/font/strong]', doc,
|
||||
nsResolver, XPathResult.ANY_TYPE, null);
|
||||
null, XPathResult.ANY_TYPE, null);
|
||||
}
|
||||
|
||||
var tableRow, link;
|
||||
|
@ -112,9 +101,9 @@ function doWeb(doc, url) {
|
|||
var pdf = undefined;
|
||||
|
||||
if(isTOC) {
|
||||
var title = doc.evaluate('.//strong', tableRow, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent;
|
||||
var title = doc.evaluate('.//strong', tableRow, null, XPathResult.ANY_TYPE, null).iterateNext().textContent;
|
||||
|
||||
var links = doc.evaluate('.//a', tableRow, nsResolver, XPathResult.ANY_TYPE, null);
|
||||
var links = doc.evaluate('.//a', tableRow, null, XPathResult.ANY_TYPE, null);
|
||||
while(link = links.iterateNext()) {
|
||||
// prefer Full Text snapshots, but take abstracts
|
||||
if(link.textContent == "[Abstract]") {
|
||||
|
@ -130,11 +119,11 @@ function doWeb(doc, url) {
|
|||
} else {
|
||||
if(isScience) {
|
||||
var tableDT = tableDTs.iterateNext();
|
||||
var gca = doc.evaluate('./input[@type="checkbox"]', tableDT, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().value;
|
||||
var title = doc.evaluate('./label', tableDT, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent;
|
||||
var gca = doc.evaluate('./input[@type="checkbox"]', tableDT, null, XPathResult.ANY_TYPE, null).iterateNext().value;
|
||||
var title = doc.evaluate('./label', tableDT, null, XPathResult.ANY_TYPE, null).iterateNext().textContent;
|
||||
} else {
|
||||
var gca = doc.evaluate('./td/input[@type="checkbox"]', tableRow, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().value;
|
||||
var title = doc.evaluate('./td/font/strong', tableRow, nsResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
|
||||
var gca = doc.evaluate('./td/input[@type="checkbox"]', tableRow, null, XPathResult.ANY_TYPE, null).iterateNext().value;
|
||||
var title = doc.evaluate('./td/font/strong', tableRow, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
|
||||
if(title.snapshotItem(0).textContent.toUpperCase() == title.snapshotItem(0).textContent) {
|
||||
title = title.snapshotItem(1).textContent;
|
||||
} else {
|
||||
|
@ -142,7 +131,7 @@ function doWeb(doc, url) {
|
|||
}
|
||||
}
|
||||
|
||||
var links = doc.evaluate('.//a', tableRow, nsResolver, XPathResult.ANY_TYPE, null);
|
||||
var links = doc.evaluate('.//a', tableRow, null, XPathResult.ANY_TYPE, null);
|
||||
while(link = links.iterateNext()) {
|
||||
// prefer Full Text snapshots, but take abstracts
|
||||
var textContent = Zotero.Utilities.trimInternal(link.textContent);
|
||||
|
@ -160,44 +149,110 @@ function doWeb(doc, url) {
|
|||
items[gca] = Zotero.Utilities.trimInternal(title);
|
||||
}
|
||||
|
||||
items = Zotero.selectItems(items);
|
||||
if(!items) return true;
|
||||
|
||||
var requests = new Array();
|
||||
for(var gca in items) {
|
||||
var m = hostRe.exec(pdfs[gca]);
|
||||
var baseURL = 'http://' + doc.location.host + '/cgi/citmgr?type=refman';
|
||||
|
||||
var thisRequest = null;
|
||||
for each(var request in requests) {
|
||||
if(request.baseURL == baseURL) {
|
||||
thisRequest = request;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!thisRequest) {
|
||||
thisRequest = new Object();
|
||||
thisRequest.snapshots = new Array();
|
||||
thisRequest.pdfs = new Array();
|
||||
thisRequest.args = "";
|
||||
thisRequest.baseURL = baseURL;
|
||||
requests.push(thisRequest);
|
||||
}
|
||||
|
||||
thisRequest.snapshots.push(snapshots[gca]);
|
||||
thisRequest.pdfs.push(pdfs[gca]);
|
||||
thisRequest.args += "&gca="+gca;
|
||||
}
|
||||
items = Zotero.selectItems(items, function(items) {
|
||||
if(!items) return true;
|
||||
|
||||
var requests = new Array();
|
||||
for(var gca in items) {
|
||||
var m = hostRe.exec(pdfs[gca]);
|
||||
var baseURL = 'http://' + doc.location.host + '/cgi/citmgr?type=refman';
|
||||
|
||||
var thisRequest = null;
|
||||
for each(var request in requests) {
|
||||
if(request.baseURL == baseURL) {
|
||||
thisRequest = request;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!thisRequest) {
|
||||
thisRequest = new Object();
|
||||
thisRequest.snapshots = new Array();
|
||||
thisRequest.pdfs = new Array();
|
||||
thisRequest.args = "";
|
||||
thisRequest.baseURL = baseURL;
|
||||
requests.push(thisRequest);
|
||||
}
|
||||
|
||||
thisRequest.snapshots.push(snapshots[gca]);
|
||||
thisRequest.pdfs.push(pdfs[gca]);
|
||||
thisRequest.args += "&gca="+gca;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var baseURL = doc.evaluate('//a[substring(@href, 1, 16) = "/cgi/citmgr?gca="]', doc, nsResolver,
|
||||
var baseURL = doc.evaluate('//a[substring(@href, 1, 16) = "/cgi/citmgr?gca="]', doc, null,
|
||||
XPathResult.ANY_TYPE, null).iterateNext().href;
|
||||
var pdf = doc.location.href.replace(/\/content\/[^\/]+\//, "/reprint/");
|
||||
Zotero.debug(pdf);
|
||||
var requests = [{baseURL:baseURL, args:"&type=refman", snapshots:[doc], pdfs:[pdf]}];
|
||||
handleRequests(requests);
|
||||
}
|
||||
|
||||
handleRequests(requests);
|
||||
|
||||
Zotero.wait();
|
||||
}
|
||||
}
|
||||
|
||||
/** BEGIN TEST CASES **/
|
||||
var testCases = [
|
||||
{
|
||||
"type": "web",
|
||||
"url": "http://www.annfammed.org/cgi/search?fulltext=family+medicine&sendit=Enter&volume=9&issue=2&journalcode=annalsfm",
|
||||
"items": "multiple"
|
||||
},
|
||||
{
|
||||
"type": "web",
|
||||
"url": "http://www.annfammed.org/cgi/content/abstract/9/2/165?maxtoshow=&hits=10&RESULTFORMAT=&fulltext=family+medicine&searchid=1&FIRSTINDEX=0&volume=9&issue=2&resourcetype=HWCIT",
|
||||
"items": [
|
||||
{
|
||||
"itemType": "journalArticle",
|
||||
"creators": [
|
||||
{
|
||||
"lastName": "Rosser",
|
||||
"firstName": "Walter W.",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Colwill",
|
||||
"firstName": "Jack M.",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Kasperski",
|
||||
"firstName": "Jan",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Wilson",
|
||||
"firstName": "Lynn",
|
||||
"creatorType": "author"
|
||||
}
|
||||
],
|
||||
"notes": [],
|
||||
"tags": [],
|
||||
"seeAlso": [],
|
||||
"attachments": [
|
||||
{
|
||||
"title": "HighWire Snapshot",
|
||||
"document": false
|
||||
},
|
||||
{
|
||||
"title": "HighWire Full Text PDF",
|
||||
"mimeType": "application/pdf",
|
||||
"url": false
|
||||
}
|
||||
],
|
||||
"title": "Progress of Ontario's Family Health Team Model: A Patient-Centered Medical Home",
|
||||
"date": "March 1, 2011",
|
||||
"publicationTitle": "Ann Fam Med",
|
||||
"pages": "165-171",
|
||||
"volume": "9",
|
||||
"issue": "2",
|
||||
"url": "http://www.annfammed.org/cgi/content/abstract/9/2/165",
|
||||
"abstractNote": "Ontario's Family Health Team (FHT) model, implemented in 2005, may be North America's largest example of a patient-centered medical home. The model, based on multidisciplinary teams and an innovative incentive-based funding system, has been developed primarily from fee-for-service primary care practices. Nearly 2 million Ontarians are served by 170 FHTs. Preliminary observations suggest high satisfaction among patients, higher income and more gratification for family physicians, and trends for more medical students to select careers in family medicine. Popular demand is resulting in expansion to 200 FHTs. We describe the development, implementation, reimbursement plan, and current status of this multidisciplinary model, relating it to the principles of the patient-centered medical home. We also identify its potential to provide an understanding of many aspects of primary care. ",
|
||||
"DOI": "10.1370/afm.1228",
|
||||
"libraryCatalog": "HighWire",
|
||||
"shortTitle": "Progress of Ontario's Family Health Team Model"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
/** END TEST CASES **/
|
|
@ -1,14 +1,15 @@
|
|||
{
|
||||
"translatorID": "8c1f42d5-02fa-437b-b2b2-73afc768eb07",
|
||||
"label": "Highwire 2.0",
|
||||
"creator": "Matt Burton",
|
||||
"target": "(content/([0-9]+/[0-9]+|current|firstcite|early)|search\\?submit=|search\\?fulltext=|cgi/collection/.+)",
|
||||
"minVersion": "1.0.0b4.r5",
|
||||
"maxVersion": "",
|
||||
"priority": 100,
|
||||
"inRepository": true,
|
||||
"translatorType": 4,
|
||||
"lastUpdated": "2011-05-23 21:37:09"
|
||||
"translatorID": "8c1f42d5-02fa-437b-b2b2-73afc768eb07",
|
||||
"label": "Highwire 2.0",
|
||||
"creator": "Matt Burton",
|
||||
"target": "(content/([0-9]+/[0-9]+|current|firstcite|early)|search\\?submit=|search\\?fulltext=|cgi/collection/.+)",
|
||||
"minVersion": "2,1",
|
||||
"maxVersion": "",
|
||||
"priority": 100,
|
||||
"inRepository": true,
|
||||
"translatorType": 4,
|
||||
"browserSupport": "gcs",
|
||||
"lastUpdated": "2011-07-03 03:57:24"
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -27,18 +28,13 @@
|
|||
*/
|
||||
|
||||
function detectWeb(doc, url) {
|
||||
var namespace = doc.documentElement.namespaceURI;
|
||||
var nsResolver = namespace ? function(prefix) {
|
||||
if (prefix == 'x') return namespace; else return null;
|
||||
} : null;
|
||||
|
||||
var highwiretest = false;
|
||||
|
||||
highwiretest = url.match(/\.pdf+html\?frame=header/);
|
||||
|
||||
if (!highwiretest) {
|
||||
// lets hope this installations don't tweak this...
|
||||
highwiretest = doc.evaluate("//link[@href = '/shared/css/hw-global.css']", doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext();
|
||||
highwiretest = doc.evaluate("//link[@href = '/shared/css/hw-global.css']", doc, null, XPathResult.ANY_TYPE, null).iterateNext();
|
||||
}
|
||||
|
||||
if(highwiretest) {
|
||||
|
@ -59,12 +55,8 @@ function detectWeb(doc, url) {
|
|||
}
|
||||
}
|
||||
|
||||
var host;
|
||||
function doWeb(doc, url) {
|
||||
var namespace = doc.documentElement.namespaceURI;
|
||||
var nsResolver = namespace ? function(prefix) {
|
||||
if (prefix == 'x') return namespace; else return null;
|
||||
} : null;
|
||||
|
||||
if (!url) url = doc.documentElement.location;
|
||||
else if (url.match(/\?frame=header/)) {
|
||||
// recall all this using new url
|
||||
|
@ -77,9 +69,8 @@ function doWeb(doc, url) {
|
|||
return true;
|
||||
}
|
||||
|
||||
var host = 'http://' + doc.location.host + "/";
|
||||
host = 'http://' + doc.location.host + "/";
|
||||
|
||||
var arts = new Array();
|
||||
if (detectWeb(doc, url) == "multiple") {
|
||||
var items = new Object();
|
||||
if (doc.title.match("Table of Contents")
|
||||
|
@ -96,28 +87,35 @@ function doWeb(doc, url) {
|
|||
var titlex = './/span[contains(@class,"cit-title")]';
|
||||
}
|
||||
var linkx = './/a[1]';
|
||||
var searchres = doc.evaluate(searchx, doc, nsResolver, XPathResult.ANY_TYPE, null);
|
||||
var searchres = doc.evaluate(searchx, doc, null, XPathResult.ANY_TYPE, null);
|
||||
var next_res;
|
||||
while (next_res = searchres.iterateNext()) {
|
||||
var title = doc.evaluate(titlex, next_res, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent;
|
||||
var link = doc.evaluate(linkx, next_res, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().href;
|
||||
var title = doc.evaluate(titlex, next_res, null, XPathResult.ANY_TYPE, null).iterateNext().textContent;
|
||||
var link = doc.evaluate(linkx, next_res, null, XPathResult.ANY_TYPE, null).iterateNext().href;
|
||||
items[link] = title;
|
||||
}
|
||||
items = Zotero.selectItems(items);
|
||||
for (var i in items) {
|
||||
arts.push(i);
|
||||
}
|
||||
Zotero.selectItems(items, function(items) {
|
||||
if(!items) return;
|
||||
|
||||
var arts = [];
|
||||
for (var i in items) {
|
||||
arts.push(i);
|
||||
}
|
||||
processArticles(arts);
|
||||
});
|
||||
} else {
|
||||
arts = [url];
|
||||
processArticles([url]);
|
||||
}
|
||||
var newurls = new Array();
|
||||
for each (var i in arts) {
|
||||
newurls.push(i);
|
||||
}
|
||||
if(arts.length == 0) {
|
||||
|
||||
Zotero.wait();
|
||||
}
|
||||
|
||||
function processArticles(arts) {
|
||||
if(arts.length == 0) {
|
||||
Zotero.debug('no items');
|
||||
return false;
|
||||
}
|
||||
var newurls = arts.slice();
|
||||
Zotero.Utilities.HTTP.doGet(arts, function(text) {
|
||||
var id, match, newurl, pdfurl, get;
|
||||
/* Here, we have to use three phrasings because they all occur, depending on
|
||||
|
@ -163,5 +161,316 @@ function doWeb(doc, url) {
|
|||
translator.translate();
|
||||
});
|
||||
});
|
||||
Zotero.wait();
|
||||
}
|
||||
|
||||
|
||||
/** BEGIN TEST CASES **/
|
||||
var testCases = [
|
||||
{
|
||||
"type": "web",
|
||||
"url": "http://jcb.rupress.org/content/191/1/2.2.short",
|
||||
"items": [
|
||||
{
|
||||
"itemType": "journalArticle",
|
||||
"creators": [
|
||||
{
|
||||
"lastName": "Leslie",
|
||||
"firstName": "Mitch",
|
||||
"creatorType": "author"
|
||||
}
|
||||
],
|
||||
"notes": [],
|
||||
"tags": [],
|
||||
"seeAlso": [],
|
||||
"attachments": [
|
||||
{
|
||||
"url": false,
|
||||
"title": "Snapshot",
|
||||
"mimeType": "text/html"
|
||||
},
|
||||
{
|
||||
"url": false,
|
||||
"title": "Full Text PDF",
|
||||
"mimeType": "application/pdf"
|
||||
}
|
||||
],
|
||||
"title": "CLIP catches enzymes in the act ",
|
||||
"date": "October 04 , 2010",
|
||||
"publicationTitle": "The Journal of Cell Biology ",
|
||||
"pages": "2 ",
|
||||
"volume": "191 ",
|
||||
"issue": "1 ",
|
||||
"url": "http://jcb.rupress.org/content/191/1/2.2.short ",
|
||||
"DOI": "10.1083/jcb.1911iti2 ",
|
||||
"libraryCatalog": "Highwire 2.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "web",
|
||||
"url": "http://radiographics.rsna.org/content/10/1/41.abstract",
|
||||
"items": [
|
||||
{
|
||||
"itemType": "journalArticle",
|
||||
"creators": [
|
||||
{
|
||||
"lastName": "Giger",
|
||||
"firstName": "M L",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Doi",
|
||||
"firstName": "K",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "MacMahon",
|
||||
"firstName": "H",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Metz",
|
||||
"firstName": "C E",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Yin",
|
||||
"firstName": "F F",
|
||||
"creatorType": "author"
|
||||
}
|
||||
],
|
||||
"notes": [],
|
||||
"tags": [],
|
||||
"seeAlso": [],
|
||||
"attachments": [
|
||||
{
|
||||
"url": false,
|
||||
"title": "Snapshot",
|
||||
"mimeType": "text/html"
|
||||
},
|
||||
{
|
||||
"url": false,
|
||||
"title": "Full Text PDF",
|
||||
"mimeType": "application/pdf"
|
||||
}
|
||||
],
|
||||
"title": "Pulmonary nodules: computer-aided detection in digital chest images. ",
|
||||
"date": "January 01 , 1990",
|
||||
"publicationTitle": "Radiographics ",
|
||||
"pages": "41 -51 ",
|
||||
"volume": "10 ",
|
||||
"issue": "1 ",
|
||||
"url": "http://radiographics.rsna.org/content/10/1/41.abstract ",
|
||||
"abstractNote": "Currently, radiologists fail to detect pulmonary nodules in up to 30% of cases with actually positive findings. Diagnoses may be missed due to camouflaging effects of anatomic background, subjective and varying decision criteria, or distractions in clinical situations. We developed a computerized method to detect locations of lung nodules in digital chest images. The method is based on a difference-image approach and feature-extraction techniques, including growth, slope, and profile tests. Computer results were used to alert 12 radiologists to possible nodule locations in 60 clinical cases. Preliminary results suggest that computer aid can improve the detection performance of radiologists. ",
|
||||
"libraryCatalog": "Highwire 2.0",
|
||||
"shortTitle": "Pulmonary nodules"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "web",
|
||||
"url": "http://bjaesthetics.oxfordjournals.org/content/50/2/121.abstract",
|
||||
"items": [
|
||||
{
|
||||
"itemType": "journalArticle",
|
||||
"creators": [
|
||||
{
|
||||
"lastName": "Maes",
|
||||
"firstName": "Hans",
|
||||
"creatorType": "author"
|
||||
}
|
||||
],
|
||||
"notes": [],
|
||||
"tags": [],
|
||||
"seeAlso": [],
|
||||
"attachments": [
|
||||
{
|
||||
"url": false,
|
||||
"title": "Snapshot",
|
||||
"mimeType": "text/html"
|
||||
},
|
||||
{
|
||||
"url": false,
|
||||
"title": "Full Text PDF",
|
||||
"mimeType": "application/pdf"
|
||||
}
|
||||
],
|
||||
"title": "Intention, Interpretation, and Contemporary Visual Art ",
|
||||
"date": "April 01 , 2010",
|
||||
"publicationTitle": "The British Journal of Aesthetics ",
|
||||
"pages": "121 -138 ",
|
||||
"volume": "50 ",
|
||||
"issue": "2 ",
|
||||
"url": "http://bjaesthetics.oxfordjournals.org/content/50/2/121.abstract ",
|
||||
"abstractNote": "The role of the artist's intention in the interpretation of art has been the topic of a lively and ongoing discussion in analytic aesthetics. First, I sketch the current state of this debate, focusing especially on two competing views: actual and hypothetical intentionalism. Secondly, I discuss the search for a suitable test case, that is, a work of art that is interpreted differently by actual and hypothetical intentionalists, with only one of these interpretations being plausible. Many examples from many different art forms have been considered in this respect, but none of these test cases has proved convincing. Thirdly, I introduce two new test cases taken from contemporary visual art. I explain why these examples are better suited as test cases and how they lend support to the actual intentionalist position. ",
|
||||
"DOI": "10.1093/aesthj/ayp051 ",
|
||||
"libraryCatalog": "Highwire 2.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "web",
|
||||
"url": "http://joeg.oxfordjournals.org/content/10/3/331.abstract",
|
||||
"items": [
|
||||
{
|
||||
"itemType": "journalArticle",
|
||||
"creators": [
|
||||
{
|
||||
"lastName": "Clark",
|
||||
"firstName": "Gordon L.",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Durán-Fernández",
|
||||
"firstName": "Roberto",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Strauss",
|
||||
"firstName": "Kendra",
|
||||
"creatorType": "author"
|
||||
}
|
||||
],
|
||||
"notes": [],
|
||||
"tags": [],
|
||||
"seeAlso": [],
|
||||
"attachments": [
|
||||
{
|
||||
"url": false,
|
||||
"title": "Snapshot",
|
||||
"mimeType": "text/html"
|
||||
},
|
||||
{
|
||||
"url": false,
|
||||
"title": "Full Text PDF",
|
||||
"mimeType": "application/pdf"
|
||||
}
|
||||
],
|
||||
"title": "‘Being in the market’: the UK house-price bubble and the intended structure of individual pension investment portfolios ",
|
||||
"date": "May 01 , 2010",
|
||||
"publicationTitle": "Journal of Economic Geography ",
|
||||
"pages": "331 -359 ",
|
||||
"volume": "10 ",
|
||||
"issue": "3 ",
|
||||
"url": "http://joeg.oxfordjournals.org/content/10/3/331.abstract ",
|
||||
"abstractNote": "It is widely observed that being in the market gives financial traders access to knowledge and information not available to remote traders. A truism of the geography of finance, it is also a perspective that can shed light on the interaction between market location, global financial movements and personal welfare. In this article, we develop an explanation of the premium attached to being in the market, drawing upon previous contributions on the relevance of tacit knowledge and the insights provided by behavioural finance with respect to time–space myopia. To illustrate our model of four types of behaviour, mixing together various combinations of time and space conceptions of market performance, we analyse the intended retirement investment portfolios of nearly 2400 participants in a defined contribution pension plan sponsored by a London-based investment bank. Having demonstrated the empirical significance of the UK house-price bubble, respondents’ retirement investment portfolios are analysed focusing upon the relative significance of property in relation to a range of other investment instruments. It is shown that, amongst similarly located respondents, there was a range of investment strategies dependent, in part, upon respondents’ age, household status, job classification and income. These results allow us to distinguish between different types of behaviour even amongst well-placed respondents, providing evidence of the co-existence of sophisticated, naive and opportunistic investors against the base-case of time–space myopic behaviour. Implications are drawn for conceptualising a rapprochement between the insights of the behavioural revolution for economic geography (and in particular, the geography of finance) relevant for public policy. ",
|
||||
"DOI": "10.1093/jeg/lbp034 ",
|
||||
"libraryCatalog": "Highwire 2.0",
|
||||
"shortTitle": "‘Being in the market’"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "web",
|
||||
"url": "http://joeg.oxfordjournals.org/content/6/5/571",
|
||||
"items": [
|
||||
{
|
||||
"itemType": "journalArticle",
|
||||
"creators": [
|
||||
{
|
||||
"lastName": "Agrawal",
|
||||
"firstName": "Ajay",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Cockburn",
|
||||
"firstName": "Iain",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "McHale",
|
||||
"firstName": "John",
|
||||
"creatorType": "author"
|
||||
}
|
||||
],
|
||||
"notes": [],
|
||||
"tags": [],
|
||||
"seeAlso": [],
|
||||
"attachments": [
|
||||
{
|
||||
"url": false,
|
||||
"title": "Snapshot",
|
||||
"mimeType": "text/html"
|
||||
},
|
||||
{
|
||||
"url": false,
|
||||
"title": "Full Text PDF",
|
||||
"mimeType": "application/pdf"
|
||||
}
|
||||
],
|
||||
"title": "Gone but not forgotten: knowledge flows, labor mobility, and enduring social relationships ",
|
||||
"date": "November 2006 ",
|
||||
"publicationTitle": "Journal of Economic Geography ",
|
||||
"pages": "571 -591 ",
|
||||
"volume": "6 ",
|
||||
"issue": "5 ",
|
||||
"url": "http://joeg.oxfordjournals.org/content/6/5/571.abstract ",
|
||||
"abstractNote": "We examine the role of social relationships in facilitating knowledge flows by estimating the flow premium captured by a mobile inventor's previous location. Once an inventor has moved, they are gone—but are they forgotten? We find that knowledge flows to an inventor's prior location are approximately 50% greater than if they had never lived there, suggesting that social relationships, not just physical proximity, are important for determining flow patterns. Furthermore, we find that a large portion of this social effect is mediated by institutional links; however, this is not the result of corporate knowledge management systems but rather of personal relationships formed through co-location within an institutional context that endure over time, space, and organizational boundaries. Moreover, we find the effect is nearly twice as large for knowledge flows across as compared to within fields, suggesting that co-location may substitute for communities of practice in determining flow patterns. ",
|
||||
"DOI": "10.1093/jeg/lbl016 ",
|
||||
"libraryCatalog": "Highwire 2.0",
|
||||
"shortTitle": "Gone but not forgotten"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "web",
|
||||
"url": "http://www.sciencemag.org/content/332/6034/1149.11.full?rss=1",
|
||||
"items": [
|
||||
{
|
||||
"itemType": "journalArticle",
|
||||
"creators": [
|
||||
{
|
||||
"lastName": "Balmford",
|
||||
"firstName": "Andrew",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Kroshko",
|
||||
"firstName": "Jeanette",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Leader-Williams",
|
||||
"firstName": "Nigel",
|
||||
"creatorType": "author"
|
||||
},
|
||||
{
|
||||
"lastName": "Mason",
|
||||
"firstName": "Georgia",
|
||||
"creatorType": "author"
|
||||
}
|
||||
],
|
||||
"notes": [],
|
||||
"tags": [],
|
||||
"seeAlso": [],
|
||||
"attachments": [
|
||||
{
|
||||
"url": false,
|
||||
"title": "Snapshot",
|
||||
"mimeType": "text/html"
|
||||
},
|
||||
{
|
||||
"url": false,
|
||||
"title": "Full Text PDF",
|
||||
"mimeType": "application/pdf"
|
||||
}
|
||||
],
|
||||
"title": "Zoos and Captive Breeding ",
|
||||
"date": "June 03 , 2011",
|
||||
"publicationTitle": "Science ",
|
||||
"pages": "1149 -1150 ",
|
||||
"volume": "332 ",
|
||||
"issue": "6034 ",
|
||||
"url": "http://www.sciencemag.org/content/332/6034/1149.11.short ",
|
||||
"DOI": "10.1126/science.332.6034.1149-k ",
|
||||
"libraryCatalog": "Highwire 2.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "web",
|
||||
"url": "http://www.journalofvision.org/search?fulltext=tooth&submit=yes&x=0&y=0",
|
||||
"items": "multiple"
|
||||
}
|
||||
]
|
||||
/** END TEST CASES **/
|
Loading…
Reference in a new issue