zotero/translators/MARCXML.js

398 lines
52 KiB
JavaScript
Raw Normal View History

2024-08-27 21:48:20 -05:00
{
"translatorID": "edd87d07-9194-42f8-b2ad-997c4c7deefd",
"label": "MARCXML",
"creator": "Sebastian Karcher",
"target": "xml",
"minVersion": "3.0",
"maxVersion": "",
"priority": 100,
"inRepository": true,
"translatorType": 1,
"lastUpdated": "2023-04-19 14:30:00"
}
/*
***** BEGIN LICENSE BLOCK *****
Copyright © 2012 Sebastian Karcher
This file is part of Zotero.
Zotero is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Zotero is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with Zotero. If not, see <http://www.gnu.org/licenses/>.
***** END LICENSE BLOCK *****
*/
function detectImport() {
var line;
var i = 0;
while ((line = Zotero.read()) !== false) {
if (line !== "") {
if (line.match(/xmlns(:marc)?="http:\/\/www\.loc\.gov\/MARC21\/slim"/)) {
return true;
}
else if (i++ > 5) {
return false;
}
}
}
return false;
}
function doImport() {
// call MARC translator
var translator = Zotero.loadTranslator("import");
translator.setTranslator("a6ee60df-1ddc-4aae-bb25-45e0537be973");
translator.getTranslatorObject(function (marc) {
var xml = Zotero.getXML();
// define the marc namespace
var ns = {
marc: "http://www.loc.gov/MARC21/slim"
};
var records = ZU.xpath(xml, '//marc:record', ns);
for (let rec of records) {
if (!ZU.xpath(rec, "./marc:datafield", ns).length) {
Zotero.debug('Skipping empty record');
continue;
}
// create one new item per record
var record = new marc.record();
var newItem = new Zotero.Item();
record.leader = ZU.xpathText(rec, "./marc:leader", ns);
var fields = ZU.xpath(rec, "./marc:datafield", ns);
for (let field of fields) {
// go through every datafield (corresponds to a MARC field)
var subfields = ZU.xpath(field, "./marc:subfield", ns);
var tag = "";
for (let subfield of subfields) {
// get the subfields and their codes...
var code = ZU.xpathText(subfield, "./@code", ns);
var sf = ZU.xpathText(subfield, "./text()", ns);
// delete non-sorting symbols
// e.g. &#152;Das&#156; Adam-Smith-Projekt
if (sf) {
sf = sf.replace(/[\x80-\x9F]/g, "");
// concat all subfields in one datafield, with subfield delimiter and code between them
tag = tag + marc.subfieldDelimiter + code + sf;
}
}
record.addField(ZU.xpathText(field, "./@tag", ns), ZU.xpathText(field, "./@ind1", ns) + ZU.xpathText(field, "./@ind2"), tag);
}
record.translate(newItem);
newItem.complete();
}
}); // get Translator end
}
/** BEGIN TEST CASES **/
var testCases = [
{
"type": "import",
"input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Morgan Cundiff (Library of Congress) -->\n<marc:collection xmlns:marc=\"http://www.loc.gov/MARC21/slim\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim\nhttp://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\">\n <marc:record>\n\t\t<marc:leader>00925njm 22002777a 4500</marc:leader>\n\t\t<marc:controlfield tag=\"001\">5637241</marc:controlfield>\n\t\t<marc:controlfield tag=\"003\">DLC</marc:controlfield>\n\t\t<marc:controlfield tag=\"005\">19920826084036.0</marc:controlfield>\n\t\t<marc:controlfield tag=\"007\">sdubumennmplu</marc:controlfield>\n\t\t<marc:controlfield tag=\"008\">910926s1957 nyuuun eng </marc:controlfield>\n\t\t<marc:datafield tag=\"010\" ind1=\" \" ind2=\" \">\n\t\t\t<marc:subfield code=\"a\"> 91758335 </marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"028\" ind1=\"0\" ind2=\"0\">\n\t\t\t<marc:subfield code=\"a\">1259</marc:subfield>\n\t\t\t<marc:subfield code=\"b\">Atlantic</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"040\" ind1=\" \" ind2=\" \">\n\t\t\t<marc:subfield code=\"a\">DLC</marc:subfield>\n\t\t\t<marc:subfield code=\"c\">DLC</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"050\" ind1=\"0\" ind2=\"0\">\n\t\t\t<marc:subfield code=\"a\">Atlantic 1259</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"245\" ind1=\"0\" ind2=\"4\">\n\t\t\t<marc:subfield code=\"a\">The Great Ray Charles</marc:subfield>\n\t\t\t<marc:subfield code=\"h\">[sound recording].</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"260\" ind1=\" \" ind2=\" \">\n\t\t\t<marc:subfield code=\"a\">New York, N.Y. :</marc:subfield>\n\t\t\t<marc:subfield code=\"b\">Atlantic,</marc:subfield>\n\t\t\t<marc:subfield code=\"c\">[1957?]</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"300\" ind1=\" \" ind2=\" \">\n\t\t\t<marc:subfield code=\"a\">1 sound disc :</marc:subfield>\n\t\t\t<marc:subfield code=\"b\">analog, 33 1/3 rpm ;</marc:subfield>\n\t\t\t<marc:subfield code=\"c\">12 in.</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"511\" ind1=\"0\" ind2=\" \">\n\t\t\t<marc:subfield code=\"a\">Ray Charles, piano &amp; celeste.</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"505\" ind1=\"0\" ind2=\" \">\n\t\t\t<marc:subfield code=\"a\">The Ray -- My melancholy baby -- Black coffee -- There's no you -- Doodlin' -- Sweet sixteen bars -- I surrender dear -- Undecided.</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"500\" ind1=\" \" ind2=\" \">\n\t\t\t<marc:subfield code=\"a\">Brief record.</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"650\" ind1=\" \" ind2=\"0\">\n\t\t\t<marc:subfield code=\"a\">Jazz</marc:subfield>\n\t\t\t<marc:subfield code=\"y\">1951-1960.</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"650\" ind1=\" \" ind2=\"0\">\n\t\t\t<marc:subfield code=\"a\">Piano with jazz ensemble.</marc:subfield>\n\t\t</marc:datafield>\n\t\t<marc:datafield tag=\"700\" ind1=\"1\" ind2=\" \">\n\t\t\t<marc:subfield code=\"a\">Charles, Ray,</marc:subfield>\n\t\t\t<marc:subfield code=\"d\">1930-</marc:subfield>\n\t\t\t<marc:subfield code=\"4\">prf</marc:subfield>\n\t\t</marc:datafield>\n\t</marc:record>\n\t<marc:record>\n\t\t<marc:leader>01832cmma 2200349 a 4500</marc:leader>\n\t\t<marc:controlfield tag=\"001\">12149120</marc:controlfield>\n\t\t<marc:controlfield tag=\"005\">20001005175443.0</marc:controlfield>\n\t\t<marc:controlfield tag=\"007\">cr |||</marc:controlfield>\n\t\t<marc:controlfield tag=\"008\">000407m19949999dcu g m eng d</marc:controlfield>\n\t\t<marc:datafield tag=\"906\" ind1=\" \" ind2=\" \">\n\t\t\t<marc:subfield code=\"a\">0</marc:subfield>\n\t\t\t<marc:subfield code=\"b\">ibc</marc:subfield>\n\t\t\t<marc:subfield code=\"c\">copycat</marc:subfield>\n\t\t\t<marc:subfield code=\"d\">1</marc:subfield>\n\t\t\t<marc:subfield code=\"e\">ncip<
"items": [
{
"itemType": "audioRecording",
"title": "The Great Ray Charles",
"creators": [
{
"firstName": "Ray",
"lastName": "Charles",
"creatorType": "performer"
}
],
"date": "1957",
"audioRecordingFormat": "sound recording",
"callNumber": "Atlantic 1259",
"label": "Atlantic",
"place": "New York, N.Y",
"attachments": [],
"tags": [
{
"tag": "1951-1960"
},
{
"tag": "Jazz"
},
{
"tag": "Piano with jazz ensemble"
}
],
"notes": [
{
"note": "Brief record"
},
{
"note": "The Ray -- My melancholy baby -- Black coffee -- There's no you -- Doodlin' -- Sweet sixteen bars -- I surrender dear -- Undecided"
}
],
"seeAlso": []
},
{
"itemType": "book",
"title": "The White House",
"creators": [
{
"lastName": "White House Web Team",
"creatorType": "editor",
"fieldMode": true
}
],
"date": "1994",
"abstractNote": "Features the White House. Highlights the Executive Office of the President, which includes senior policy advisors and offices responsible for the President's correspondence and communications, the Office of the Vice President, and the Office of the First Lady. Posts contact information via mailing address, telephone and fax numbers, and e-mail. Contains the Interactive Citizens' Handbook with information on health, travel and tourism, education and training, and housing. Provides a tour and the history of the White House. Links to White House for Kids",
"callNumber": "F204.W5",
"extra": "OCLC: ocm44279786",
"place": "Washington, D.C",
"publisher": "White House Web Team",
"attachments": [],
"tags": [
{
"tag": "Executive Office of the President"
},
{
"tag": "Office of the First Lady"
},
{
"tag": "Office of the Vice President"
},
{
"tag": "United States"
},
{
"tag": "United States"
},
{
"tag": "United States"
},
{
"tag": "White House (Washington, D.C.)"
}
],
"notes": [
{
"note": "Title from home page as viewed on Aug. 19, 2000"
}
],
"seeAlso": []
}
]
},
{
"type": "import",
"input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<collection xmlns=\"http://www.loc.gov/MARC21/slim\">\n<record>\n <controlfield tag=\"001\">441828</controlfield>\n <datafield tag=\"020\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">9789279215070</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">468303</subfield>\n </datafield>\n <datafield tag=\"040\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">ILO</subfield>\n <subfield code=\"c\">ILO</subfield>\n </datafield>\n <datafield tag=\"072\" ind1=\" \" ind2=\"7\">\n <subfield code=\"a\">14.07.1</subfield>\n <subfield code=\"2\">ilot</subfield>\n </datafield>\n <datafield tag=\"099\" ind1=\" \" ind2=\"9\">\n <subfield code=\"a\">WWW ACCESS ONLY</subfield>\n </datafield>\n <datafield tag=\"245\" ind1=\"1\" ind2=\"0\">\n <subfield code=\"a\">Active ageing and solidarity between generations</subfield>\n <subfield code=\"h\">[electronic resource] :</subfield>\n <subfield code=\"b\">a statistical portrait of the European Union 2012 /</subfield>\n <subfield code=\"c\">European Commission, Eurostat.</subfield>\n </datafield>\n <datafield tag=\"250\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">2012 ed.</subfield>\n </datafield>\n <datafield tag=\"260\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Luxembourg :</subfield>\n <subfield code=\"b\">Publications Office of the European Union,</subfield>\n <subfield code=\"c\">2012.</subfield>\n </datafield>\n <datafield tag=\"300\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">141 p. :</subfield>\n <subfield code=\"b\">statistics</subfield>\n </datafield>\n <datafield tag=\"490\" ind1=\"0\" ind2=\" \">\n <subfield code=\"a\">Statistical books</subfield>\n </datafield>\n <datafield tag=\"500\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Theme: Population and social conditions</subfield>\n </datafield>\n <datafield tag=\"500\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Mode of access : World Wide Web (available in electronic format only).</subfield>\n </datafield>\n <datafield tag=\"500\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Description based on the Internet version on the World Wide Web.</subfield>\n </datafield>\n <datafield tag=\"504\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">References.</subfield>\n </datafield>\n <datafield tag=\"520\" ind1=\"8\" ind2=\" \">\n <subfield code=\"a\">Provides details in relation to population ageing and setting the scene as regards the dynamics of demographic change, and details the past, present and projected future structure of the EU's population. Presents information in relation to the demand for healthcare services, as well as the budgetary implications facing governments as their populations continue to age. Contains information relating to the active participation of older generations within society, with a particular focus on inter-generational issues and also includes information on the leisure pursuits and social activities undertaken by older persons.</subfield>\n </datafield>\n <datafield tag=\"650\" ind1=\"1\" ind2=\"7\">\n <subfield code=\"a\">older people</subfield>\n <subfield code=\"2\">ilot</subfield>\n </datafield>\n <datafield tag=\"650\" ind1=\"1\" ind2=\"7\">\n <subfield code=\"a\">older worker</subfield>\n <subfield code=\"2\">ilot</subfield>\n </datafield>\n <datafield tag=\"650\" ind1=\"1\" ind2=\"7\">\n <subfield code=\"a\">retired worker</subfield>\n <subfield code=\"2\">ilot</subfield>\n </datafield>\n <datafield tag=\"650\" ind1=\"1\" ind2=\"7\">\n <subfield code=\"a\">ageing population</subfield>\n <subfield code=\"2\">ilot</subfield>\n </datafield>\n <datafield tag=\"650\" ind1=\"1\" ind2=\"7\">\n <subfield code=\"a\">employment opportunity</subfield>\n <subfield code=\"2\">ilot</subfield>\n </datafield>\n <datafield tag=\"650\" ind1=\"1\" ind2=\"7\">\n <subfield code=\"a\">social security</subfield>\n <subfield code=\"2\">ilot</subfield>\n </datafield>\n
"items": [
{
"itemType": "book",
"title": "Active ageing and solidarity between generations: a statistical portrait of the European Union 2012",
"creators": [
{
"lastName": "Statistical Office of the European Communities",
"creatorType": "editor",
"fieldMode": true
}
],
"date": "2012",
"ISBN": "9789279215070",
"abstractNote": "Provides details in relation to population ageing and setting the scene as regards the dynamics of demographic change, and details the past, present and projected future structure of the EU's population. Presents information in relation to the demand for healthcare services, as well as the budgetary implications facing governments as their populations continue to age. Contains information relating to the active participation of older generations within society, with a particular focus on inter-generational issues and also includes information on the leisure pursuits and social activities undertaken by older persons",
"callNumber": "WWW ACCESS ONLY",
"edition": "2012 ed",
"numPages": "141",
"place": "Luxembourg",
"publisher": "Publications Office of the European Union",
"series": "Statistical books",
"url": "http://www.ilo.org/public/libdoc/igo/2011/468303.pdf",
"attachments": [],
"tags": [
"EU countries",
"EU pub",
"ageing population",
"calidad de la vida",
"cuadros estadísticos",
"employment opportunity",
"envejecimiento de la población",
"jubilado",
"older people",
"older worker",
"oportunidades de empleo",
"países de la UE",
"pays de l'UE",
"personas de edad avanzada",
"personnes âgées",
"possibilités d'emploi",
"pub UE",
"pub UE",
"qualité de la vie",
"quality of life",
"retired worker",
"seguridad social",
"sécurité sociale",
"social security",
"statistical table",
"tableau statistique",
"trabajador de edad avanzada",
"travailleur âgé",
"travailleur retraité",
"vieillissement de la population"
],
"notes": [
{
"note": "Theme: Population and social conditions Mode of access : World Wide Web (available in electronic format only) Description based on the Internet version on the World Wide Web"
}
],
"seeAlso": []
}
]
},
{
"type": "import",
"input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <record xmlns=\"http://www.loc.gov/MARC21/slim\" type=\"Bibliographic\">\n <leader>00000pam a2200000 c 4500</leader>\n <controlfield tag=\"001\">1112218955</controlfield>\n <controlfield tag=\"003\">DE-101</controlfield>\n <controlfield tag=\"005\">20161020223122.0</controlfield>\n <controlfield tag=\"007\">tu</controlfield>\n <controlfield tag=\"008\">160824s2016 gw ||||| |||| 10||||ger </controlfield>\n <datafield tag=\"015\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">16,A43</subfield>\n <subfield code=\"z\">16,N35</subfield>\n <subfield code=\"2\">dnb</subfield>\n </datafield>\n <datafield tag=\"016\" ind1=\"7\" ind2=\" \">\n <subfield code=\"2\">DE-101</subfield>\n <subfield code=\"a\">1112218955</subfield>\n </datafield>\n <datafield tag=\"020\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">9783781521230</subfield>\n <subfield code=\"c\">Broschur : EUR 27.90 (DE), EUR 28.70 (AT)</subfield>\n <subfield code=\"9\">978-3-7815-2123-0</subfield>\n </datafield>\n <datafield tag=\"020\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">3781521230</subfield>\n <subfield code=\"9\">3-7815-2123-0</subfield>\n </datafield>\n <datafield tag=\"024\" ind1=\"3\" ind2=\" \">\n <subfield code=\"a\">9783781521230</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">(DE-599)DNB1112218955</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">(OCoLC)958469418</subfield>\n </datafield>\n <datafield tag=\"040\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">1245</subfield>\n <subfield code=\"b\">ger</subfield>\n <subfield code=\"c\">DE-101</subfield>\n <subfield code=\"d\">9999</subfield>\n <subfield code=\"e\">rda</subfield>\n </datafield>\n <datafield tag=\"041\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">ger</subfield>\n </datafield>\n <datafield tag=\"044\" ind1=\" \" ind2=\" \">\n <subfield code=\"c\">XA-DE-BY</subfield>\n </datafield>\n <datafield tag=\"082\" ind1=\"0\" ind2=\"4\">\n <subfield code=\"8\">1\\x</subfield>\n <subfield code=\"a\">371.9046</subfield>\n <subfield code=\"q\">DE-101</subfield>\n <subfield code=\"2\">22/ger</subfield>\n </datafield>\n <datafield tag=\"083\" ind1=\"7\" ind2=\" \">\n <subfield code=\"a\">370</subfield>\n <subfield code=\"q\">DE-101</subfield>\n <subfield code=\"2\">23sdnb</subfield>\n </datafield>\n <datafield tag=\"084\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">370</subfield>\n <subfield code=\"q\">DE-101</subfield>\n <subfield code=\"2\">sdnb</subfield>\n </datafield>\n <datafield tag=\"085\" ind1=\" \" ind2=\" \">\n <subfield code=\"8\">1\\x</subfield>\n <subfield code=\"b\">371.9046</subfield>\n </datafield>\n <datafield tag=\"090\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">b</subfield>\n </datafield>\n <datafield tag=\"111\" ind1=\"2\" ind2=\" \">\n <subfield code=\"0\">(DE-588)1115266640</subfield>\n <subfield code=\"0\">(uri)http://d-nb.info/gnd/1115266640</subfield>\n <subfield code=\"0\">(DE-101)1115266640</subfield>\n <subfield code=\"a\">Deutsche Gesellschaft für Erziehungswissenschaft</subfield>\n <subfield code=\"e\">Sektion Sonderpädagogik</subfield>\n <subfield code=\"e\">Jahrestagung</subfield>\n <subfield code=\"n\">50.</subfield>\n <subfield code=\"d\">2015</subfield>\n <subfield code=\"c\">Basel</subfield>\n <subfield code=\"j\">Verfasser</subfield>\n <subfield code=\"4\">aut</subfield>\n </datafield>\n <datafield tag=\"245\" ind1=\"0\" ind2=\"0\">\n <subfield code=\"a\">Bildungs- und Erziehungsorganisatonen im Spannungsfeld von Inklusion und Ökonomisierung</subfield>\n <subfield code=\"c\">Tanja Sturm, Andreas Köpfer, Benjamin Wagener (Hrsg.)</subfield>\n </datafiel
"items": [
{
"itemType": "book",
"title": "Bildungs- und Erziehungsorganisatonen im Spannungsfeld von Inklusion und Ökonomisierung",
"creators": [
{
"firstName": "Tanja",
"lastName": "Sturm",
"creatorType": "editor"
},
{
"firstName": "Andreas",
"lastName": "Köpfer",
"creatorType": "editor"
},
{
"firstName": "Benjamin",
"lastName": "Wagener",
"creatorType": "editor"
}
],
"date": "2016",
"ISBN": "9783781521230 3781521230",
"callNumber": "b",
"language": "ger",
"numPages": "417",
"place": "Bad Heilbrunn",
"publisher": "Verlag Julius Klinkhardt",
"series": "Perspektiven sonderpädagogischer Forschung",
"attachments": [],
"tags": [
{
"tag": "(Produktform)Book"
},
{
"tag": "(VLB-WN)1572: Hardcover, Softcover / Pädagogik/Bildungswesen"
},
{
"tag": "2015"
},
{
"tag": "Basel"
},
{
"tag": "Inklusion"
},
{
"tag": "Inklusive Pädagogik"
},
{
"tag": "Konferenzschrift"
},
{
"tag": "Lehrerbildung"
},
{
"tag": "Lehrerbildung"
},
{
"tag": "Professionalisierung"
},
{
"tag": "Schulentwicklung"
},
{
"tag": "Sonderpädagogik"
},
{
"tag": "UN-Behindertenrechtskonvention"
}
],
"notes": [
{
"note": "Tagungsband zur 50. Jahrestagung der DGfE-Sektion Sonderpädagogik 2015 in Basel (Vorwort)"
}
],
"seeAlso": []
}
]
},
{
"type": "import",
"input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <marc:record xmlns:marc=\"http://www.loc.gov/MARC21/slim\">\n \t<marc:leader>nm 22 uu 4500</marc:leader>\n \t<marc:controlfield tag=\"008\">s ||||||||||||||||||||||</marc:controlfield>\n <marc:datafield tag=\"041\" ind1=\"0\" ind2=\"7\">\n \t\t<marc:subfield code=\"a\"></marc:subfield>\n \t <marc:subfield code=\"2\">rfc3066</marc:subfield>\n \t</marc:datafield>\n \t<marc:datafield tag=\"245\" ind1=\"1\" ind2=\"0\">\n \t<marc:subfield code=\"a\">Adaptation: the Continuing Evolution of the New York Public Library&#8217;s Digital Design System</marc:subfield>\n \t</marc:datafield>\n \t<marc:datafield tag=\"260\" ind1=\"\" ind2=\"\">\n \t\t<marc:subfield code=\"b\">The Code4Lib Journal</marc:subfield>\n \t\t<marc:subfield code=\"c\">Fri, 17 Aug 2018 08:14:38 +0000</marc:subfield>\n \t</marc:datafield>\n \t<marc:datafield tag=\"520\" ind1=\"\" ind2=\"\">\n <marc:subfield code=\"a\">'A design system is crucial for sustaining both the continuity and the advancement of a website's design. But it's hard to create such a system when content, technology, and staff are constantly changing. This is the situation faced by the Digital team at the New York Public Library. When those are the conditions of the problem, the design system needs to be modular, distributed, and standardized, so that it can withstand constant change and provide a reliable foundation. NYPL's design system has gone through three major iterations, each a step towards the best way to manage design principles across an abundance of heterogeneous content and many contributors who brought different skills to the team and department at different times. Starting from an abstracted framework that provided a template for future systems, then a specific component system for a new project, and finally a system of interoperable components and layouts, NYPL's Digital team continues to grow and adapt its digital design resource.'</marc:subfield>\n \t</marc:datafield>\n \t<marc:datafield tag=\"650\" ind1=\"1\" ind2=\"\">\n <marc:subfield code=\"a\">Issue 41</marc:subfield>\n </marc:datafield>\n <marc:datafield tag=\"700\" ind1=\"1\" ind2=\"\">\n \t<marc:subfield code=\"a\">Jennifer L. Anderson &amp; Edwin Guzman</marc:subfield>\n \t</marc:datafield>\n \t<marc:datafield tag=\"856\" ind1=\"\" ind2=\"\">\n \t\t<marc:subfield code=\"u\">https://journal.code4lib.org/articles/13657</marc:subfield>\n \t</marc:datafield>\n </marc:record>",
"items": [
{
"itemType": "book",
"title": "Adaptation: the Continuing Evolution of the New York Public Librarys Digital Design System",
"creators": [
{
"lastName": "Jennifer L. Anderson & Edwin Guzman",
"creatorType": "editor"
}
],
"date": "17",
"abstractNote": "'A design system is crucial for sustaining both the continuity and the advancement of a website's design. But it's hard to create such a system when content, technology, and staff are constantly changing. This is the situation faced by the Digital team at the New York Public Library. When those are the conditions of the problem, the design system needs to be modular, distributed, and standardized, so that it can withstand constant change and provide a reliable foundation. NYPL's design system has gone through three major iterations, each a step towards the best way to manage design principles across an abundance of heterogeneous content and many contributors who brought different skills to the team and department at different times. Starting from an abstracted framework that provided a template for future systems, then a specific component system for a new project, and finally a system of interoperable components and layouts, NYPL's Digital team continues to grow and adapt its digital design resource.'",
"publisher": "The Code4Lib Journal",
"attachments": [],
"tags": [
{
"tag": "Issue 41"
}
],
"notes": [],
"seeAlso": []
}
]
},
{
"type": "import",
"input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<record xmlns=\"http://www.loc.gov/MARC21/slim\">\n<recordSchema>MARC21-xml</recordSchema>\n<recordPacking>xml</recordPacking>\n<recordData>\n<record type=\"Bibliographic\">\n<leader>00000pam a2200000 cc4500</leader>\n<controlfield tag=\"001\">1242883924</controlfield>\n<controlfield tag=\"003\">DE-101</controlfield>\n<controlfield tag=\"005\">20230125220155.0</controlfield>\n<controlfield tag=\"007\">tu</controlfield>\n<controlfield tag=\"008\">211010s2023 gw ||||| |||| 00||||ger </controlfield>\n<datafield tag=\"015\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">23,A04</subfield>\n<subfield code=\"z\">21,N41</subfield>\n<subfield code=\"2\">dnb</subfield>\n</datafield>\n<datafield tag=\"016\" ind1=\"7\" ind2=\" \">\n<subfield code=\"2\">DE-101</subfield>\n<subfield code=\"a\">1242883924</subfield>\n</datafield>\n<datafield tag=\"020\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">9783525560624</subfield>\n<subfield code=\"c\">Festeinband : EUR 85.00 (DE), EUR 88.00 (AT)</subfield>\n<subfield code=\"9\">978-3-525-56062-4</subfield>\n</datafield>\n<datafield tag=\"020\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">3525560621</subfield>\n<subfield code=\"9\">3-525-56062-1</subfield>\n</datafield>\n<datafield tag=\"024\" ind1=\"3\" ind2=\" \">\n<subfield code=\"a\">9783525560624</subfield>\n</datafield>\n<datafield tag=\"028\" ind1=\"5\" ind2=\"2\">\n<subfield code=\"a\">Bestellnummer: VUR0008785</subfield>\n</datafield>\n<datafield tag=\"035\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">(DE-599)DNB1242883924</subfield>\n</datafield>\n<datafield tag=\"035\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">(OCoLC)1365383776</subfield>\n</datafield>\n<datafield tag=\"035\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">(OCoLC)1275381065</subfield>\n</datafield>\n<datafield tag=\"040\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">1245</subfield>\n<subfield code=\"b\">ger</subfield>\n<subfield code=\"c\">DE-101</subfield>\n<subfield code=\"d\">9999</subfield>\n<subfield code=\"e\">rda</subfield>\n</datafield>\n<datafield tag=\"041\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">ger</subfield>\n</datafield>\n<datafield tag=\"044\" ind1=\" \" ind2=\" \">\n<subfield code=\"c\">XA-DE</subfield>\n</datafield>\n<datafield tag=\"082\" ind1=\"7\" ind2=\"4\">\n<subfield code=\"a\">230</subfield>\n<subfield code=\"a\">943</subfield>\n<subfield code=\"q\">DE-101</subfield>\n<subfield code=\"2\">23sdnb</subfield>\n</datafield>\n<datafield tag=\"100\" ind1=\"1\" ind2=\" \">\n<subfield code=\"0\">(DE-588)111415403</subfield>\n<subfield code=\"0\">https://d-nb.info/gnd/111415403</subfield>\n<subfield code=\"0\">(DE-101)111415403</subfield>\n<subfield code=\"a\">Erhart, Hannelore</subfield>\n<subfield code=\"d\">1927-2013</subfield>\n<subfield code=\"e\">Verfasser</subfield>\n<subfield code=\"4\">aut</subfield>\n<subfield code=\"2\">gnd</subfield>\n</datafield>\n<datafield tag=\"245\" ind1=\"1\" ind2=\"0\">\n<subfield code=\"a\">Katharina Staritz</subfield>\n<subfield code=\"n\">Band 2.</subfield>\n<subfield code=\"p\">\n1903-1953 / Ilse Meseberg-Haubold, Dietgard Meyer ; unter Mitarbeit von Hannelore Erhart †\n</subfield>\n<subfield code=\"c\">\nHannelore Erhart ; Ilse Meseberg-Haubold ; Dietgard Meyer. Mit einem Exkurs Elisabeth Schmitz\n</subfield>\n</datafield>\n<datafield tag=\"264\" ind1=\"3\" ind2=\"1\">\n<subfield code=\"a\">Göttingen</subfield>\n<subfield code=\"b\">Vandenhoeck &amp; Ruprecht</subfield>\n<subfield code=\"c\">[2023]</subfield>\n</datafield>\n<datafield tag=\"300\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">XV, 629 Seiten</subfield>\n<subfield code=\"b\">Illustrationen</subfield>\n<subfield code=\"c\">1094 g</subfield>\n</datafield>\n<datafield tag=\"336\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">Text</subfield>\n<subfield code=\"b\">txt</subfield>\n<subfield code=\"2\">rdacontent</subfield>\n</datafield>\n<datafield tag=\"337\" ind1=\" \" ind2=\" \">\n<subfield code=\"a\">ohne Hilfsmittel zu benutzen</subfield>\n<subfield code=\"b\">n</subfield>\n<subfield co
"items": [
{
"itemType": "book",
"title": "Katharina Staritz. Band 2: 1903-1953 / Ilse Meseberg-Haubold, Dietgard Meyer ; unter Mitarbeit von Hannelore Erhart †",
"creators": [
{
"firstName": "Hannelore",
"lastName": "Erhart",
"creatorType": "author"
}
],
"date": "2023",
"ISBN": "9783525560624 3525560621",
"callNumber": "230 943",
"language": "ger",
"numPages": "629",
"place": "Göttingen",
"publisher": "Vandenhoeck & Ruprecht",
"attachments": [],
"tags": [],
"notes": [],
"seeAlso": []
}
]
}
]
/** END TEST CASES **/