diff --git a/src/main/java/org/jabref/logic/importer/fileformat/MarcXmlParser.java b/src/main/java/org/jabref/logic/importer/fileformat/MarcXmlParser.java index da60ad1fdfa..cc543ec2d37 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/MarcXmlParser.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/MarcXmlParser.java @@ -23,6 +23,7 @@ import org.jabref.model.entry.Date; import org.jabref.model.entry.LinkedFile; import org.jabref.model.entry.field.StandardField; +import org.jabref.model.entry.types.StandardEntryType; import org.jabref.model.strings.StringUtil; import org.slf4j.Logger; @@ -99,6 +100,9 @@ private BibEntry parseEntry(Element element) { putIsbn(bibEntry, datafield); } else if ("100".equals(tag) || "700".equals(tag) || "710".equals(tag)) { putPersonalName(bibEntry, datafield); // Author, Editor, Publisher + } else if ("111".equals(tag)) { + // FixMe: Conference Information also in Subtitle (245) & Author (710) + putConferenceDetail(bibEntry, datafield); } else if ("245".equals(tag)) { putTitle(bibEntry, datafield); } else if ("250".equals(tag)) { @@ -109,10 +113,14 @@ private BibEntry parseEntry(Element element) { putPhysicalDescription(bibEntry, datafield); } else if ("490".equals(tag) || "830".equals(tag)) { putSeries(bibEntry, datafield); + } else if ("502".equals(tag)) { + putThesisDescription(bibEntry, datafield); // Master's thesis, PhD thesis, Thesis } else if ("520".equals(tag)) { putSummary(bibEntry, datafield); } else if ("653".equals(tag)) { putKeywords(bibEntry, datafield); + } else if ("773".equals(tag)) { + putIssue(bibEntry, datafield); } else if ("856".equals(tag)) { putElectronicLocation(bibEntry, datafield); } else if ("966".equals(tag)) { @@ -125,16 +133,6 @@ private BibEntry parseEntry(Element element) { LOGGER.debug("Unparsed tag: {}", tag); } } - - /* - * ToDo: - * pages - * volume and number correct - * series and journals stored in different tags - * thesis - * proceedings - */ - return bibEntry; } @@ -200,6 +198,15 @@ private void putPersonalName(BibEntry bibEntry, Element datafield) { } } + private void putConferenceDetail(BibEntry bibEntry, Element datafield) { + String conference = getSubfield("a", datafield); + bibEntry.setType(StandardEntryType.Proceedings); + + if (StringUtil.isNotBlank(conference)) { + bibEntry.setField(StandardField.EVENTTITLE, conference); + } + } + private void putTitle(BibEntry bibEntry, Element datafield) { String title = getSubfield("a", datafield); String subtitle = getSubfield("b", datafield); @@ -251,7 +258,7 @@ private void putPublication(BibEntry bibEntry, Element datafield) { String date = getSubfield("c", datafield); if (StringUtil.isNotBlank(place)) { - bibEntry.setField(StandardField.LOCATION, place); + bibEntry.setField(StandardField.ADDRESS, place); } if (StringUtil.isNotBlank(name)) { @@ -274,8 +281,8 @@ private void putPublication(BibEntry bibEntry, Element datafield) { private void putPhysicalDescription(BibEntry bibEntry, Element datafield) { String pagetotal = getSubfield("a", datafield); - if (StringUtil.isNotBlank(pagetotal) && (pagetotal.contains("pages") || pagetotal.contains("p."))) { - pagetotal = pagetotal.replaceAll(" p\\.?$", ""); + if (StringUtil.isNotBlank(pagetotal) && (pagetotal.contains("pages") || pagetotal.contains("p.") || pagetotal.contains("S") || pagetotal.contains("Seiten"))) { + pagetotal = pagetotal.replaceAll(".*?(\\d+)(?:\\s*Seiten|\\s*S|\\s*pages|\\s*p).*", "$1"); bibEntry.setField(StandardField.PAGETOTAL, pagetotal); } } @@ -301,6 +308,20 @@ private void putSeries(BibEntry bibEntry, Element datafield) { } } + private void putThesisDescription(BibEntry bibEntry, Element datafield) { + String thesisDegree = getSubfield("b", datafield); + String school = getSubfield("c", datafield); + bibEntry.setType(StandardEntryType.MastersThesis); + + if (StringUtil.isNotBlank(school)) { + bibEntry.setField(StandardField.SCHOOL, school); + } + + if ("Dissertation".equals(thesisDegree)) { + bibEntry.setType(StandardEntryType.PhdThesis); + } + } + private void putSummary(BibEntry bibEntry, Element datafield) { String summary = getSubfield("a", datafield); @@ -327,6 +348,31 @@ private void putKeywords(BibEntry bibEntry, Element datafield) { } } + private void putIssue(BibEntry bibEntry, Element datafield) { + bibEntry.setType(StandardEntryType.Article); + + List issues = getSubfields("g", datafield); + + for (String issue : issues) { + String[] parts = issue.split(":"); + if (parts.length == 2) { + String key = parts[0].trim(); + String value = parts[1].trim(); + + if (StringUtil.isNotBlank(value)) { + switch (key) { + case "number" -> bibEntry.setField(StandardField.NUMBER, value); + case "year" -> bibEntry.setField(StandardField.YEAR, value); + case "pages" -> bibEntry.setField(StandardField.PAGES, value); + case "volume" -> bibEntry.setField(StandardField.VOLUME, value); + case "day" -> bibEntry.setField(StandardField.DAY, value); + case "month" -> bibEntry.setField(StandardField.MONTH, value); + } + } + } + } + } + private void putDoi(BibEntry bibEntry, Element datafield) { String ind1 = datafield.getAttribute("ind1"); String resource = getSubfield("u", datafield); @@ -406,9 +452,16 @@ private String getSubfield(String a, Element datafield) { return subfield.getTextContent(); } } + return null; } + private List getSubfields(String a, Element datafield) { + List subfields = getChildren("subfield", datafield); + + return subfields.stream().filter(field -> field.getAttribute("code").equals(a)).map(Node::getTextContent).toList(); + } + private Element getChild(String name, Element e) { if (e == null) { return null; diff --git a/src/test/java/org/jabref/logic/importer/fileformat/MarcXmlParserTest.java b/src/test/java/org/jabref/logic/importer/fileformat/MarcXmlParserTest.java new file mode 100644 index 00000000000..4a14ce9ab2a --- /dev/null +++ b/src/test/java/org/jabref/logic/importer/fileformat/MarcXmlParserTest.java @@ -0,0 +1,41 @@ +package org.jabref.logic.importer.fileformat; + +import java.io.IOException; +import java.io.InputStream; +import java.util.function.Predicate; +import java.util.stream.Stream; + +import org.jabref.logic.bibtex.BibEntryAssert; +import org.jabref.logic.util.io.FileUtil; +import org.jabref.model.entry.BibEntry; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +public class MarcXmlParserTest { + + private static final String FILE_ENDING = ".xml"; + + private static Stream fileNames() throws IOException { + Predicate fileName = name -> name.startsWith("MarcXMLParserTest") && name.endsWith(FILE_ENDING); + return ImporterTestEngine.getTestFiles(fileName).stream(); + } + + private void doTest(String xmlName, String bibName) throws Exception { + try (InputStream is = MarcXmlParserTest.class.getResourceAsStream(xmlName)) { + MarcXmlParser parser = new MarcXmlParser(); + java.util.List entries = parser.parseEntries(is); + assertNotNull(entries); + BibEntryAssert.assertEquals(MarcXmlParserTest.class, bibName, entries.get(0)); + } + } + + @ParameterizedTest + @MethodSource("fileNames") + public void testImportEntries(String fileName) throws Exception { + String bibName = FileUtil.getBaseName(fileName) + ".bib"; + doTest(fileName, bibName); + } +} diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXMLParserTestInProceedings.bib b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXMLParserTestInProceedings.bib new file mode 100644 index 00000000000..a36825d4bc3 --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXMLParserTestInProceedings.bib @@ -0,0 +1,13 @@ +@Proceedings{, + title = {VI International Congress on Experimental Mechanics}, + year = {1988}, + address = {London}, + editor = {Adams, Frank}, + isbn = {1851662529}, + publisher = {{Elsevier [u.a.]}}, + eventtitle = {International Congress on Experimental Mechanics}, + subtitle = {[proceedings of the VI International Congress on Experimental Mechanics ... held on June 5 - 10, 1988 in Portland, Oregon, U.S.A.]}, + titleaddon = {ed. by Frank Adams ...}, +} + +@Comment{jabref-meta: databaseType:bibtex;} diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXMLParserTestInProceedings.xml b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXMLParserTestInProceedings.xml new file mode 100644 index 00000000000..617c406c36f --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXMLParserTestInProceedings.xml @@ -0,0 +1,88 @@ + + 1.1 + 1 + + + info:srw/schema/1/marcxml-v1.1 + xml + + + 01080nam a2200265 ca4500 + BV049029404 + DE-604 + 00000000000000.0 + t + 230630m1988uuuu |||| 10||| eng d + + 1851662529 + 1-85166-252-9 + + + 0912053208 + 0-912053-20-8 + + + DE-604 + ger + + + International Congress on Experimental Mechanics + 6 + 1988 + Portland, Or. + Verfasser + (DE-588)5022525-X + aut + + + VI International Congress on Experimental Mechanics + [proceedings of the VI International Congress on Experimental Mechanics ... held on June 5 - 10, 1988 in Portland, Oregon, U.S.A.] + ed. by Frank Adams ... + + + Sixth International Congress on Experimental Mechanics + + + London + Elsevier [u.a.] + 1988 + + + (DE-588)1071861417 + Konferenzschrift + gnd-content + + + Adams, Frank + edt + + + Society for Experimental Mechanics (USA) + Sonstige + (DE-588)308357-3 + oth + + + (DE-599)GBV037240986 + + + eng + + + txt + rdacontent + + + n + rdamedia + + + nc + rdacarrier + + + + 1 + + + diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestArticle.bib b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestArticle.bib new file mode 100644 index 00000000000..7c301eb9487 --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestArticle.bib @@ -0,0 +1,9 @@ +@Article{, + author = {Bello, Emmanuel G.}, + title = {Article 22 of the African Charter on Human and Peoples' Rights}, + year = {1992}, + pages = {447-473}, + titleaddon = {Emmanuel G. Bello}, +} + +@Comment{jabref-meta: databaseType:bibtex;} diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestArticle.xml b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestArticle.xml new file mode 100644 index 00000000000..1882401aac5 --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestArticle.xml @@ -0,0 +1,76 @@ + + 1.1 + 1 + + + info:srw/schema/1/marcxml-v1.1 + xml + + + 00864naa a2200253 c 4500 + BV048976418 + DE-604 + 00000000000000.0 + t + 230526s1992 |||| 00||| eng d + + DE-604 + ger + rda + + + Bello, Emmanuel G. + 1939- + Verfasser + (DE-588)136157114 + aut + + + Article 22 of the African Charter on Human and Peoples' Rights + Emmanuel G. Bello + + + 1992 + + + (OCoLC)1381297713 + + + (DE-599)BVBBV048976418 + + + eng + + + DE-521 + + + txt + rdacontent + + + n + rdamedia + + + nc + rdacarrier + + + pages:447-473 + + + Essays in honour of Judge Taslim Olawale Elias; 1. Contemporary international law and human rights / edited by Emmanuel G. Bello ... + Dordrecht [u.a.], 1992 + Seite 447-473 + (DE-604)BV013223576 + + + 447-473 + + + + 1 + + + + 1.1 + 1 + + + info:srw/schema/1/marcxml-v1.1 + xml + + + 07543nmm a2200397zc 4500 + BV049020376 + DE-604 + 00000000000000.0 + cr|uuu---uuuuu + 230626s2023 |||| o||u| ||||||eng d + + 9781800567566 + 978-1-80056-756-6 + + + DE-604 + ger + rda + + + Caraballo, Margarita J. + Verfasser + aut + + + Marketing Automation with Mailchimp + Expert Tips, Techniques, and Best Practices for Scaling Marketing Strategies and ROI for Your Business + + + 1st ed + + + Birmingham + Packt Publishing, Limited + 2023 + + + ©2023 + + + 1 Online-Ressource (304 Seiten) + + + Cover -- Title Page -- Copyright and Credits -- Contributors -- About the reviewer -- Table of Contents -- Preface -- Part 1:Introduction to Mailchimp -- Chapter 1: Welcome to Marketing with Mailchimp -- A glance at Mailchimp's journey -- Understanding and using online marketing with Mailchimp -- Mailchimp-specific terms -- Channels -- Campaigns -- Classic Automations -- Customer Journey Builder -- Common utilizations -- Digital content creators -- Brick and mortar -- Service providers -- Mensa marketers -- E-commerce marketers -- Creating an account -- Summary -- Further reading -- Part 2:Getting Set Up -- Chapter 2: Basics of Account Management and Audiences -- Account management and setting an industry -- Details -- Help us improve your stats -- Default Email Builder -- Email from Mailchimp -- Manage automatic replies -- Setting up an audience -- Why is it important to know about different contact statuses? -- Information you need to make your first list -- The purpose behind using a central versus various list -- Summary -- Further reading -- Chapter 3: Importing and Combining Audiences -- Merge Tags -- Put this tag in your content -- Default merge tag value -- How to import a list -- Combining audiences -- How to combine audiences -- The Combine Audiences tool -- Exporting and importing -- Summary -- Further reading -- Chapter 4: Understanding the Difference between Groups, Tags, and Segments -- How targeting can lead to higher engagement -- What are groups and tags? -- Groups -- Tags -- Importing to groups or tags -- Segmenting tools -- Basics of segmenting logic -- Summary -- Further reading -- Chapter 5: Strategies and Tools for Managing Inactive Contacts -- What are inactive contacts? -- How to develop our own definition -- To unsubscribe or archive? That is the question -- When do I delete? -- Summary -- Further reading + + + Part 3:Basic Channels -- Chapter 6: Setting Up and Customizing Various Form Types -- Why are forms necessary? -- Hosted forms -- Navigating to the hosted form builder -- Categories of hosted forms you can edit -- Creating a form on a landing page -- Embedded and pop-up forms -- Embedded forms -- Pop-up forms -- Summary -- Further reading -- Chapter 7: Establishing Your Brand with the Content Studio -- What is the Content Studio? -- Individual features and channels nested under Content Studio -- Creative Assistant -- My Files -- Products -- Giphy -- Instagram -- My Logo -- Summary -- Further reading -- Chapter 8: Outreach Marketing with Templates and Campaigns -- Templates and how to start them -- What is a Template? -- Template Editor -- Choosing a template -- Using the Campaign Editor -- Campaign scheduling -- Types of emails to pair with targeted segments -- Summary -- Further reading -- Chapter 9: Setting Up Your Marketing Presence with Websites -- What is a domain? -- An additional entry point and sign-up portal -- Personalizing your domain settings -- Improving deliverability -- Having an authentic appearance -- Where do I get one and what if I have one? -- Making a website -- Editing settings -- Summary -- Further reading -- Part 4:Refine and Automate -- Chapter 10: Understanding Reports and Analytics -- Technical requirements -- The types of information that are accessible in Mailchimp's reporting -- Why opens and clicks? -- General stats overview -- Click performance interface -- Predicted Demographics interface -- How you can use and interpret these reports -- Expanded/advanced reporting features -- Comparative Reports -- Summary -- Further reading -- Chapter 11: Implementing A/B and Multivariate Testing -- Why experiment with engagement? -- Multivariate options and what elements you can experiment with + + + How do you take information from the results to better understand your audience? -- Summary -- Further reading -- Chapter 12: Strategies for Automating Using the Customer Journey Builder -- Technical requirements -- The basics of automation and events -- Types of automation, journeys, and their logic -- Common use cases and recipes -- Audience/contact activity -- E-commerce activity -- Date-based events and data -- Marketing channel activity -- Integration and API events -- Setting up a Classic Automation or Customer Journey Builder -- Summary -- Further reading -- Chapter 13: Setting Up a Mailchimp E-Commerce Store -- Technical requirements -- What is a commerce feature? -- Setting up a Mailchimp store -- The expansion of a contact dataset to include commerce/purchasing data -- Setting up automations specific to e-commerce -- Summary -- Further reading -- Part 5:Get Smarter and Connect -- Chapter 14: E-Commerce Integrations -- Technical requirements -- Featured commerce integrations -- Movement of information between these platforms -- How to expand your marketing efforts with your commerce data -- Summary -- Further reading -- Chapter 15: Form and Survey Integrations -- Technical requirements -- Using form and survey integrations to build your audience -- How to find the right integration and connect it -- Summary -- Further reading -- Chapter 16: CRM and Connectivity Integrations -- Technical requirements -- Popular CRM and connectivity integrations and why to connect them -- What the various integration paths are and how to find and use them -- Browsing for integrations -- Sample integration walk-throughs -- Zapier integration -- Understanding where data is present when syncing is initiated and associated advanced features -- Summary -- Further reading -- Chapter 17: Use Cases and Real-World Examples -- Starting a business or online presence + + + + Type of business -- Background of the business -- Next goals and vision for growth -- Ideal Mailchimp usage for this business -- From bricks and mortar to a digital presence -- Type of business -- Background of the business -- Next goals and vision for growth -- Ideal Mailchimp usage for this business -- Service-based business model -- Type of business -- Background of the business -- Next goals and vision for growth -- Ideal Mailchimp usage for this business -- Summary -- Index -- Other Books You May Enjoy + + + + Erscheint auch als + Druck-Ausgabe + Caraballo, Margarita J. + Marketing Automation with Mailchimp + Birmingham : Packt Publishing, Limited,c2023 + 9781800561731 + + + ZDB-30-PQE + + + (ZDB-30-PQE)EBC30553734 + + + (ZDB-30-PAD)EBC30553734 + + + (ZDB-89-EBL)EBL30553734 + + + (OCoLC)1380745037 + + + (DE-599)BVBBV049020376 + + + eng + + + DE-2070s + + + txt + rdacontent + + + c + rdamedia + + + cr + rdacarrier + + + Description based on publisher supplied metadata and other sources + + + https://ebookcentral.proquest.com/lib/hwr/detail.action?docID=30553734 + DE-2070s + ZDB-30-PQE + HWR_PDA_PQE + Aggregator + Volltext + + + + 1 + + + diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestBookSeries.bib b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestBookSeries.bib new file mode 100644 index 00000000000..9b60dc5ca0d --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestBookSeries.bib @@ -0,0 +1,18 @@ +@Misc{, + title = {Recent Developments and the New Directions of Research, Foundations, and Applications}, + year = {2023}, + address = {Cham}, + edition = {1st ed. 2023}, + editor = {Shahbazova, Shahnaz N. and Abbasov, Ali M. and Kreinovich, Vladik and Kacprzyk, Janusz and Batyrshin, Ildar Z.}, + file = {ParsedFileField{description='', link='https://doi.org/10.1007/978-3-031-23476-7', fileType='PDF'}}, + isbn = {9783031234767}, + issn = {1860-0808}, + pagetotal = {330}, + publisher = {{Springer}}, + series = {Studies in Fuzziness and Soft Computing}, + subtitle = {Selected Papers of the 8th World Conference on Soft Computing, February 03–05, 2022, Baku, Azerbaijan, Vol. II}, + titleaddon = {edited by Shahnaz N. Shahbazova, Ali M. Abbasov, Vladik Kreinovich, Janusz Kacprzyk, Ildar Z. Batyrshin}, + volume = {423}, +} + +@Comment{jabref-meta: databaseType:bibtex;} diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestBookSeries.xml b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestBookSeries.xml new file mode 100644 index 00000000000..d89588c020d --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestBookSeries.xml @@ -0,0 +1,297 @@ + + 1.1 + 1 + + + info:srw/schema/1/marcxml-v1.1 + xml + + + 03794nmm a2200709zcb4500 + BV049032768 + DE-604 + 00000000000000.0 + cr|uuu---uuuuu + 230704s2023 |||| o||u| ||||||eng d + + 9783031234767 + Online + 978-3-031-23476-7 + + + DE-604 + ger + rda + + + Recent Developments and the New Directions of Research, Foundations, and Applications + Selected Papers of the 8th World Conference on Soft Computing, February 03–05, 2022, Baku, Azerbaijan, Vol. II + edited by Shahnaz N. Shahbazova, Ali M. Abbasov, Vladik Kreinovich, Janusz Kacprzyk, Ildar Z. Batyrshin + + + 1st ed. 2023 + + + Cham + Springer Nature Switzerland + 2023 + + + Cham + Springer + + + 1 Online-Ressource (XII, 330 p. 64 illus., 42 illus. in color) + + + Shahbazova, Shahnaz N. + edt + + + Abbasov, Ali M. + edt + + + Kreinovich, Vladik + edt + + + Kacprzyk, Janusz + edt + + + Batyrshin, Ildar Z. + edt + + + Erscheint auch als + Druck-Ausgabe + 978-3-031-23475-0 + + + Erscheint auch als + Druck-Ausgabe + 978-3-031-23477-4 + + + Erscheint auch als + Druck-Ausgabe + 978-3-031-23478-1 + + + ZDB-2-INR + + + ZDB-2-INR_2023 + + + 10.1007/978-3-031-23476-7 + doi + + + (ZDB-2-INR)9783031234767 + + + (OCoLC)1389184245 + + + (DE-599)BVBBV049032768 + + + eng + + + DE-91 + DE-1028 + DE-1046 + DE-Aug4 + DE-898 + DE-523 + DE-859 + DE-29 + DE-863 + DE-1050 + DE-862 + DE-92 + DE-522 + DE-573 + DE-M347 + DE-706 + DE-739 + DE-634 + + + 006.3 + 23 + + + DAT 000 + stub + + + txt + rdacontent + + + c + rdamedia + + + cr + rdacarrier + + + Studies in Fuzziness and Soft Computing + 423 + 1860-0808 + + + Computational Intelligence + + + Artificial Intelligence + + + Computational intelligence + + + Artificial intelligence + + + https://doi.org/10.1007/978-3-031-23476-7 + Verlag + URL des Erstveröffentlichers + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-522 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-634 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-1046 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-1028 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-Aug4 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-1050 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-573 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-M347 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-92 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-898 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-859 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-863 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-862 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-523 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-91 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-706 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-29 + ZDB-2-INR + Verlag + Volltext + + + https://doi.org/10.1007/978-3-031-23476-7 + DE-739 + ZDB-2-INR + Verlag + Volltext + + + + 1 + + + diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestNotes.bib b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestNotes.bib new file mode 100644 index 00000000000..f273f06da3f --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestNotes.bib @@ -0,0 +1,13 @@ +@Article, + author = {Sarda, Marie-Anne and Eude-Devaux, Caroline}, + title = {Livres de secrets, traités de teinture, journaux de laboratoire ou carnets de notes}, + year = {2023}, + note = {Text französisch. - Zusammenfassung in englischer Sprache}, + volume = {50}, + file = {ParsedFileField{description='', link='https://journals.openedition.org/insitu/38769', fileType='PDF'}}, + pagetotal = {26}, + subtitle = {quelles sources pour l'étude de la couleur dans le textile? = Books of secrets, dyeing treatises, laboratory journals or notebooks : what sources can be used for studying colour in textiles?}, + titleaddon = {Marie-Anne Sarda et Caroline Eude-Devaux}, +} + +@Comment{jabref-meta: databaseType:bibtex;} diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestNotes.xml b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestNotes.xml new file mode 100644 index 00000000000..fcc7c1b4e01 --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestNotes.xml @@ -0,0 +1,122 @@ + + 1.1 + 1 + + + info:srw/schema/1/marcxml-v1.1 + xml + + + 01672nma a2200349 c 4500 + BV049029767 + DE-604 + 00000000000000.0 + cr|uuu---uuuuu + 230702s2023 |||| o||u| ||||||fre d + + DE-604 + ger + rda + + + Sarda, Marie-Anne + Verfasser + (DE-588)174386958 + aut + + + Livres de secrets, traités de teinture, journaux de laboratoire ou carnets de notes + quelles sources pour l'étude de la couleur dans le textile? = Books of secrets, dyeing treatises, laboratory journals or notebooks : what sources can be used for studying colour in textiles? + Marie-Anne Sarda et Caroline Eude-Devaux + + + Books of secrets, dyeing treatises, laboratory journals or notebooks + + + 26 juin 2023 + + + Online-Ressource (26 Seiten) + 14 Illustrationen + + + Text französisch. - Zusammenfassung in englischer Sprache + + + Eude-Devaux, Caroline + Verfasser + (DE-588)1230640940 + aut + + + 10.4000/insitu.38769 + doi + + + (OCoLC)1389175862 + + + (DE-599)BVBBV049029767 + + + fre + + + DE-Y3 + DE-255 + DE-Y7 + DE-Y2 + + + txt + rdacontent + + + c + rdamedia + + + cr + rdacarrier + + + volume:50 + year:2023 + + + In situ + Paris, 2023 + 50 (2023) + (DE-604)BV017789122 + 1630-7305 + (DE-600)2132615-0 + + + application/pdf + https://journals.openedition.org/insitu/pdf/38769 + Verlag + kostenfrei + Volltext + + + https://doi.org/10.4000/insitu.38769 + Resolving-System + kostenfrei + Volltext + + + https://journals.openedition.org/insitu/38769 + Verlag + kostenfrei + Volltext + + + 50 + 2023 + + + + 1 + + + diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestSummaryAndKeywords.bib b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestSummaryAndKeywords.bib new file mode 100644 index 00000000000..46bd1ea6a78 --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestSummaryAndKeywords.bib @@ -0,0 +1,15 @@ +@Misc{, + author = {Cottrell, Robert C.}, + title = {Martyrs of the early American Left}, + year = {2023}, + abstract = {"Uniquely intertwining the stories of three leading early twentieth century radical Americans, this book presents the enthralling tale of the too-short lives of Inez Milholland, Randolph Bourne and John Reed. This collective biography highlights the movements, causes and personal experiences that drew such privileged individuals to the American left, willing to sacrifice comfortable circumstances and opportunities. Operating as writers and activists, the trio became leading spokespersons for feminism, sexual liberation, unions, civil liberties, pacifism, internationalism, socialism, anarchism and, in Reed's case, communism. Determinedly challenging capitalism, patriarchy and the nation-state, the independently-minded Milholland, Bourne and Reed possessed a twofold commitment to personal liberation and community-interclass and transnational. With their early deaths, they left behind personal models for acting, living, thinking afresh and standing as cultural and political radicals in early twentieth century America. In the process, they became martyrs to the very movements they championed."-Provided by publisher"}, + address = {Jefferson, North Carolina}, + isbn = {9781476691497}, + keywords = {Political activists / United States / Biography, Radicals / United States / Biography, Milholland, Inez, Bourne, Randolph Silliman / 1886-1918, Reed, John / 1887-1920, Right and left (Political science) / United States / History / 20th century, Radicalism / United States / History / 20th century, United States / Social conditions / 1865-1918, United States / Politics and government / 1865-1933, Bourne, Randolph Silliman / 1886-1918, Milholland, Inez, Reed, John / 1887-1920, Political activists, Politics and government, Radicalism, Radicals, Right and left (Political science), Social conditions, United States, 1865-1999, Biographies, History}, + pagetotal = {301}, + publisher = {{McFarland & Company, Inc., Publishers}}, + subtitle = {Inez Milholland, Randolph Bourne and John Reed}, + titleaddon = {Robert C. Cottrell}, +} + +@Comment{jabref-meta: databaseType:bibtex;} diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestSummaryAndKeywords.xml b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestSummaryAndKeywords.xml new file mode 100644 index 00000000000..dcc2ff3bfa7 --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestSummaryAndKeywords.xml @@ -0,0 +1,156 @@ + + 1.1 + 1 + + + info:srw/schema/1/marcxml-v1.1 + xml + + + 03645nam a2200541 c 4500 + BV049039638 + DE-604 + 00000000000000.0 + t + 230706s2023 a||| |||| 00||| eng d + + 9781476691497 + pbk + 978-1-4766-9149-7 + + + DE-604 + ger + rda + + + Cottrell, Robert C. + 1950- + Verfasser + (DE-588)131931563 + aut + + + Martyrs of the early American Left + Inez Milholland, Randolph Bourne and John Reed + Robert C. Cottrell + + + Jefferson, North Carolina + McFarland & Company, Inc., Publishers + [2023] + + + vii, 301 Seiten + Illustrationen + 26 cm + + + Vassar girl suffragist -- A man of letters -- A poet singing nothing but joy -- An American renaissance -- The unanticipated marriage -- Thirteen months in Europe -- Riding with the revolution -- Keeping faith with the cause -- The lyrical left's response to World War I -- Joining the new republic -- The peace crusade -- The Eastern Front -- The death of a feminist martyr -- Frustrated love and transnationalism -- The love of his life -- The war to make the world safe for democracy -- The Bolshevik Revolution -- "America in 1918" -- War's end -- An American in communist Russia -- Three American martyrs + + + "Uniquely intertwining the stories of three leading early twentieth century radical Americans, this book presents the enthralling tale of the too-short lives of Inez Milholland, Randolph Bourne and John Reed. This collective biography highlights the movements, causes and personal experiences that drew such privileged individuals to the American left, willing to sacrifice comfortable circumstances and opportunities. Operating as writers and activists, the trio became leading spokespersons for feminism, sexual liberation, unions, civil liberties, pacifism, internationalism, socialism, anarchism and, in Reed's case, communism. Determinedly challenging capitalism, patriarchy and the nation-state, the independently-minded Milholland, Bourne and Reed possessed a twofold commitment to personal liberation and community-interclass and transnational. With their early deaths, they left behind personal models for acting, living, thinking afresh and standing as cultural and political radicals in early twentieth century America. In the process, they became martyrs to the very movements they championed."-Provided by publisher" + + + Political activists / United States / Biography + + + Radicals / United States / Biography + + + Milholland, Inez + + + Bourne, Randolph Silliman / 1886-1918 + + + Reed, John / 1887-1920 + + + Right and left (Political science) / United States / History / 20th century + + + Radicalism / United States / History / 20th century + + + United States / Social conditions / 1865-1918 + + + United States / Politics and government / 1865-1933 + + + Bourne, Randolph Silliman / 1886-1918 + + + Milholland, Inez + + + Reed, John / 1887-1920 + + + Political activists + + + Politics and government + + + Radicalism + + + Radicals + + + Right and left (Political science) + + + Social conditions + + + United States + + + 1865-1999 + + + Biographies + + + History + + + (DE-588)4006804-3 + Biografie + gnd-content + + + Erscheint auch als + Online-Ausgabe + 978-1-4766-4922-1 + + + (DE-599)BVBBV049039638 + + + eng + + + DE-12 + + + txt + rdacontent + + + n + rdamedia + + + nc + rdacarrier + + + + 1 + + + diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestThesis.bib b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestThesis.bib new file mode 100644 index 00000000000..3b11e8e892f --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestThesis.bib @@ -0,0 +1,15 @@ +@PhdThesis{, + author = {Blake, Carl LeRoy}, + school = {Cornell University}, + title = {Tempo rubato in the eigteenth century}, + year = {1991}, + address = {Ann Arbor, Mich.}, + edition = {Faksimile}, + keywords = {Geschichte 1700-1800}, + pagetotal = {127}, + publisher = {{UMI Dissertation Services}}, + subtitle = {a thesis}, + titleaddon = {by Carl LeRoy Blake}, +} + +@Comment{jabref-meta: databaseType:bibtex;} diff --git a/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestThesis.xml b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestThesis.xml new file mode 100644 index 00000000000..c65e4310b91 --- /dev/null +++ b/src/test/resources/org/jabref/logic/importer/fileformat/MarcXmlParserTestThesis.xml @@ -0,0 +1,91 @@ + + 1.1 + 1 + + + info:srw/schema/1/marcxml-v1.1 + xml + + + 00921nam a2200289 c 4500 + BV048992225 + DE-604 + 00000000000000.0 + t + 230607s1991 gl|| m||| 00||| eng d + + DE-604 + ger + rda + + + Blake, Carl LeRoy + 1951- + Verfasser + (DE-588)1173216472 + aut + + + Tempo rubato in the eigteenth century + a thesis + by Carl LeRoy Blake + + + Tempo rubato in the 18th century + + + Faksimile + + + Ann Arbor, Mich. + UMI Dissertation Services + [1991] + + + xii, 127 Seiten + Notenbeispiele + 21 cm + + + Dissertation + Cornell University + 1988 + + + Geschichte 1700-1800 + + + (DE-588)4113937-9 + Hochschulschrift + gnd-content + + + (OCoLC)1385298558 + + + (DE-599)BVBBV048992225 + + + eng + + + DE-83 + + + txt + rdacontent + + + n + rdamedia + + + nc + rdacarrier + + + + 1 + + +