diff --git a/National Archives (UK) Find Case Law.js b/National Archives (UK) Find Case Law.js new file mode 100644 index 00000000000..1ba3a708bed --- /dev/null +++ b/National Archives (UK) Find Case Law.js @@ -0,0 +1,129 @@ +{ + "translatorID": "5c0588e6-561f-4ab3-bb13-4f72bf049ca8", + "label": "National Archives (UK) Find Case Law", + "creator": "Tim Cowlishaw ", + "target": "https?:\\/\\/caselaw\\.nationalarchives\\.gov\\.uk\\/", + "minVersion": "5.0", + "maxVersion": "", + "priority": 100, + "inRepository": true, + "translatorType": 4, + "browserSupport": "gcsibv", + "lastUpdated": "2023-12-11 14:59:32" +} + +function detectWeb(doc, url) { + if (isJudgment(doc)) { + return "case"; + } + else if (isResultsList(doc)) { + return "multiple"; + } + return false; +} + +function doWeb(doc, url) { + if(isJudgment(doc)) { + return scrape(doc, url); + } else if(isResultsList(doc)) { + items = ZU.getItemArray(doc, doc.querySelector("ul.judgment-listing__list"), /\/[a-zA-Z0-9]+/) + return Z.selectItems(items, function(items) { + if (items) ZU.processDocuments(Object.keys(items), scrape); + }); + } +} + +function isJudgment(doc) { + return doc.querySelector("article.judgment") !== null; +} + +function isResultsList(doc) { + return doc.querySelector("ul.judgment-listing__list") !== null; +} + +function scrape(doc, url) { + const item = new Z.Item("case"); + ZU.doGet(url + "/data.xml", function (text) { + const parser = new DOMParser(); + const xmlDoc = parser.parseFromString(text, "text/xml"); + function xpath(path) { + return ZU.xpathText(xmlDoc, path, { + "akn": "http://docs.oasis-open.org/legaldocml/ns/akn/3.0", + "uk": "https://caselaw.nationalarchives.gov.uk/akn"} + ); + } + item.uri = xpath("//akn:FRBRExpression/akn:FRBRuri/@value") + item.title = xpath("//akn:FRBRWork/akn:FRBRname/@value"); + item.dateDecided = xpath('//akn:FRBRWork/akn:FRBRdate[@name="judgment"]/@date'); + item.court = xpath('//uk:court'); + new Array(xpath('//akn:judge/@refersTo')).forEach(function(href) { + if(href !== null) { + const id = href.replace("#", ""); + item.creators.pop({ + lastName: xpath(`//akn:TLCPerson[@eId='${id}']/@showAs`), + creatorType: "author", + fieldMode: true + } ) + } + }); + const ncn = xpath("//uk:cite"); + item.notes.push({ note: `Neutral Citation Number: ${ncn}`}) + item.complete(); + }); +}/** BEGIN TEST CASES **/ +var testCases = [ + { + "type": "web", + "url": "https://caselaw.nationalarchives.gov.uk/ewhc/qb/2020/3156", + "items": [ + { + "itemType": "case", + "caseName": "Vardy v Rooney", + "creators": [ + { + "lastName": "THE HON. MR JUSTICE WARBY", + "creatorType": "author", + "fieldMode": true + } + ], + "dateDecided": "2020-11-20", + "court": "EWHC-QBD", + "attachments": [], + "tags": [], + "notes": [ + { + "note": "Neutral Citation Number: [2020] EWHC 3156 (QB)" + } + ], + "seeAlso": [] + } + ] + }, + { + "type": "web", + "url": "https://caselaw.nationalarchives.gov.uk/ewca/civ/2021/567", + "items": [ + { + "itemType": "case", + "caseName": "Corbyn v Millett", + "creators": [], + "dateDecided": "2021-04-20", + "court": "EWCA-Civil", + "attachments": [], + "tags": [], + "notes": [ + { + "note": "Neutral Citation Number: [2021] EWCA Civ 567" + } + ], + "seeAlso": [] + } + ] + }, + { + "type": "web", + "url": "https://caselaw.nationalarchives.gov.uk/judgments/search?query=Corbyn", + "items": "multiple" + } +] +/** END TEST CASES **/