Addresses #1176, incorporated ormulum's changes.
This commit is contained in:
parent
0f77e5f273
commit
a7aaca9faf
1 changed files with 22 additions and 8 deletions
|
@ -80,9 +80,13 @@ function doWeb(doc, url) {
|
||||||
if (prefix == 'x') return namespace; else return null;
|
if (prefix == 'x') return namespace; else return null;
|
||||||
} : null;
|
} : null;
|
||||||
var nonstandard = false;
|
var nonstandard = false;
|
||||||
|
var th = false;
|
||||||
var xpath;
|
var xpath;
|
||||||
if (newDoc.evaluate('//*[tr[td/text()="LDR"]]/tr[td[2]]', newDoc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
|
if (newDoc.evaluate('//*[tr[td/text()="LDR"]]/tr[td[2]]', newDoc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
|
||||||
xpath = '//*[tr[td/text()="LDR"]]/tr[td[2]]';
|
xpath = '//*[tr[td/text()="LDR"]]/tr[td[2]]';
|
||||||
|
} else if (newDoc.evaluate('//*[tr[th/text()="LDR"]]/tr[td[1]]', newDoc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
|
||||||
|
xpath = '//*[tr[th/text()="LDR"]]/tr[td[1]]';
|
||||||
|
th = true;
|
||||||
} else if (newDoc.evaluate('//tr[2]//table[2]//tr', newDoc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
|
} else if (newDoc.evaluate('//tr[2]//table[2]//tr', newDoc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
|
||||||
xpath = '//tr[2]//table[2]//tr[td[2]]';
|
xpath = '//tr[2]//table[2]//tr[td[2]]';
|
||||||
nonstandard = true;
|
nonstandard = true;
|
||||||
|
@ -97,14 +101,24 @@ function doWeb(doc, url) {
|
||||||
var elmt;
|
var elmt;
|
||||||
var record = new marc.record();
|
var record = new marc.record();
|
||||||
while(elmt = elmts.iterateNext()) {
|
while(elmt = elmts.iterateNext()) {
|
||||||
if (nonstandard) {
|
if (th) {
|
||||||
var field = Zotero.Utilities.superCleanString(newDoc.evaluate('./td[1]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent);
|
var field = Zotero.Utilities.superCleanString(newDoc.evaluate('./th', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent);
|
||||||
} else {
|
} else {
|
||||||
var field = Zotero.Utilities.superCleanString(newDoc.evaluate('./TD[1]/text()[1]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().nodeValue);
|
var field = Zotero.Utilities.superCleanString(newDoc.evaluate('./td[1]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent);
|
||||||
}
|
}
|
||||||
var field = Zotero.Utilities.superCleanString(newDoc.evaluate('./td[1]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent);
|
// if (nonstandard) {
|
||||||
|
// var field = Zotero.Utilities.superCleanString(newDoc.evaluate('./td[1]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent);
|
||||||
|
// } else {
|
||||||
|
// var field = Zotero.Utilities.superCleanString(newDoc.evaluate('./TD[1]/text()[1]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().nodeValue);
|
||||||
|
// }
|
||||||
|
// var field = Zotero.Utilities.superCleanString(newDoc.evaluate('./td[1]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent);
|
||||||
if(field) {
|
if(field) {
|
||||||
var value = newDoc.evaluate('./TD[2]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; //.split(/\n/)[1];
|
var value;
|
||||||
|
if (th) {
|
||||||
|
value = newDoc.evaluate('./TD[1]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; //.split(/\n/)[1];
|
||||||
|
} else {
|
||||||
|
value = newDoc.evaluate('./TD[2]', elmt, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; //.split(/\n/)[1];
|
||||||
|
}
|
||||||
if (value.split(/\n/)[1]) value = Zotero.Utilities.trimInternal(value.split(/\n/)[1]);
|
if (value.split(/\n/)[1]) value = Zotero.Utilities.trimInternal(value.split(/\n/)[1]);
|
||||||
Zotero.debug(field + " : " + value);
|
Zotero.debug(field + " : " + value);
|
||||||
if(field == "LDR") {
|
if(field == "LDR") {
|
||||||
|
@ -128,7 +142,7 @@ function doWeb(doc, url) {
|
||||||
var newItem = new Zotero.Item();
|
var newItem = new Zotero.Item();
|
||||||
record.translate(newItem);
|
record.translate(newItem);
|
||||||
|
|
||||||
var domain = url.match(/https?:\/\/([^/]+)/);
|
var domain = url.match(/https?:\/\/([^\/]+)/);
|
||||||
newItem.repository = domain[1]+" Library Catalog";
|
newItem.repository = domain[1]+" Library Catalog";
|
||||||
|
|
||||||
for (var i in newItem.creators) {
|
for (var i in newItem.creators) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue