From 3fa10bc0fc3e5aa41b6e9df86d6e3ac2085c4afa Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 27 May 2009 05:01:24 +0000 Subject: [PATCH] Embedded RDF improvements - Don't skip save if title and type not set via META tags (just use doc title) - Include access date - Save abstract from DC.Description.Abstract - Save date from DC.Date.Issued - Save dcterms.issued to date field in all item types (and not just in patents) --- translators/Embedded RDF.js | 10 +++++----- translators/RDF.js | 14 +++++++++++--- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/translators/Embedded RDF.js b/translators/Embedded RDF.js index 2e32107e8..06134d734 100644 --- a/translators/Embedded RDF.js +++ b/translators/Embedded RDF.js @@ -31,13 +31,10 @@ function doWeb(doc, url) { var translator = Zotero.loadTranslator("import"); translator.setTranslator("5e3ad958-ac79-463d-812b-a86a9235c28f"); translator.setHandler("itemDone", function(obj, newItem) { - // use document title if none given in dublin core - if(!newItem.title) { - newItem.title = doc.title; - } // add attachment newItem.attachments.push({document:doc}); - // add url + // add access date and url + newItem.accessDate = 'CURRENT_TIMESTAMP'; newItem.url = doc.location.href; newItem.repository = false; newItem.complete(); @@ -61,6 +58,9 @@ function doWeb(doc, url) { } } + if (!foundTitle) { + rdf.Zotero.RDF.addStatement(url, dc + "title", doc.title, true); + } rdf.defaultUnknownType = "webpage"; rdf.doImport(); } \ No newline at end of file diff --git a/translators/RDF.js b/translators/RDF.js index adec5237b..12649d827 100644 --- a/translators/RDF.js +++ b/translators/RDF.js @@ -274,7 +274,7 @@ function importItem(newItem, node, type) { // check to see if we recognize the type in the fs or dc namespaces var zoteroType = getFirstResults(node, [n.z+"itemType", n.z+"type", n.dc+"type"], true); - if(Zotero.Utilities.itemTypeExists(zoteroType)) { + if(zoteroType && Zotero.Utilities.itemTypeExists(zoteroType)) { newItem.itemType = zoteroType; } @@ -383,13 +383,18 @@ function importItem(newItem, node, type) { // date newItem.date = getFirstResults(node, [n.dc+"date"], true); + if (!newItem.date) { + newItem.date = getFirstResults(node, [n.dc+"date.issued"], true); + if (!newItem.date) { + newItem.date = getFirstResults(node, [n.dcterms+"issued"], true); + } + } // accessDate newItem.accessDate = getFirstResults(node, [n.dcterms+"dateSubmitted"], true); - // issueDate - newItem.issueDate = getFirstResults(node, [n.dcterms+"issued"], true); // lastModified newItem.lastModified = getFirstResults(node, [n.dcterms+"modified"], true); + // identifier var identifiers = getFirstResults(node, [n.dc+"identifier"]); if(container) { @@ -434,6 +439,9 @@ function importItem(newItem, node, type) { // abstract newItem.abstractNote = getFirstResults(node, [n.dcterms+"abstract"], true); + if (!newItem.abstractNote) { + newItem.abstractNote = getFirstResults(node, [n.dc+"description.abstract"], true); + } // type var type = getFirstResults(node, [n.dc+"type"], true);