diff --git a/adsrefpipe/refparsers/OUPFTxml.py b/adsrefpipe/refparsers/OUPFTxml.py new file mode 100644 index 0000000..cb5e6ab --- /dev/null +++ b/adsrefpipe/refparsers/OUPFTxml.py @@ -0,0 +1,329 @@ + +import sys, os +import regex as re +import argparse +from typing import List, Dict + +from adsputils import setup_logging, load_config +logger = setup_logging('refparsers') +config = {} +config.update(load_config()) + +from adsrefpipe.refparsers.reference import XMLreference, ReferenceError +from adsrefpipe.refparsers.toREFs import XMLtoREFs +from adsrefpipe.refparsers.unicode import tostr + + +class OUPFTreference(XMLreference): + """ + This class handles parsing OUP references in XML format. It extracts citation information such as authors, + year, journal, title, volume, pages, DOI, and eprint, and stores the parsed details. + + Examples from MNRAS: + + 1. Common cases: + Abadi M. et al., 2016, preprint (arXiv:1603.04467) + Astropy Collaboration et al., 2013, A&A, 558, A33 + + 2. Rarer: lack of + Planck CollaborationVI, 2018, preprint (arXiv:1807.06209) + + Note: unfortunately for PTEP we have volumes where the xlink namespace is not defined in each reference, + so we have to add it ourself to satisfy the XML parser. Here's an example: + + Audenaert K. , EisertJ., PlenioM. B., and WernerR. F., Phys. Rev. A66, 042327 (2002) [arXiv:quant-ph/0205025] [Search inSPIRE]. (http://dx.doi.org/10.1103/PhysRevA.66.042327) + """ + + # to match `amp` + re_match_amp = re.compile(r'__amp;?') + # to match and remove tags and their contents (case-insensitive) + re_replace_etal = re.compile(r'.*', flags=re.IGNORECASE) + # to match and remove unnecessary XML processing instructions + re_replace_useless_tag = re.compile(r'(<\?[^\?>]*\?>)') + # to match and remove extra spaces before a semicolon + re_replace_extra_space = re.compile(r'^\s*;\s*') + # to match "ASP Conf. Ser. Vol. " pattern + re_ASPC = re.compile('ASP Conf[.] Ser[.] Vol[.] (\d+)') + # to match "Astrophysics and Space Science Library, Vol. " pattern + re_ASSL = re.compile('Astrophysics and Space Science Library, Vol[.] (\d+)|Vol[.] (\d+) of Astrophysics and Space Science Library') + # to match any alphabetic characters in a year string + re_char_in_year = re.compile('[A-Za-z]') + # to match the words 'thesis' or 'dissertation' (case-insensitive) + re_thesis = re.compile('(thesis|dissertation)', flags=re.IGNORECASE) + + def parse(self): + """ + parse the OUPFT reference and extract citation information such as authors, year, title, and DOI + + :return: + """ + self.parsed = 0 + + refstr = self.dexml(self.reference_str.toxml()) + + authors = self.parse_authors() + year = self.xmlnode_nodecontents('year') + if year: + year = self.re_char_in_year.sub('', year) + + title = self.xmlnode_nodecontents('article-title') or self.xmlnode_nodecontents('chapter-title') or self.xmlnode_nodecontents('bookTitle') + + comment = self.xmlnode_nodecontents('comment') + + journal = self.xmlnode_nodecontents('source') + if journal: + journal = self.re_match_amp.sub('&', journal) + if not journal: + match = self.re_ASPC.search(refstr) + if match: + journal = 'ASPC' + volume = match.group(1) + else: + match = self.re_ASSL.search(refstr) + if match: + journal = 'ASSL' + volume = match.group(1) or match.group(2) or '' + if not journal: + journal = self.xmlnode_nodecontents('conf-name') + if not journal: + # see if it is thesis + if self.re_thesis.search(refstr): + journal = 'Thesis' + + + volume = self.xmlnode_nodecontents('volume') + pages = self.xmlnode_nodecontents('fpage') + series = self.xmlnode_nodecontents('series') + + cittype = self.xmlnode_attribute('nlm-citation', 'citation-type') or self.xmlnode_attribute('citation', 'citation-type') or self.xmlnode_attribute('mixed-citation', 'publication-type') + if comment and cittype in ['journal', 'confproc'] and not volume and not pages: + try: + volume, pages = comment.split() + except: + pass + + # these fields are already formatted the way we expect them + self['authors'] = authors + self['year'] = year + self['jrlstr'] = journal + self['ttlstr'] = title + self['volume'] = self.parse_volume(volume) + self['page'], self['qualifier'] = self.parse_pages(pages, letters="ABCDEFGHIJKLMNOPQRSTUVWXYZ") + self['pages'] = self.combine_page_qualifier(self['page'], self['qualifier']) + self['series'] = series + + doi = self.parse_doi(refstr, comment) + eprint = self.parse_eprint(refstr) + + if doi: + self['doi'] = doi + if eprint: + self['eprint'] = eprint + + self['refstr'] = self.get_reference_str() + if not self['refstr']: + self['refplaintext'] = self.get_reference_plain_text(self.to_ascii(refstr)) + + self.parsed = 1 + + def parse_authors(self) -> str: + """ + parse the authors from the reference string and format them accordingly + + :return: a formatted string of authors + """ + authors = self.xmlnode_nodescontents('person-group', attrs={'person-group-type': 'author'}, keepxml=1) or \ + self.xmlnode_nodescontents('name', keepxml=1) or \ + self.xmlnode_nodescontents('string-name', keepxml=1) + + collab = self.xmlnode_nodescontents('collab') + + author_list = [] + for author in authors: + an_author = '' + # some of name tags include junk xml tags, remove them + # Cunningham + author, lastname = self.extract_tag(author, 'surname') + author, givennames = self.extract_tag(author, 'given-names') + if lastname: an_author = self.re_replace_extra_space.sub('', self.re_replace_useless_tag.sub('', tostr(lastname))) + if an_author and givennames: an_author += ', ' + self.re_replace_extra_space.sub('', self.re_replace_useless_tag.sub('', tostr(givennames))) + if an_author: + author_list.append(an_author) + else: + # when there is no tag (ie, Schultheis M.et al.) + author_list.append(self.re_replace_etal.sub(' et. al', author)) + + if collab: + author_list = collab + author_list + + authors = ", ".join(author_list) + authors = self.re_match_amp.sub('', authors) + + return authors + + def parse_doi(self, refstr: str, comment: str) -> str: + """ + parse the DOI from the reference string or comment field, falling back to extracting it from the refstr + + attempts to extract a DOI from different sources: first, from the 'pub-id' XML node content; if not found, + it checks the comment field; if neither contains the DOI, it tries to extract it from the reference string. + + :param refstr: the reference string potentially containing the DOI + :param comment: a comment related to the reference that may contain the DOI + :return: the extracted DOI if found, or an empty string if not + """ + doi = self.match_doi(self.xmlnode_nodecontents('pub-id', attrs={'pub-id-type': 'doi'})) + if doi: + return doi + # see if there is a doi in the comment field + doi = self.match_doi(comment) + if doi: + return doi + # attempt to extract it from refstr + doi = self.match_doi(refstr) + if doi: + return doi + return '' + + def parse_eprint(self, refstr: str) -> str: + """ + parse the eprint from the reference string + + attempts to extract the eprint from the 'pub-id' and 'elocation-id' XML nodes, + then tries to extract it from the reference string if not found in the XML nodes + + :param refstr: the reference string potentially containing the eprint + :return: the extracted eprint if found, or an empty string if not + """ + # note that the id might have been identified incorrectly, hence verify it + # arXiv:10.1029/2001JB000553 + eprint = self.match_arxiv_id(self.xmlnode_nodecontents('pub-id', attrs={'pub-id-type': 'arxiv'})) + if eprint: + return f"arXiv:{eprint}" + # arXiv:1309.6955 + eprint = self.match_arxiv_id(self.xmlnode_nodecontents('elocation-id', attrs={'content-type': 'arxiv'})) + if eprint: + return f"arXiv:{eprint}" + # attempt to extract it from refstr + eprint = self.match_arxiv_id(refstr) + if eprint: + return f"arXiv:{eprint}" + return '' + + +class OUPFTtoREFs(XMLtoREFs): + """ + This class converts OUP XML references to a standardized reference format. It processes raw OUP references from + either a file or a buffer and outputs parsed references, including bibcodes, authors, volume, pages, and DOI. + """ + + # to clean up XML blocks by removing certain tags + block_cleanup = [ + (re.compile(r''), ''), + (re.compile(r''), ''), + (re.compile(r''), 'et al.'), + ] + # to clean up references by replacing certain patterns + reference_cleanup = [ + (re.compile(r''), ''), + (re.compile(r'\sxlink:type="simple"'), ''), + (re.compile(r'\s+xlink:href='), ' href='), + (re.compile(r'.*?'), ''), + (re.compile(r'\s+xlink:type='), ' type='), + (re.compile(r''), ''), + ] + + # to match tags and their contents + re_author_tag = re.compile(r'()') + # to match author placeholder represented by three or more hyphens + re_author_placeholder = re.compile(r'(-{3,})') + + def __init__(self, filename: str, buffer: str): + """ + initialize the OUPtoREFs object to process OUP references + + :param filename: the path to the source file + :param buffer: the XML references as a buffer + """ + XMLtoREFs.__init__(self, filename, buffer, parsername=OUPFTtoREFs, tag='ref', cleanup=self.block_cleanup, encoding='ISO-8859-1') + + def cleanup(self, reference: str) -> str: + """ + clean up the reference string by replacing specific patterns + + :param reference: the raw reference string to clean + :return: cleaned reference string + """ + for (compiled_re, replace_str) in self.reference_cleanup: + reference = compiled_re.sub(replace_str, reference) + return reference + + def missing_authors(self, prev_reference: str, cur_reference: str) -> str: + """ + replace author placeholder in the current reference with authors from the previous reference + + :param prev_reference: the previous reference containing the author information + :param cur_reference: the current reference containing the author placeholder + :return: the current reference with the author placeholder replaced, or the original current reference if no placeholder is found + """ + if prev_reference and self.re_author_placeholder.search(cur_reference): + match = self.re_author_tag.search(prev_reference) + if match: + return self.re_author_placeholder.sub(match.group(0), cur_reference) + return cur_reference + + def process_and_dispatch(self) -> List[Dict[str, List[Dict[str, str]]]]: + """ + perform reference cleaning and parsing, then dispatch the parsed references + + :return: a list of dictionaries containing bibcodes and parsed references + """ + references = [] + for raw_block_references in self.raw_references: + bibcode = raw_block_references['bibcode'] + block_references = raw_block_references['block_references'] + item_nums = raw_block_references.get('item_nums', []) + + parsed_references = [] + prev_reference = '' + for i, raw_reference in enumerate(block_references): + reference = self.cleanup(raw_reference) + reference = self.missing_authors(prev_reference, reference) + prev_reference = reference + + logger.debug("OUPxml: parsing %s" % reference) + try: + oup_reference = OUPFTreference(reference) + parsed_references.append(self.merge({**oup_reference.get_parsed_reference(), 'refraw': raw_reference}, self.any_item_num(item_nums, i))) + except ReferenceError as error_desc: + logger.error("OUPFTxml: error parsing reference: %s" % error_desc) + + references.append({'bibcode': bibcode, 'references': parsed_references}) + logger.debug("%s: parsed %d references out of %d found references" % (bibcode, len(parsed_references), len(block_references))) + + return references + + +# This is the main program used for manual testing and verification of OUPxml references. +# It allows parsing references from either a file or a buffer, and if no input is provided, +# it runs a source test file to verify the functionality against expected parsed results. +# The test results are printed to indicate whether the parsing is successful or not. +if __name__ == '__main__': # pragma: no cover + from adsrefpipe.tests.unittests.stubdata import parsed_references + parser = argparse.ArgumentParser(description='Parse OUPFT references') + parser.add_argument('-f', '--filename', help='the path to source file') + parser.add_argument('-b', '--buffer', help='xml reference(s)') + args = parser.parse_args() + if args.filename: + print(OUPFTtoREFs(filename=args.filename, buffer=None).process_and_dispatch()) + elif args.buffer: + print(OUPFTtoREFs(buffer=args.buffer, filename=None).process_and_dispatch()) + # if no reference source is provided, just run the source test file + elif not args.filename and not args.buffer: + filename = os.path.abspath(os.path.dirname(__file__) + '/../tests/unittests/stubdata/test.oupft.xml') + result = OUPFTtoREFs(filename=filename, buffer=None).process_and_dispatch() + if result == parsed_references.parsed_oup: + print('Test passed!') + else: + print('Test failed!') + sys.exit(0) diff --git a/adsrefpipe/tests/unittests/stubdata/parsed_references.py b/adsrefpipe/tests/unittests/stubdata/parsed_references.py index 93dfaf9..5f08e0d 100644 --- a/adsrefpipe/tests/unittests/stubdata/parsed_references.py +++ b/adsrefpipe/tests/unittests/stubdata/parsed_references.py @@ -98,6 +98,8 @@ parsed_oncp = [{'bibcode': '0000AcPSl...0.....Z', 'references': [{'refplaintext': 'R. Hofstadter, F. Bumiller, M. R. Yearian, Rev. Mod. Phys. 30 (1958) 483.', 'refraw': ' R. Hofstadter, F. Bumiller, M. R. Yearian, <i>Rev. Mod. Phys.</i> 30 (1958) 483.'}, {'refplaintext': 'J. J. Sakurai, Currents and Mesons, Univ. of Chicago Press, 1967.', 'refraw': ' J. J. Sakurai, Currents and Mesons, Univ. of Chicago Press, 1967.'}, {'refplaintext': 'V. A. Matveev, R. M. Muradyan and A. N. Tavkhelidze, Lett. Nuovo Cim. 7 (1973) 719.', 'refraw': ' V. A. Matveev, R. M. Muradyan and A. N. Tavkhelidze, <i>Lett. Nuovo Cim.</i> 7 (1973) 719.'}, {'refplaintext': 'S. J. Brodsky and G. R. Farrar, Phys. Rev. Lett. 31 (1973) 1153.', 'refraw': ' S. J. Brodsky and G. R. Farrar, <i>Phys. Rev. Lett.</i> 31 (1973) 1153.'}, {'refplaintext': 'G. P. Lepage and S. J Brodsky, Phys. Lett. 87B (1979) 351.', 'refraw': ' G. P. Lepage and S. J Brodsky, <i>Phys. Lett.</i> 87B (1979) 351.'}, {'refplaintext': 'G. R. Farrar and D. R. Jackson, Phys. Rev. Lett. 43 (1979) 246.', 'refraw': ' G. R. Farrar and D. R. Jackson, <i>Phys. Rev. Lett.</i> 43 (1979) 246.'}, {'refplaintext': 'A. V. Efremov and A. V. Radyushkin, Phys. Lett. 94B (1980) 245.', 'refraw': ' A. V. Efremov and A. V. Radyushkin, <i>Phys. Lett.</i> 94B (1980) 245.'}, {'refplaintext': 'M. A. Shifman, A. I. Vainshtein and V. I. Zakharov, Nucl. Phys. B147 (1979) 385.', 'refraw': ' M. A. Shifman, A. I. Vainshtein and V. I. Zakharov, <i>Nucl. Phys.</i> B147 (1979) 385.'}, {'refplaintext': 'V. A. Nesterenko and A. V. Radyushkin, Phys. Lett. 115B (1982) 410.', 'refraw': ' V. A. Nesterenko and A. V. Radyushkin, <i>Phys. Lett.</i> 115B (1982) 410.'}, {'refplaintext': 'B. L. Ioffe and A. V. Smilga, Phys. Lett. 114B (1982) 353.', 'refraw': ' B. L. Ioffe and A. V. Smilga, <i>Phys. Lett.</i> 114B (1982) 353.'}, {'refplaintext': 'J. Gasser and H. Leutwyler, Nucl. Phys. B250 (1985) 517.', 'refraw': ' J. Gasser and H. Leutwyler, <i>Nucl. Phys.</i> B250 (1985) 517.'}, {'refplaintext': 'C. Amsler et al, Phys. Lett. B667 (2008) 1.', 'refraw': ' C. Amsler et al, <i>Phys. Lett.</i> B667 (2008) 1.'}, {'refplaintext': 'C. Adamuscin, A. Z. Dubnickova, S. Dubnicka, R. Pekarik, P. Weisenpacher, Eur. Phys. J. C28 (2003) 115.', 'refraw': ' C. Adamuscin, A. Z. Dubnickova, S. Dubnicka, R. Pekarik, P. Weisenpacher, <i>Eur. Phys. J.</i> C28 (2003) 115.'}, {'refplaintext': 'S. Dubnicka, A. Z. Dubnickova, P. Weisenpacher, Eur. Phys. J. C32 (2004) 381.', 'refraw': ' S. Dubnicka, A. Z. Dubnickova, P. Weisenpacher, <i>Eur. Phys. J.</i> C32 (2004) 381.'}, {'refplaintext': 'S. S. Schweber: An introduction to relativistic quantum firld theory, Row - Peterson and Co, Evanston (Ill.), Elmsford, N. Y. 1961.', 'refraw': ' S. S. Schweber: An introduction to relativistic quantum firld theory, Row - Peterson and Co, Evanston (Ill.), Elmsford, N. Y. 1961.'}, {'refplaintext': 'L. D. Landau, Nucl. Phys. 13 (1959) 181.', 'refraw': ' L. D. Landau, <i>Nucl. Phys.</i> 13 (1959) 181.'}, {'refplaintext': 'R. Eden, P. Landshoff, D. Olive, J. Polkinghorn: The analytic S-matrix, Cambridge Univ. Press, Cambridge (UK) 1966.', 'refraw': ' R. Eden, P. Landshoff, D. Olive, J. Polkinghorn: The analytic S-matrix, Cambridge Univ. Press, Cambridge (UK) 1966.'}, {'refplaintext': 'S. Dubnicka, O. Dumbrajs, Phys. Reports 19C (1975 141.', 'refraw': ' S. Dubnicka, O. Dumbrajs, <i>Phys. Reports</i> 19C (1975 141.'}, {'refplaintext': 'R. E. Cutkosky, J. Math. Phys. 1 (1960) 429.', 'refraw': ' R. E. Cutkosky, <i>J. Math. Phys.</i> 1 (1960) 429.'}, {'refplaintext': 'R. Oehme, piNNewsletter 7 (1992) 1.', 'refraw': ' R. Oehme, <i>πN</i><i>Newsletter</i> 7 (1992) 1.'}, {'refplaintext': 'B. R. Martin, D. Morgan and G. Shaw: Pion-Pion Interactions in Particle Physics; Academic Press, London-New York-San Francisco, 1976.', 'refraw': ' B. R. Martin, D. Morgan and G. Shaw: Pion-Pion Interactions in Particle Physics; Academic Press, London-New York-San Francisco, 1976.'}, {'refplaintext': 'P. Estabrooks and A. D. Martin, Nucl. Phys. B79 (1974) 301.', 'refraw': ' P. Estabrooks and A. D. Martin, <i>Nucl. Phys.</i> B79 (1974) 301.'}, {'refplaintext': 'B. Hyams et al, Nucl. Phys. B64 (1973) 134.', 'refraw': ' B. Hyams et al, <i>Nucl. Phys.</i> B64 (1973) 134.'}, {'refplaintext': 'S. D. Protopopescu et al, Phys. Rev. D7 (1973) 1279.', 'refraw': ' S. D. Protopopescu et al, <i>Phys. Rev.</i> D7 (1973) 1279.'}, {'refplaintext': 'S. J. Brodsky, Springer Tracts Mod. Phys. 100 (1982) 81.', 'refraw': ' S. J. Brodsky, <i>Springer Tracts Mod. Phys.</i> 100 (1982) 81.'}, {'refplaintext': 'M. K. Chose, Nucl. Phys. B174 (1980) 109.', 'refraw': ' M. K. Chose, <i>Nucl. Phys.</i> B174 (1980) 109.'}, {'refplaintext': 'V. L. Auslender et al, Sov. J. Nucl. Phys. 9 (1969) 69.', 'refraw': ' V. L. Auslender et al, <i>Sov. J. Nucl. Phys.</i> 9 (1969) 69.'}, {'refplaintext': 'D. Benaksas et al, Phys. Lett. 39B (1972) 289.', 'refraw': ' D. Benaksas et al, <i>Phys. Lett.</i> 39B (1972) 289.'}, {'refplaintext': 'E. B. Dally et al, Phys. Rev. Lett. 48 (1982) 375.', 'refraw': ' E. B. Dally et al, <i>Phys. Rev. Lett.</i> 48 (1982) 375.'}, {'refplaintext': 'S. R. Amendolia et al, Nucl. Phys. B277 (1986) 168.', 'refraw': ' S. R. Amendolia et al, <i>Nucl. Phys.</i> B277 (1986) 168.'}, {'refplaintext': 'C. J. Bebek et al, Phys. Rev. D17 (1978) 1693.', 'refraw': ' C. J. Bebek et al, <i>Phys. Rev.</i> D17 (1978) 1693.'}, {'refplaintext': 'J. Volmer et al, Phys. Rev. Lett. 86 (2001) 1713.', 'refraw': ' J. Volmer et al, <i>Phys. Rev. Lett.</i> 86 (2001) 1713.'}, {'refplaintext': 'T. Horn et al, Phys. Rev. Lett. 97 (2006) 192001.', 'refraw': ' T. Horn et al, <i>Phys. Rev. Lett.</i> 97 (2006) 192001.'}, {'refplaintext': 'S. F. Berezhnev et al, Sov. J. Nucl. Phys. 18 (1973) 53.', 'refraw': ' S. F. Berezhnev et al, <i>Sov. J. Nucl. Phys.</i> 18 (1973) 53.'}, {'refplaintext': 'S. F. Berezhnev et al, Sov. J. Nucl. Phys. 26 (1977) 290.', 'refraw': ' S. F. Berezhnev et al, <i>Sov. J. Nucl. Phys.</i> 26 (1977) 290.'}, {'refplaintext': 'V. V. Alidze et al, Sov. J. Nucl. Phys. 33 (1981) 189.', 'refraw': ' V. V. Alidze et al, <i>Sov. J. Nucl. Phys.</i> 33 (1981) 189.'}, {'refplaintext': 'A. Z. Dubnickova, S. Dubnicka, M. P. Rekalo, Z. Phys. C70 (1996) 473.', 'refraw': ' A. Z. Dubnickova, S. Dubnicka, M. P. Rekalo, <i>Z. Phys.</i> C70 (1996) 473.'}, {'refplaintext': 'A. Quenzer et al, Phys. Lett. 76B (1978) 512.', 'refraw': ' A. Quenzer et al, <i>Phys. Lett.</i> 76B (1978) 512.'}, {'refplaintext': 'G. Cosme et al, Preprint LAL-1287, ORSAY (1976).', 'refraw': ' G. Cosme et al, Preprint LAL-1287, ORSAY (1976).'}, {'refplaintext': 'D. Bisello et al, Phys. Lett. 220B (1989) 321.', 'refraw': ' D. Bisello et al, <i>Phys. Lett.</i> 220B (1989) 321.'}, {'refplaintext': 'D. Bollini et al, Lett. Nuovo Cim. 14 (1975) 418.', 'refraw': ' D. Bollini et al, <i>Lett. Nuovo Cim.</i> 14 (1975) 418.'}, {'refplaintext': 'B. Esposito et al, Lett. Nuovo Cim. 28 (1980) 337.', 'refraw': ' B. Esposito et al, <i>Lett. Nuovo Cim.</i> 28 (1980) 337.'}, {'refplaintext': 'A. Aloisio et al, Phys. Lett. B606 (2005) 12.', 'refraw': ' A. Aloisio et al, <i>Phys. Lett.</i> B606 (2005) 12.'}, {'refplaintext': 'L. M. Barkov et al, Nucl. Phys. B256 (1985) 365.', 'refraw': ' L. M. Barkov et al, <i>Nucl. Phys.</i> B256 (1985) 365.'}, {'refplaintext': 'R. R. Akhmetshin et al, Phys. Lett. B648 (2007) 28.', 'refraw': ' R. R. Akhmetshin et al, <i>Phys. Lett.</i> B648 (2007) 28.'}, {'refplaintext': 'M. N. Achasov et al, JETP Vol.103 No.3 (2006) 380.', 'refraw': ' M. N. Achasov et al, <i>JETP</i> Vol.103 No.3 (2006) 380.'}, {'refplaintext': 'S. R. Amendolia et al, Phys. Lett. 138B (1984) 454.', 'refraw': ' S. R. Amendolia et al, <i>Phys. Lett.</i> 138B (1984) 454.'}, {'refplaintext': 'R. M. Baltrusaitis et al, Phys. Rev. D32 (1985) 566.', 'refraw': ' R. M. Baltrusaitis et al, <i>Phys. Rev.</i> D32 (1985) 566.'}, {'refplaintext': 'S. Dubnicka, L. Martinovic, Czech. J. Phys. B29 (1979) 1384.', 'refraw': ' S. Dubnicka, L. Martinovic, <i>Czech. J. Phys.</i> B29 (1979) 1384.'}, {'refplaintext': 'S. Dubnicka, V. A. Meshcheryakov and J. Milko, J. Phys. G7 (1981) 605.', 'refraw': ' S. Dubnicka, V. A. Meshcheryakov and J. Milko, <i>J. Phys.</i> G7 (1981) 605.'}, {'refplaintext': 'S. Dubnicka, L. Martinovic, Lett. Nuovo Cim. 44 No.7 (1985) 462.', 'refraw': ' S. Dubnicka, L. Martinovic, <i>Lett. Nuovo Cim.</i> 44 No.7 (1985) 462.'}, {'refplaintext': 'S. Dubnicka, L. Martinovic: Proc. XXI. Recontre de Moriond: Strong Interactions and Gauge Theories, March 16-22, 1986, Ed.: J. Tran Thanh Van, Frontieres, Gif sur Y vette (1986) p. 297.', 'refraw': ' S. Dubnicka, L. Martinovic: <i>Proc. XXI. Recontre de Moriond: Strong Interactions and Gauge Theories</i>, March 16-22, 1986, Ed.: J. Tran Thanh Van, Frontiéres, Gif sur Y vette (1986) p. 297.'}, {'refplaintext': 'M. E. Biagini, S. Dubnicka, E. Etim, P. Kolar, Nuovo Cim. A104 (1991) 363.', 'refraw': ' M. E. Biagini, S. Dubnicka, E. Etim, P. Kolar, <i>Nuovo Cim.</i> A104 (1991) 363.'}, {'refplaintext': 'E. B. Dally et al, Phys. Rev. Lett. 45 (1980) 232.', 'refraw': ' E. B. Dally et al, <i>Phys. Rev. Lett.</i> 45 (1980) 232.'}, {'refplaintext': 'S. R. Amendolia et al, Phys. Lett. 178B (1986) 435.', 'refraw': ' S. R. Amendolia et al, <i>Phys. Lett.</i> 178B (1986) 435.'}, {'refplaintext': 'S. Dubnicka, Preprint JINR, E2-88-840, Dubna (1988).', 'refraw': ' S. Dubnicka, Preprint JINR, E2-88-840, Dubna (1988).'}, {'refplaintext': 'S. S. Gerstein, Ya.B. Zeldovich, ZhETP 29 (1955) 698.', 'refraw': ' S. S. Gerstein, Ya.B. Zeldovich, <i>ZhETP</i> 29 (1955) 698.'}, {'refplaintext': 'R. P. Feynman, M. Gell-Mann, Phys. Rev. 109 (1958) 193.', 'refraw': ' R. P. Feynman, M. Gell-Mann, <i>Phys. Rev.</i> 109 (1958) 193.'}, {'refplaintext': 'Y. Nambu, Phys. Rev. 106 (1957) 1366.', 'refraw': ' Y. Nambu, <i>Phys. Rev.</i> 106 (1957) 1366.'}, {'refplaintext': 'A. Z. Dubnickova, S. Dubnicka, M. P. Rekalo, Czech. J. Phys. 43 (1993) 1057.', 'refraw': ' A. Z. Dubnickova, S. Dubnicka, M. P. Rekalo, <i>Czech. J. Phys.</i> 43 (1993) 1057.'}, {'refplaintext': 'A. Z. Dubnickova, S. Dubnicka, M. P. Rekalo, Acta Phys. Univ. Com. XL (1999) 17.', 'refraw': ' A. Z. Dubnickova, S. Dubnicka, M. P. Rekalo, <i>Acta Phys. Univ. Com. XL</i> (1999) 17.'}, {'refplaintext': 'D. Buskulic et al, Z. Phys. C70 (1996) 579.', 'refraw': ' D. Buskulic et al, <i>Z. Phys.</i> C70 (1996) 579.'}, {'refplaintext': 'M. Fujikawa et al., Phys. Rev. D78 (2008) 072006.', 'refraw': ' M. Fujikawa et al., <i>Phys. Rev.</i> D78 (2008) 072006.'}, {'refplaintext': 'E. Bartos, S. Dubnicka, A. Z. Dubnickova, M. Fujikawa, H. Hayashii, Nucl. Phys. B (Proc. Suppl.) to be published', 'refraw': ' E. Bartos, S. Dubnicka, A. Z. Dubnickova, M. Fujikawa, H. Hayashii, Nucl. Phys. B (Proc. Suppl.) to be published'}, {'refplaintext': 'S. Schael et al., Phys. Rept. 421 (2005) 191.', 'refraw': ' S. Schael et al., <i>Phys. Rept.</i> 421 (2005) 191.'}, {'refplaintext': 'S. Anderson et al., Phys. Rev. D61 (2000) 112002.', 'refraw': ' S. Anderson et al., <i>Phys. Rev.</i> D61 (2000) 112002.'}, {'refplaintext': 'D. Bisello et al, Z. Phys. C48 (1990) 23.', 'refraw': ' D. Bisello et al, <i>Z. Phys.</i> C48 (1990) 23.'}, {'refplaintext': 'S. Dubnicka, Nuovo Cim. A100 (1988) 1.', 'refraw': ' S. Dubnicka, <i>Nuovo Cim.</i> A100 (1988) 1.'}, {'refplaintext': 'R. C. Walker et al., Phys. Rev D49 (1994) 5671.', 'refraw': ' R. C. Walker et al., <i>Phys. Rev</i> D49 (1994) 5671.'}, {'refplaintext': 'L. Andivahis et al., Phys. Rev. D50 (1994) 5491.', 'refraw': ' L. Andivahis et al., <i>Phys. Rev.</i> D50 (1994) 5491.'}, {'refplaintext': 'A. F. Sill et al., Phys. Rev. D48 (1993) 29.', 'refraw': ' A. F. Sill et al., <i>Phys. Rev.</i> D48 (1993) 29.'}, {'refplaintext': 'A. Lung et al., Phys. Rev. Lett. 70 (1993) 718.', 'refraw': ' A. Lung et al., <i>Phys. Rev. Lett.</i> 70 (1993) 718.'}, {'refplaintext': 'S. Rock et al., Phys. Rev. D46 (1992) 24.', 'refraw': ' S. Rock et al., <i>Phys. Rev.</i> D46 (1992) 24.'}, {'refplaintext': 'P. Markowitz et al., Phys. Rev. C48 (1993) 5.', 'refraw': ' P. Markowitz et al., <i>Phys. Rev.</i> C48 (1993) 5.'}, {'refplaintext': 'E. E. Bruins et al., Phys. Rev. Lett. 75 (1995) 21.', 'refraw': ' E. E. Bruins et al., <i>Phys. Rev. Lett.</i> 75 (1995) 21.'}, {'refplaintext': 'M. Mayerhoff et al., Phys. Lett. 327B (1994) 201.', 'refraw': ' M. Mayerhoff et al., <i>Phys. Lett.</i> 327B (1994) 201.'}, {'refplaintext': 'S. Platchkov et al., Nucl. Phys. A510 (1990) 740.', 'refraw': ' S. Platchkov et al., <i>Nucl. Phys.</i> A510 (1990) 740.'}, {'refplaintext': 'T. Eden et al., Phys. Rev. C50 (1994) R1749.', 'refraw': ' T. Eden et al., <i>Phys. Rev.</i> C50 (1994) R1749.'}, {'refplaintext': 'M. Ostrick et al., Phys. Rev. Lett. 83 (1999) 276.', 'refraw': ' M. Ostrick et al., <i>Phys. Rev. Lett.</i> 83 (1999) 276.'}, {'refplaintext': 'C. Herberg et al., Eur. Phys. J. A5 (1999) 131.', 'refraw': ' C. Herberg et al., <i>Eur. Phys. J.</i> A5 (1999) 131.'}, {'refplaintext': 'J. Becker et al., Eur. Phys. J. A6 (1999) 329.', 'refraw': ' J. Becker et al., <i>Eur. Phys. J.</i> A6 (1999) 329.'}, {'refplaintext': 'D. Rohe et al., Phys. Rev. Lett. 83 (1999) 4257.', 'refraw': ' D. Rohe et al., <i>Phys. Rev. Lett.</i> 83 (1999) 4257.'}, {'refplaintext': 'I. Passchier et al., Phys. Rev. Lett. 82 (1999) 4988.', 'refraw': ' I. Passchier et al., <i>Phys. Rev. Lett.</i> 82 (1999) 4988.'}, {'refplaintext': 'G. Bassompierre et al, Nuovo Cimento A73 (1983) 347.', 'refraw': ' G. Bassompierre et al, <i>Nuovo Cimento</i> A73 (1983) 347.'}, {'refplaintext': 'B. Delcourt et al, Phys. Lett. 86B (1979) 395.', 'refraw': ' B. Delcourt et al, <i>Phys. Lett.</i> 86B (1979) 395.'}, {'refplaintext': 'D. Bisello et al, Nucl. Phys. B224 (1893) 379.', 'refraw': ' D. Bisello et al, <i>Nucl. Phys.</i> B224 (1893) 379.'}, {'refplaintext': 'T. A. Armstrong et al, Phys. Rev. Lett. 70 (1993) 1212.', 'refraw': ' T. A. Armstrong et al, <i>Phys. Rev. Lett.</i> 70 (1993) 1212.'}, {'refplaintext': 'M. Ambrogioni et al, FNAL PUB-99/027-E, Batavia (1999).', 'refraw': ' M. Ambrogioni et al, FNAL PUB-99/027-E, Batavia (1999).'}, {'refplaintext': 'D. Bisello et al, J. Phys. C48 (1990) 23.', 'refraw': ' D. Bisello et al, <i>J. Phys.</i> C48 (1990) 23.'}, {'refplaintext': 'G. Bardin et al, Nucl. Phys. B411 (1994) 3.', 'refraw': ' G. Bardin et al, <i>Nucl. Phys.</i> B411 (1994) 3.'}, {'refplaintext': 'A. Antonelli et al, Phys. Lett. 334B (1994) 431.', 'refraw': ' A. Antonelli et al, <i>Phys. Lett.</i> 334B (1994) 431.'}, {'refplaintext': 'C. Voci, Nucl. Phys. A623 (1997) 333c.', 'refraw': ' C. Voci, <i>Nucl. Phys.</i> A623 (1997) 333c.'}, {'refplaintext': 'P. Mergell, U.-G. Meissner and D. Drechsel, Nucl. Phys. A596 (1996) 367.', 'refraw': ' P. Mergell, U.-G. Meissner and D. Drechsel, <i>Nucl. Phys.</i> A596 (1996) 367.'}, {'refplaintext': 'S. Furuichi and D. Watanabe, Nuovo Cimento A110 (1997) 577.', 'refraw': ' S. Furuichi and D. Watanabe, <i>Nuovo Cimento</i> A110 (1997) 577.'}, {'refplaintext': 'H.-W. Hammer, Ulf-G. Meissner and D. Drechsel, Phys. Lett. 385B (1996) 343.', 'refraw': ' H.-W. Hammer, Ulf-G. Meissner and D. Drechsel, <i>Phys. Lett.</i> 385B (1996) 343.'}, {'refplaintext': 'G. Hohler et al, Nucl. Phys. B114 (1976) 505.', 'refraw': ' G. Höhler et al, <i>Nucl. Phys.</i> B114 (1976) 505.'}, {'refplaintext': 'S. Dubnicka, A. Z. Dubnickova and P. Weisenpacher, J. Phys. G 29 (2003) 405.', 'refraw': ' S. Dubnicka, A. Z. Dubnickova and P. Weisenpacher, <i>J. Phys. G</i> 29 (2003) 405.'}, {'refplaintext': 'G. Hohler and E. Pietarinen, Phys. Lett. 53B (1975) 471.', 'refraw': ' G. Höhler and E. Pietarinen, <i>Phys. Lett.</i> 53B (1975) 471.'}, {'refplaintext': 'S. J. Brodsky and P. G. Lepage, Phys. Rev. D22 (1980) 2157.', 'refraw': ' S. J. Brodsky and P. G. Lepage, <i>Phys. Rev.</i> D22 (1980) 2157.'}, {'refplaintext': 'T. Frederico, H.-Ch. Pauli and Shan-Sui Zhan, Phys. Rev. D66 (2002) 116011.', 'refraw': ' T. Frederico, H.-Ch. Pauli and Shan-Sui Zhan, <i>Phys. Rev.</i> D66 (2002) 116011.'}, {'refplaintext': 'M. K. Jones et al, Phys. Rev. Lett. 84 (2000) 1398.', 'refraw': ' M. K. Jones et al, <i>Phys. Rev. Lett.</i> 84 (2000) 1398.'}, {'refplaintext': 'O. Gayon et al, Phys. Rev. Lett. 88 (2002) 092301.', 'refraw': ' O. Gayon et al, <i>Phys. Rev. Lett.</i> 88 (2002) 092301.'}, {'refplaintext': 'V. Punjabi et al, Phys. Rev. C71 (2005) 055202.', 'refraw': ' V. Punjabi et al, <i>Phys. Rev.</i> C71 (2005) 055202.'}, {'refplaintext': 'C. Adamuscin, S. Dubnicka, A. Z. Dubnickova, P. Weisenpacher, Prog. Part. Nucl. Phys. 55 (2005) 228.', 'refraw': ' C. Adamuscin, S. Dubnicka, A. Z. Dubnickova, P. Weisenpacher, <i>Prog. Part. Nucl. Phys.</i> 55 (2005) 228.'}, {'refplaintext': 'E. Bartos, S. Dubnicka, E. A. Kuraev, Phys. Rev. D70 (2004) 117901.', 'refraw': ' E. Bartoš, S. Dubnička, E. A. Kuraev, <i>Phys. Rev.</i> D70 (2004) 117901.'}, {'refplaintext': 'R. A. Gilman and F. Gross, J. Phys. G28 (2002) R37.', 'refraw': ' R. A. Gilman and F. Gross, <i>J. Phys.</i> G28 (2002) R37.'}, {'refplaintext': 'V. M. Muzafarov et al, Sov. J. Part. Nucl. 14 (1983) 467.', 'refraw': ' V. M. Muzafarov et al, <i>Sov. J. Part. Nucl.</i> 14 (1983) 467.'}, {'refplaintext': 'R. Dymarz, F. C. Khanna, Phys. Rev. C41 (1990) 2438.', 'refraw': ' R. Dymarz, F. C. Khanna, <i>Phys. Rev.</i> C41 (1990) 2438.'}, {'refplaintext': 'L. L. Frankfurt and M. I. Strikman, Phys. Rep. 76C (1981) 215.', 'refraw': ' L. L. Frankfurt and M. I. Strikman, <i>Phys. Rep.</i> 76C (1981) 215.'}, {'refplaintext': 'T. S. Cheng and L. S. Kisslinger, Phys. Rev. C35 (1987) 1432.', 'refraw': ' T. S. Cheng and L. S. Kisslinger, <i>Phys. Rev.</i> C35 (1987) 1432.'}, {'refplaintext': 'E. Braaten and L. Carlson, Phys. Rev. D39 (1989) 838.', 'refraw': ' E. Braaten and L. Carlson, <i>Phys. Rev.</i> D39 (1989) 838.'}, {'refplaintext': 'C. Adamuscin, S. Dubnicka, A. Z. Dubnickova, to be published', 'refraw': ' C. Adamuscin, S. Dubnicka, A. Z. Dubnickova, to be published'}, {'refplaintext': 'S. J. Brodsky and J. R. Hiller, Phys. Rev. D46 (1992) 2141.', 'refraw': ' S. J. Brodsky and J. R. Hiller, <i>Phys. Rev.</i> D46 (1992) 2141.'}, {'refplaintext': 'S. J. Brodsky, C.-R. Ji and G. P. Lepage, Phys. Rev. Lett. 51 (1983) 83.', 'refraw': ' S. J. Brodsky, C.-R. Ji and G. P. Lepage, <i>Phys. Rev. Lett.</i> 51 (1983) 83.'}, {'refplaintext': 'C. E. Carlson and F. Gross, Phys. Rev. D36 (1987) 2060.', 'refraw': ' C. E. Carlson and F. Gross, <i>Phys. Rev.</i> D36 (1987) 2060.'}, {'refplaintext': 'A. Z. Dubnickova and S. Dubnicka, ICTP Trieste Report No.IC/91/149, 1991.', 'refraw': ' A. Z. Dubnickova and S. Dubnicka, ICTP Trieste Report No.IC/91/149, 1991.'}, {'refplaintext': 'M. Garcon and J. W. Van Orden, Adv. Nucl. Phys. 26 (2001) 293.', 'refraw': ' M. Garcon and J. W. Van Orden, <i>Adv. Nucl. Phys.</i> 26 (2001) 293.'}, {'refplaintext': 'B. Grossetete, B. Drickey and P. Lehman, Phys. Rev. 141 (1966) 1425.', 'refraw': ' B. Grossetete, B. Drickey and P. Lehman, <i>Phys. Rev.</i> 141 (1966) 1425.'}, {'refplaintext': 'J. E. Elias et al, Phys. Rev. 177 (1969) 2075.', 'refraw': ' J. E. Elias et al, <i>Phys. Rev.</i> 177 (1969) 2075.'}, {'refplaintext': 'S. Galster et al. Nucl. Phys. B32 (1971) 221.', 'refraw': ' S. Galster et al. <i>Nucl. Phys.</i> B32 (1971) 221.'}, {'refplaintext': 'R. W. Berard at al., Phys. Lett. B47 (1973) 355.', 'refraw': ' R. W. Berard at al., <i>Phys. Lett.</i> B47 (1973) 355.'}, {'refplaintext': 'G. G. Simon et al., Nucl. Phys. A364 (1981) 295.', 'refraw': ' G. G. Simon et al., <i>Nucl. Phys.</i> A364 (1981) 295.'}, {'refplaintext': 'R. Cramer et al., Z. Phys. C29 (1985) 513.', 'refraw': ' R. Cramer et al., <i>Z. Phys.</i> C29 (1985) 513.'}, {'refplaintext': 'L. C. Alexa et al., Phys. Rev. Lett. 82 (1999) 1374.', 'refraw': ' L. C. Alexa et al., <i>Phys. Rev. Lett.</i> 82 (1999) 1374.'}, {'refplaintext': 'D. Abbott et al., Phys. Rev. Lett. 82 (1999) 1379.', 'refraw': ' D. Abbott et al., <i>Phys. Rev. Lett.</i> 82 (1999) 1379.'}, {'refplaintext': 'C. D. Buckanan and R. Yerian, Phys. Rev. Lett. 15 (1965) 303.', 'refraw': ' C. D. Buckanan and R. Yerian, <i>Phys. Rev. Lett.</i> 15 (1965) 303.'}, {'refplaintext': 'R. E. Rand et al, Phys. Rev. lett. 18 (1967) 469.', 'refraw': ' R. E. Rand et al, <i>Phys. Rev. lett.</i> 18 (1967) 469.'}, {'refplaintext': 'D. Ganichot et al., Nucl. Phys. A178 (1972) 542.', 'refraw': ' D. Ganichot et al., <i>Nucl. Phys.</i> A178 (1972) 542.'}, {'refplaintext': 'G. G. Simon et al, Nucl. Phys. A364 (1981) 285.', 'refraw': ' G. G. Simon et al, <i>Nucl. Phys.</i> A364 (1981) 285.'}, {'refplaintext': 'R. Cramer et al., Z. Phys. C29 (1985) 513.', 'refraw': ' R. Cramer et al., <i>Z. Phys.</i> C29 (1985) 513.'}, {'refplaintext': 'S. Aufret et al, Phys. Rev. Lett. 54 (1985) 649.', 'refraw': ' S. Aufret et al, <i>Phys. Rev. Lett.</i> 54 (1985) 649.'}, {'refplaintext': 'R. G. Arndd et al, Phys. Rev. Lett. 58 (1987) 1723.', 'refraw': ' R. G. Arndd et al, <i>Phys. Rev. Lett.</i> 58 (1987) 1723.'}, {'refplaintext': 'P. E. Bosted et al, Phys. Rev. C42 (1990) 38.', 'refraw': ' P. E. Bosted et al, <i>Phys. Rev.</i> C42 (1990) 38.'}, {'refplaintext': 'M. E. Schulze et al, Phys. rev. Lett. 52 (1984) 597.', 'refraw': ' M. E. Schulze et al, <i>Phys. rev. Lett.</i> 52 (1984) 597.'}, {'refplaintext': 'V. F. Dmitrev et al, Phys. Lett. B157 (1985) 143.', 'refraw': ' V. F. Dmitrev et al, <i>Phys. Lett.</i> B157 (1985) 143.'}, {'refplaintext': 'B. B. Wojtsehkowski et al, JETP Lett. 43 (1986) 733.', 'refraw': ' B. B. Wojtsehkowski et al, <i>JETP Lett.</i> 43 (1986) 733.'}, {'refplaintext': 'R. Gilman et al., Phys. Rev. Lett. 65 (1990) 1723.', 'refraw': ' R. Gilman et al., <i>Phys. Rev. Lett.</i> 65 (1990) 1723.'}, {'refplaintext': 'I. The et al, Phys. ev. Lett. 67 (1991) 173.', 'refraw': ' I. The et al, <i>Phys. ev. Lett.</i> 67 (1991) 173.'}, {'refplaintext': 'M. Garcon et al, Phys. Rev. C49 (1994) 251.', 'refraw': ' M. Garcon et al, <i>Phys. Rev.</i> C49 (1994) 251.'}, {'refplaintext': 'M. Fero-Luzzi et al, Phys. Rev. Lett. 77 (1996) 2630.', 'refraw': ' M. Fero-Luzzi et al, <i>Phys. Rev. Lett.</i> 77 (1996) 2630.'}, {'refplaintext': 'M. Bouwhuis et al., Phys. Rev. Lett. 82 (1999) 3755.', 'refraw': ' M. Bouwhuis et al., <i>Phys. Rev. Lett.</i> 82 (1999) 3755.'}, {'refplaintext': 'D. Abbott et al., Phys. rev. Lett. 84 (2000) 5053.', 'refraw': ' D. Abbott et al., <i>Phys. rev. Lett.</i> 84 (2000) 5053.'}, {'refplaintext': 'D. M. Nikolenko et al., Nucl. Phys. A684 (2001) 525c.', 'refraw': ' D. M. Nikolenko et al., <i>Nucl. Phys.</i> A684 (2001) 525c.'}, {'refplaintext': 'http://root.cern.ch', 'refraw': ' <a target="_blank" href=\'http://root.cern.ch\'>http://root.cern.ch</a>'}, {'refplaintext': 'P. A. M. Guichon and M. Vanderhaeghen, Phys. Rev. Lett. 91 (2003) 142303.', 'refraw': ' P. A. M. Guichon and M. Vanderhaeghen, <i>Phys. Rev. Lett.</i> 91 (2003) 142303.'}, {'refplaintext': 'P. G. Blunden, W. Melnitchouk and J. A. Tjon, Phys. Rev. C72 (2005) 034612.', 'refraw': ' P. G. Blunden, W. Melnitchouk and J. A. Tjon, <i>Phys. Rev.</i> C72 (2005) 034612.'}, {'refplaintext': 'A. V. Afanasiev, S. J. Brodsky, C. E. Carlson, Y. C. Chen and M. Vanderhaeghen, Phys. Rev. D72 (2005) 013008.', 'refraw': ' A. V. Afanasiev, S. J. Brodsky, C. E. Carlson, Y. C. Chen and M. Vanderhaeghen, <i>Phys. Rev.</i> D72 (2005) 013008.'}, {'refplaintext': 'C. Adamuscin, L. Bimbot, S. Dubnicka, A. Z. Dubnickova, Phys. Rev. C78 (2008) 025202-1', 'refraw': ' C. Adamuscin, L. Bimbot, S. Dubnicka, A. Z. Dubnickova, <i>Phys. Rev.</i> C78 (2008) 025202-1'}, {'refplaintext': 'M. Lacombe, B. Loiseau, J. M. Richard, R. Vinh Mau, J. Cote, P. Pires and R. De Tourreil, Phys. Rev. C21 (1980) 861.', 'refraw': ' M. Lacombe, B. Loiseau, J. M. Richard, R. Vinh Mau, J. Cote, P. Pires and R. De Tourreil, <i>Phys. Rev.</i> C21 (1980) 861.'}, {'refplaintext': 'S. Dubnicka, A. Z. Dubnickova, Prog. Part. Nucl. Phys. 61 (2008) 198.', 'refraw': ' S. Dubnicka, A. Z. Dubnickova, <i>Prog. Part. Nucl. Phys.</i> 61 (2008) 198.'}, {'refplaintext': 'R. L. Jaffe, Phys. Lett. B229 (1989) 275.', 'refraw': ' R. L. Jaffe, <i>Phys. Lett.</i> B229 (1989) 275.'}, {'refplaintext': 'B. Mueller et al.[SAMPLE Collab.], Phys. Rev. Lett. 78 (1997) 3824.', 'refraw': ' B. Mueller et al.[SAMPLE Collab.], <i>Phys. Rev. Lett.</i> 78 (1997) 3824.'}, {'refplaintext': 'F. E. Maas et al.[A4 Collab.], Phys. Rev. Lett. 93 (2004) 022002.', 'refraw': ' F. E. Maas et al.[A4 Collab.], <i>Phys. Rev. Lett.</i> 93 (2004) 022002.'}, {'refplaintext': 'D. T. Spayde et al.[SAMPLE Collab.], Phys. Lett. B583 (2004) 79.', 'refraw': ' D. T. Spayde et al.[SAMPLE Collab.], <i>Phys. Lett.</i> B583 (2004) 79.'}, {'refplaintext': 'D. S. Armstrong et al.[G0 Collab.], Phys. Rev. Lett. 95 (2005) 092001.', 'refraw': ' D. S. Armstrong et al.[G0 Collab.], <i>Phys. Rev. Lett.</i> 95 (2005) 092001.'}, {'refplaintext': 'F. E. Maas et al.[A4 Collab.], Phys. Rev. Lett. 94 (2005) 152001.', 'refraw': ' F. E. Maas et al.[A4 Collab.], <i>Phys. Rev. Lett.</i> 94 (2005) 152001.'}, {'refplaintext': 'S. Dubnicka, A. Z. Dubnickova, J. Phys. G28 (2002) 2137.', 'refraw': ' S. Dubnicka, A. Z. Dubnickova, <i>J. Phys.</i> G28 (2002) 2137.'}, {'refplaintext': 'A. I. Akhiezer and M. P. Rekalo, Sov. Phys. Dokl. 13 (1968) 572.', 'refraw': ' A. I. Akhiezer and M. P. Rekalo, <i>Sov. Phys. Dokl.</i> 13 (1968) 572.'}, {'refplaintext': 'A. Z. Dubnickova, S. Dubnicka, M. P. Rekalo, Nuovo Cim. A109 (1996) 241.', 'refraw': ' A. Z. Dubničková, S. Dubnička, M. P. Rekalo, <i>Nuovo Cim.</i> A109 (1996) 241.'}, {'refplaintext': 'A. Z. Dubnickova, S. Dubnicka, M. Erdelyi, Prog. Part. Nucl. Phys. 61 (2008) 162.', 'refraw': ' A. Z. Dubnickova, S. Dubnicka, M. Erdelyi, <i>Prog. Part. Nucl. Phys.</i> 61 (2008) 162.'}, {'refplaintext': 'G. I. Gakh, E. Tomasi-Gustafsson, C. Adamuscin, S. Dubnicka, A. Z. Dubnickova, Phys. Rev. C74 (2006) 025202-1.', 'refraw': ' G. I. Gakh, E. Tomasi-Gustafsson, C. Adamuscin, S. Dubnicka, A. Z. Dubnickova, <i>Phys. Rev.</i> C74 (2006) 025202-1.'}, {'refplaintext': 'C. Adamuscin, S. Dubnicka, A. Z. Dubnickova, Phys. Rev. C80 (2009) 018202-1.', 'refraw': ' C. Adamuscin, S. Dubnicka, A. Z. Dubnickova, <i>Phys. Rev.</i> C80 (2009) 018202-1.'}, {'refplaintext': 'G. W. Bennett et al., Phys. Rev. Lett. 89 (2002) 101804-1.', 'refraw': ' G. W. Bennett et al., <i>Phys. Rev. Lett.</i> 89 (2002) 101804-1.'}, {'refplaintext': 'V. W. Hughes and T. Kinoshita, Rev. Mod. Phys. 71 (2) (1999) S133.', 'refraw': ' V. W. Hughes and T. Kinoshita, <i>Rev. Mod. Phys.</i> 71 (2) (1999) S133.'}, {'refplaintext': 'A. Czarnecki, W. Marciano, Nucl. Phys. B(Proc. Suppl.) 76 (1999) 245.', 'refraw': ' A. Czarnecki, W. Marciano, <i>Nucl. Phys. B(Proc. Suppl.)</i> 76 (1999) 245.'}, {'refplaintext': 'G. Degrassi and G. F. Giudice, Phys. Rev. D58 (1998) 53007.', 'refraw': ' G. Degrassi and G. F. Giudice, <i>Phys. Rev.</i> D58 (1998) 53007.'}, {'refplaintext': 'M. Knecht, S. Peris, M. Perrottet, E. de Rafael, hep-ph/0205102.', 'refraw': ' M. Knecht, S. Peris, M. Perrottet, E. de Rafael, hep-ph/0205102.'}, {'refplaintext': 'T. Kinoshita et al., Phys. Rev. D31 (1985) 2108.', 'refraw': ' T. Kinoshita et al., <i>Phys. Rev.</i> D31 (1985) 2108.'}, {'refplaintext': 'J. A. Casas et al., Phys. Rev. D32 (1985) 736.', 'refraw': ' J. A. Casas et al., <i>Phys. Rev.</i> D32 (1985) 736.'}, {'refplaintext': 'L. Martinovic and S. Dubnicka, Phys. Rev. D 42 (1990) 884.', 'refraw': ' L. Martinovic and S. Dubnicka, Phys. Rev. D 42 (1990) 884.'}, {'refplaintext': 'S. Eidelman, F. Jegerlehner, Z. Phys. C67 (1995) 585.', 'refraw': ' S. Eidelman, F. Jegerlehner, <i>Z. Phys.</i> C67 (1995) 585.'}, {'refplaintext': 'S. Narison, Phys. Lett. 513 B (2001) 53.', 'refraw': ' S. Narison, Phys. Lett. 513 B (2001) 53.'}, {'refplaintext': 'E. Bartos, A. Z. Dubnickova, S. Dubnicka, E. A. Kuraev, E. Zemlyanaya, Nucl. Phys. B632 (2002) 330.', 'refraw': ' E. Bartos, A. Z. Dubnicková, S. Dubnicka, E. A. Kuraev, E. Zemlyanaya, <i>Nucl. Phys.</i> B632 (2002) 330.'}, {'refplaintext': 'M. Hyakawa, T. Kinoshita, hep-ph/0112102.', 'refraw': ' M. Hyakawa, T. Kinoshita, hep-ph/0112102.'}, {'refplaintext': 'J. Bijnens et al., hep-ph/0112255.', 'refraw': ' J. Bijnens et al., hep-ph/0112255.'}, {'refplaintext': 'M. Knecht and A. Nyffeler, hep-ph/0111058.', 'refraw': ' M. Knecht and A. Nyffeler, hep-ph/0111058.'}, {'refplaintext': 'I. Blokland, A. Czarnecki and K. Melnikov, hep-ph/0112117.', 'refraw': ' I. Blokland, A. Czarnecki and K. Melnikov, hep-ph/0112117.'}, {'refplaintext': 'S. Dubnicka, G. Georgios, V. A. Meshcheryakov, Can. J. Phys. 63 (1985) 1357.', 'refraw': ' S. Dubnicka, G. Georgios, V. A. Meshcheryakov, <i>Can. J. Phys.</i> 63 (1985) 1357.'}, {'refplaintext': 'M. Nagy, M. K. Volkov and V. L. Yudichev, Proc. of Int. Conf. "Hadron Structure 2000", Stara Lesna, Slovak Republic, 2.-7.10. 2000, Eds: A.-Z. Dubnickova, S. Dubnicka and P. Strizenec, Comenius Univ., Bratislava (2001) p. 188.', 'refraw': ' M. Nagy, M. K. Volkov and V. L. Yudichev, Proc. of Int. Conf. "Hadron Structure 2000", Stara Lesna, Slovak Republic, 2.-7.10. 2000, Eds: A.-Z. Dubnickova, S. Dubnicka and P. Strizenec, Comenius Univ., Bratislava (2001) p. 188.'}, {'refplaintext': 'E. M. Aitala et al., Phys. Rev. Lett. 86 (2001) 70.', 'refraw': ' E. M. Aitala et al., <i>Phys. Rev. Lett.</i> 86 (2001) 70.'}, {'refplaintext': 'T. Komada, M. Ishida and S. Ishida, Phys. Lett. 508 B (2001) 31.', 'refraw': ' T. Komada, M. Ishida and S. Ishida, <i>Phys. Lett.</i> 508 B (2001) 31.'}, {'refplaintext': 'B. Krause, Phys. Lett. 390 B (1997) 392.', 'refraw': ' B. Krause, <i>Phys. Lett.</i> 390 B (1997) 392.'}, {'refplaintext': 'M. Davier, Nucl. Phys. B (Proc. Suppl.) 169 (2007) 288.', 'refraw': ' M. Davier, <i>Nucl. Phys. B (Proc. Suppl.)</i> 169 (2007) 288.'}, {'refplaintext': 'K. Hagiwara, A. D. Martin, D. Nomura and T. Teubner, Phys. Lett. B649 (2007) 173.', 'refraw': ' K. Hagiwara, A. D. Martin, D. Nomura and T. Teubner, <i>Phys. Lett.</i> B649 (2007) 173.'}, {'refplaintext': 'J. F. de Troconiz and F. J. Yndurain, Phys. Rev. D71 (2005) 073008.', 'refraw': ' J. F. de Troconiz and F. J. Yndurain, <i>Phys. Rev.</i> D71 (2005) 073008.'}, {'refplaintext': 'E. Bartos, S. Dubnicka, A. Z. Dubnickova, A. Liptaj, Nucl. Phys. B. (Proc. Suppl.) to be published', 'refraw': ' E. Bartos, S. Dubnicka, A. Z. Dubnickova, A. Liptaj, Nucl. Phys. B. (Proc. Suppl.) to be published'}, {'refplaintext': 'V. De Alfaro, S. Fubini, G. Furlan and C. Rosetti: Currents in hadron physics, American Elsevier Publ. Company, Inc., New York (1973).', 'refraw': ' V. De Alfaro, S. Fubini, G. Furlan and C. Rosetti: Currents in hadron physics, American Elsevier Publ. Company, Inc., New York (1973).'}, {'refplaintext': 'K. Gottfried, Phys. Rev. Lett. 18 (1967) 1174.', 'refraw': ' K. Gottfried, <i>Phys. Rev. Lett.</i> 18 (1967) 1174.'}, {'refplaintext': 'E. Kuraev, M. Secansky and E. Tomasi-Gustafsson, Phys. Rev. D73 (2006) 125016-1.', 'refraw': ' E. Kuraev, M. Secansky and E. Tomasi-Gustafsson, <i>Phys. Rev.</i> D73 (2006) 125016-1.'}, {'refplaintext': 'S. Dubnicka, A. Z. Dubnickova and E. A. Kuraev, Phys. Rev. D75 (2007) 057901-1.', 'refraw': ' S. Dubnicka, A. Z. Dubnickova and E. A. Kuraev, <i>Phys. Rev.</i> D75 (2007) 057901-1.'}, {'refplaintext': 'S. Dubnicka, A. Z. Dubnickova and E. A. Kuraev, Phys. Rev. D74 (2006) 034023-1.', 'refraw': ' S. Dubnicka, A. Z. Dubnickova and E. A. Kuraev, <i>Phys. Rev.</i> D74 (2006) 034023-1.'}, {'refplaintext': 'E. Bartos, S. Dubnicka, A. Z. Dubnickova and E. A. Kuraev, Phys. Rev. D76 (2007) 057901-1.', 'refraw': ' E. Bartos, S. Dubnicka, A. Z. Dubnickova and E. A. Kuraev, <i>Phys. Rev.</i> D76 (2007) 057901-1.'}, {'refplaintext': 'E. Bartos, S. Dubnicka and E. A. Kuraev, Phys. Rev. D70 (2004) 117901-1.', 'refraw': ' E. Bartos, S. Dubnicka and E. A. Kuraev, <i>Phys. Rev.</i> D70 (2004) 117901-1.'}, {'refplaintext': 'V. N. Baier, V. S. Fadin, V. A. Khose and E. A. Kuraev, Phys. Rep. 78 (1981) 293.', 'refraw': ' V. N. Baier, V. S. Fadin, V. A. Khose and E. A. Kuraev, <i>Phys. Rep.</i> 78 (1981) 293.'}, {'refplaintext': 'N. Cabibbo and L. A. Radicati, Phys. Let. 19 (1966) 697.', 'refraw': ' N. Cabibbo and L. A. Radicati, <i>Phys. Let.</i> 19 (1966) 697.'}, {'refplaintext': 'B. Kubis and U.-G. Meissner, Eur. Phys. J. C18 (2001) 747.', 'refraw': ' B. Kubis and U.-G. Meissner, <i>Eur. Phys. J.</i> C18 (2001) 747.'}, {'refplaintext': "S. R. Kel'ner, Yad. Fiz. 5 (1967) 1092.", 'refraw': ' S. R. Kel\'ner, Yad. <i>Fiz.</i> 5 (1967) 1092.'}]}] +parsed_oupft = [{'bibcode': '2001FOO...999..999X', 'references': [{'authors': 'Abramowitz, M.', 'journal': 'Handbook of Mathematical Functions', 'year': '1964', 'refplaintext': 'Abramowitz M. Stegun I. , 1964 , Handbook of Mathematical Functions . Dover , New York', 'refraw': ' Abramowitz M. Stegun I. , 1964, Handbook of Mathematical Functions. Dover, New York '}, {'authors': 'Andredakis, Y.', 'journal': 'MNRAS', 'volume': '275', 'page': '874', 'year': '1995', 'refstr': 'Andredakis, Y., 1995. MNRAS, 275, 874.', 'refraw': ' Andredakis Y. Peletier R. Balcells M. , 1995, MNRAS, 275, 874 '}, {'authors': 'Hubble, E.', 'journal': 'The Realm of the Nebulae', 'year': '1936', 'refplaintext': 'Hubble E. , 1936 , The Realm of the Nebulae , Yale Univ. Press . New Haven, CT', 'refraw': ' Hubble E. , 1936, The Realm of the Nebulae, Yale Univ. Press. New Haven, CT '}, {'authors': 'Prieto, M.', 'journal': 'AampA, in press', 'year': '2000', 'refplaintext': 'Prieto M. Aguerri J. A. L. Varela A. M. Munoz-Tunon C. , 2000 , A&A, in press', 'refraw': ' Prieto M. Aguerri J. A. L. Varela A. M. Munoz-Tunón C. , 2000, A&A, in press '}, {'authors': 'Lightkurve Collaboration, Lightkurve Collaboration', 'journal': 'Lightkurve: Kepler and TESS time series analysis in Python, Astrophysics Source Code Library', 'year': '2018', 'refplaintext': 'Lightkurve Collaboration et al ., 2018 , Lightkurve: Kepler and TESS time series analysis in Python, Astrophysics Source Code Library . record (ascl:1812.013)', 'refraw': 'Lightkurve Collaborationet al., 2018, Lightkurve: Kepler and TESS time series analysis in Python, Astrophysics Source Code Library. record (ascl:1812.013)'}, {'authors': 'Colberg, J. M.', 'journal': 'MNRAS', 'volume': '387', 'page': '933', 'year': '2008', 'doi': '10.1111/j.1365-2966.2008.13307.x', 'arxiv': 'arXiv:2966.2008', 'refstr': 'Colberg, J. M., 2008. MNRAS, 387, 933. doi:10.1111/j.1365-2966.2008.13307.x arXiv:2966.2008', 'refraw': ' Colberg  J. M.  et al., 2008, MNRAS, 387, 933  10.1111/j.1365-2966.2008.13307.x '}, {'authors': 'Schmidt, S. P.', 'year': '2025', 'arxiv': 'arXiv:2501.18477', 'refstr': 'Schmidt, S. P., 2025. arXiv:2501.18477', 'refraw': 'Schmidt S. P. et al., 2025, preprint (arXiv:2501.18477)'}]}] + parsed_oup = [{'bibcode': '2007MNRAS.376.1251G', 'references': [{'authors': 'Ananthakrishnan, S.', 'journal': 'Proc. 29th Int. Cosm. Ray Conf.', 'volume': '10', 'page': '125', 'year': '2005', 'refstr': 'Ananthakrishnan, S., 2005. Proc. 29th Int. Cosm. Ray Conf., 10, 125.', 'refraw': ' Ananthakrishnan S. , 2005,Proc. 29th Int. Cosm. Ray Conf., 10, 125 '}, {'authors': 'Appleton, P.', 'journal': 'ApJS', 'volume': '154', 'page': '147', 'year': '2004', 'refstr': 'Appleton, P., 2004. ApJS, 154, 147.', 'refraw': ' Appleton P. et al., 2004,ApJS, 154, 147 '}, {'authors': 'Baars, J.', 'journal': 'AampA', 'volume': '61', 'page': '99', 'year': '1977', 'refstr': 'Baars, J., 1977. AampA, 61, 99.', 'refraw': ' Baars J. Genzel R. Pauliny-Toth I. Witzel A. , 1977,A&A, 61, 99 '}, {'authors': 'Bertin, E.', 'journal': 'AampAS', 'volume': '117', 'page': '393', 'year': '1996', 'refstr': 'Bertin, E., 1996. AampAS, 117, 393.', 'refraw': ' Bertin E. Arnouts S. , 1996,A&AS, 117, 393 '}, {'authors': 'Chapman, S.', 'journal': 'AJ', 'volume': '622', 'page': '772', 'year': '2005', 'refstr': 'Chapman, S., 2005. AJ, 622, 772.', 'refraw': ' Chapman S. Blain A. Smail I. Ivison R. , 2005,AJ, 622, 772 '}, {'authors': 'Condon, J.', 'journal': 'ARAampA', 'volume': '30', 'page': '575', 'year': '1992', 'refstr': 'Condon, J., 1992. ARAampA, 30, 575.', 'refraw': ' Condon J. , 1992,ARA&A, 30, 575 '}, {'authors': 'Condon, J.', 'journal': 'AJ', 'volume': '125', 'page': '2411', 'year': '2003', 'refstr': 'Condon, J., 2003. AJ, 125, 2411.', 'refraw': ' Condon J. Cotton W. Yin Q. Shupe D. Storrie-Lombardi L. Helou G. Soifer B. Werner M. , 2003,AJ, 125, 2411 '}, {'authors': 'Fadda, D.', 'journal': 'AJ', 'volume': '128', 'page': '1', 'year': '2004', 'refstr': 'Fadda, D., 2004. AJ, 128, 1.', 'refraw': ' Fadda D. Jannuzi B. Ford A. Storrie-Lombardi L. , 2004,AJ, 128, 1 '}, {'authors': 'Fadda, D.', 'journal': 'AJ', 'volume': '131', 'page': '2859', 'year': '2006', 'refstr': 'Fadda, D., 2006. AJ, 131, 2859.', 'refraw': ' Fadda D. et al., 2006,AJ, 131, 2859 '}, {'authors': 'Fazio, G.', 'journal': 'ApJS', 'volume': '154', 'page': '10', 'year': '2004', 'refstr': 'Fazio, G., 2004. ApJS, 154, 10.', 'refraw': ' Fazio G. et al., 2004,ApJS, 154, 10 '}, {'authors': 'Frayer, D.', 'journal': 'AJ', 'volume': '131', 'page': '250', 'year': '2006', 'refstr': 'Frayer, D., 2006. AJ, 131, 250.', 'refraw': ' Frayer D. et al., 2006,AJ, 131, 250 '}, {'authors': 'Garrett, M.', 'journal': 'AampA', 'volume': '384', 'page': '19', 'year': '2002', 'refstr': 'Garrett, M., 2002. AampA, 384, 19.', 'refraw': ' Garrett M. , 2002,A&A, 384, 19 '}, {'authors': 'Gruppioni, C.', 'journal': 'MNRAS', 'volume': '341', 'page': '1', 'year': '2003', 'refstr': 'Gruppioni, C., 2003. MNRAS, 341, 1.', 'refraw': ' Gruppioni C. Pozzi F. Zamorani G. Ciliegi P. Lari C. Calabrese E. La Franca F. Matute I. , 2003,MNRAS, 341, 1 '}, {'authors': 'Helou, G.', 'journal': 'AJ', 'volume': '298', 'page': '7', 'year': '1985', 'refstr': 'Helou, G., 1985. AJ, 298, 7.', 'refraw': ' Helou G. Soifer B. Rowan-Robinson M. , 1985,AJ, 298, 7 '}, {'authors': 'Hopkins, A.', 'journal': 'AJ', 'volume': '123', 'page': '1086', 'year': '2002', 'refstr': 'Hopkins, A., 2002. AJ, 123, 1086.', 'refraw': ' Hopkins A. Miller C. Connolly A. Genovese C. Nichol R. Wasserman L. , 2002,AJ, 123, 1086 '}, {'authors': 'Moitinho, A.', 'journal': 'ASPC', 'volume': '285', 'page': '256', 'year': '2002', 'refstr': 'Moitinho, A., 2002. ASPC, 285, 256.', 'refraw': ' Moitinho A. , 2002, in GrebelE. K.BrandnerW., eds, ASP Conf. Ser. Vol. 285, Modes of Star Formation and the Origin of Field Populations. Astron. Soc. Pac., San Francisco, p. 256 '}, {'authors': 'Kantharia, N.', 'journal': 'GMRT Technical Note R00185', 'year': '2001', 'refplaintext': 'Kantharia N. Rao A. , 2001 , GMRT Technical Note R00185', 'refraw': ' Kantharia N. Rao A. , 2001,GMRT Technical Note R00185 '}, {'authors': 'Lacy, M.', 'journal': 'ApJS', 'volume': '161', 'page': '41', 'year': '2005', 'refstr': 'Lacy, M., 2005. ApJS, 161, 41.', 'refraw': ' Lacy M. et al., 2005,ApJS, 161, 41 '}, {'authors': 'Luo, S.', 'journal': 'Chinese J. Astron. Astrophys.', 'volume': '5', 'page': '448', 'year': '2005', 'refstr': 'Luo, S., 2005. Chinese J. Astron. Astrophys., 5, 448.', 'refraw': ' Luo S. Wu X. , 2005,Chinese J. Astron. Astrophys., 5, 448 '}, {'authors': 'Morganti, R.', 'journal': 'AampA', 'volume': '424', 'page': '371', 'year': '2004', 'refstr': 'Morganti, R., 2004. AampA, 424, 371.', 'refraw': ' Morganti R. Garrett M. Chapman S. Baan W. Helou G. Soifer T. , 2004,A&A, 424, 371 '}, {'authors': 'Murphy, E.', 'journal': 'ApJ', 'volume': '638', 'page': '157', 'year': '2006', 'refstr': 'Murphy, E., 2006. ApJ, 638, 157.', 'refraw': ' Murphy E. et al., 2006,ApJ, 638, 157 '}, {'authors': 'Papovich, C.', 'journal': 'AJ', 'volume': '132', 'page': '231', 'year': '2006', 'refstr': 'Papovich, C., 2006. AJ, 132, 231.', 'refraw': ' Papovich C. et al., 2006,AJ, 132, 231 '}, {'authors': 'Rieke, G.', 'journal': 'ApJS', 'volume': '154', 'page': '25', 'year': '2004', 'refstr': 'Rieke, G., 2004. ApJS, 154, 25.', 'refraw': ' Rieke G. et al., 2004,ApJS, 154, 25 '}, {'authors': 'Shim, H.', 'journal': 'ApJS', 'volume': '164', 'page': '435', 'year': '2006', 'refstr': 'Shim, H., 2006. ApJS, 164, 435.', 'refraw': ' Shim H. Im M. Pak S. Choi P. Fadda D. Helou G. Storrie-Lombardi L. , 2006,ApJS, 164, 435 '}, {'authors': 'Stoughton, C.', 'journal': 'AJ', 'volume': '123', 'page': '485', 'year': '2002', 'refstr': 'Stoughton, C., 2002. AJ, 123, 485.', 'refraw': ' Stoughton C. et al., 2002,AJ, 123, 485 '}, {'authors': 'Werner, M.', 'journal': 'ApJS', 'volume': '154', 'page': '1', 'year': '2004', 'refstr': 'Werner, M., 2004. ApJS, 154, 1.', 'refraw': ' Werner M. et al., 2004,ApJS, 154, 1 '}, {'authors': 'Bell, K. J.', 'journal': '21st European Workshop on White Dwarfs', 'year': '2018', 'refplaintext': 'Bell K. J. , Hermes J. J. , Kuszlewicz J. S. , 2018 , in Castanheira B. , ed., 21st European Workshop on White Dwarfs , ASP Conf. Ser , San Francisco', 'refraw': ' Bell K. J. , HermesJ. J., KuszlewiczJ. S., 2018, in CastanheiraB., ed., 21st European Workshop on White Dwarfs, ASP Conf. Ser, San Francisco '}, {'authors': 'Somov, B. V.', 'journal': 'ASSL', 'year': '2006', 'refplaintext': '24 Somov B. V. , ed. , Vol. 340 of Astrophysics and Space Science Library ( Springer , New York , 2006 ).', 'refraw': 'SomovB. V., ed. , Vol. 340 of Astrophysics and Space Science Library (Springer, New York, 2006).'}, {'authors': 'Olbers, H. W. M.', 'journal': 'Astronomische Jahrbuch fur das Jahr 1826', 'year': '1826', 'refplaintext': 'Olbers H. W. M. , 1826 in Bode J. E. ed., Astronomische Jahrbuch fur das Jahr 1826 . Spathen , Berlin (English translation: Edinburgh New Phil. J., 1, 141)', 'refraw': ' Olbers H. W. M. , 1826 in BodeJ. E. ed., Astronomische Jahrbuch für das Jahr 1826. Späthen, Berlin (English translation: Edinburgh New Phil. J., 1, 141) '}, {'authors': 'Surace, J. A.', 'journal': 'Thesis', 'year': '1998', 'refplaintext': 'Surace J. A. , 1998 , PhD thesis, Univ. Hawaii', 'refraw': ' Surace J. A. , 1998, PhD thesis, Univ. Hawaii '}, {'authors': 'Zieleniewski, S.', 'journal': 'Proceedings of the Third AO4ELT Conference', 'page': '43', 'year': '2013', 'doi': '10.12839/AO4ELT3.13269', 'refstr': 'Zieleniewski, S., 2013. Proceedings of the Third AO4ELT Conference, 43. doi:10.12839/AO4ELT3.13269', 'refraw': ' ZieleniewskiS. ThatteN. 2013 EspositoS. FiniL. Proceedings of the Third AO4ELT Conference Firenze, Italy 43 doi:10.12839/AO4ELT3.13269 '}, {'authors': 'Regimbau, T.', 'year': '2012', 'arxiv': 'arXiv:1201.3563', 'refstr': 'Regimbau, T., 2012. arXiv:1201.3563', 'refraw': ' Regimbau T. et al. , 2012, preprint (arXiv:1201.3563) '}, {'authors': 'Pavlis, N.K.', 'year': '1991', 'refplaintext': 'Pavlis N.K. , 1991 . Estimation of geopotential differences over intercontinental locations using satellite and terrestrial measurements, Tech. Rep. 409, Dept. of Geodetic Science and Surveying , The Ohio State Univ , Colombus, Ohio .', 'refraw': ' Pavlis N.K. , 1991. Estimation of geopotential differences over intercontinental locations using satellite and terrestrial measurements, Tech. Rep. 409, Dept. of Geodetic Science and Surveying, The Ohio State Univ, Colombus, Ohio. '}, {'authors': 'Wevers, T.', 'journal': 'MNRAS', 'volume': '487', 'page': '4136', 'year': '2019', 'doi': '10.1093/mnras/stx1703', 'refstr': 'Wevers, T., 2019. MNRAS, 487, 4136. doi:10.1093/mnras/stx1703', 'refraw': ' Wevers T. et al.., 2019, MNRAS, 487,:413610.1093/mnras/stx1703 '}, {'authors': 'Miyamoto, Y.', 'journal': 'Prog. Theor. Exp. Phys.', 'volume': '2015', 'page': '081', 'year': '2015', 'doi': '10.1093/ptep/ptv103', 'arxiv': 'arXiv:1505.07663', 'refstr': 'Miyamoto, Y., 2015. Prog. Theor. Exp. Phys., 2015, 081. doi:10.1093/ptep/ptv103 arXiv:1505.07663', 'refraw': 'Miyamoto Y., Hara H., Masuda T., Sasao N., Tanaka M., Uetake S., Yoshimi A., Yoshimura K., and Yoshimura M., Prog. Theor. Exp. Phys. 2015, 081C01 (2015) [arXiv:1505.07663 [physics.atom-ph]] [Search inSPIRE]. (doi:10.1093/ptep/ptv103)'}]}] parsed_pairs_txt_0 = [{'bibcode': '1994BoLMe..71..393V', 'references': [{'refstr': '2004AnGla..38...97O', 'bibcode': '2004AnGla..38...97O'}, {'refstr': '2002AAAR...34..477O', 'bibcode': '2002AAAR...34..477O'}, {'refstr': '2002TellA..54..440O', 'bibcode': '2002TellA..54..440O'}, {'refstr': '2002TellA..54..542H', 'bibcode': '2002TellA..54..542H'}, {'refstr': '2001JGR...10633951S', 'bibcode': '2001JGR...10633951S'}, {'refstr': '2001BoLMe.100..421C', 'bibcode': '2001BoLMe.100..421C'}, {'refstr': '2001TellA..53..215B', 'bibcode': '2001TellA..53..215B'}, {'refstr': '2000JGlac..46..571O', 'bibcode': '2000JGlac..46..571O'}, {'refstr': '1999BoLMe..93...75H', 'bibcode': '1999BoLMe..93...75H'}, {'refstr': '1999BoLMe..92...37V', 'bibcode': '1999BoLMe..92...37V'}, {'refstr': '1998JGlac..44..231O', 'bibcode': '1998JGlac..44..231O'}, {'refstr': '1998JGlac..44....9G', 'bibcode': '1998JGlac..44....9G'}, {'refstr': '1998JAtS...55.1755G', 'bibcode': '1998JAtS...55.1755G'}, {'refstr': '1997BoLMe..85..475M', 'bibcode': '1997BoLMe..85..475M'}, {'refstr': '1997JGR...10213813G', 'bibcode': '1997JGR...10213813G'}, {'refstr': '1997BoLMe..83..183V', 'bibcode': '1997BoLMe..83..183V'}, {'refstr': '1997JApMe..36..763V', 'bibcode': '1997JApMe..36..763V'}, {'refstr': '1996QJRMS.122.1365V', 'bibcode': '1996QJRMS.122.1365V'}]}, {'bibcode': '1994GPC.....9...53M', 'references': [{'refstr': '1999BoLMe..92...65D', 'bibcode': '1999BoLMe..92...65D'}, {'refstr': '1999AnGeo..17..533E', 'bibcode': '1999AnGeo..17..533E'}, {'refstr': '1997BoLMe..85..475M', 'bibcode': '1997BoLMe..85..475M'}, {'refstr': '1997BoLMe..85...81M', 'bibcode': '1997BoLMe..85...81M'}, {'refstr': '1997JGlac..43...66M', 'bibcode': '1997JGlac..43...66M'}, {'refstr': '1997JGR...10213813G', 'bibcode': '1997JGR...10213813G'}, {'refstr': '1996QJRMS.122.1365V', 'bibcode': '1996QJRMS.122.1365V'}, {'refstr': '1995JGlac..41..562B', 'bibcode': '1995JGlac..41..562B'}, {'refstr': '1995JCli....8.2843G', 'bibcode': '1995JCli....8.2843G'}, {'refstr': '1994QJRMS.120..491M', 'bibcode': '1994QJRMS.120..491M'}, {'refstr': '1994GPC.....9...69H', 'bibcode': '1994GPC.....9...69H'}]}, {'bibcode': '1994GPC.....9...69H', 'references': [{'refstr': '2002RSEnv..82...48G', 'bibcode': '2002RSEnv..82...48G'}, {'refstr': '2002AnGla..34..141C', 'bibcode': '2002AnGla..34..141C'}, {'refstr': '2001JGR...10633965B', 'bibcode': '2001JGR...10633965B'}, {'refstr': '2001GeoRL..28.4491C', 'bibcode': '2001GeoRL..28.4491C'}, {'refstr': '2000GeoAA..82..489G', 'bibcode': '2000GeoAA..82..489G'}, {'refstr': '2000JGR...10515567G', 'bibcode': '2000JGR...10515567G'}, {'refstr': '1997BoLMe..85...81M', 'bibcode': '1997BoLMe..85...81M'}, {'refstr': '1997BoLMe..85..111F', 'bibcode': '1997BoLMe..85..111F'}, {'refstr': '1996JGlac..42..305Z', 'bibcode': '1996JGlac..42..305Z'}, {'refstr': '1996JGlac..42..364K', 'bibcode': '1996JGlac..42..364K'}, {'refstr': '1995JGlac..41..490K', 'bibcode': '1995JGlac..41..490K'}, {'refstr': '1994BoLMe..71..393V', 'bibcode': '1994BoLMe..71..393V'}, {'refstr': '1994GPC.....9...53M', 'bibcode': '1994GPC.....9...53M'}]}] diff --git a/adsrefpipe/tests/unittests/stubdata/test.oupft.xml b/adsrefpipe/tests/unittests/stubdata/test.oupft.xml new file mode 100644 index 0000000..72ce737 --- /dev/null +++ b/adsrefpipe/tests/unittests/stubdata/test.oupft.xml @@ -0,0 +1,8 @@ +2001FOO...999..999X + Abramowitz M. Stegun I. , 1964, Handbook of Mathematical Functions. Dover, New York + Andredakis Y. Peletier R. Balcells M. , 1995, MNRAS, 275, 874 + Hubble E. , 1936, The Realm of the Nebulae, Yale Univ. Press. New Haven, CT + Prieto M. Aguerri J. A. L. Varela A. M. Munoz-Tunón C. , 2000, A&A, in press +Lightkurve Collaborationet al., 2018, Lightkurve: Kepler and TESS time series analysis in Python, Astrophysics Source Code Library. record (ascl:1812.013) + Colberg  J. M.  et al., 2008, MNRAS, 387, 933  10.1111/j.1365-2966.2008.13307.x +Schmidt S. P. et al., 2025, preprint (arXiv:2501.18477) diff --git a/adsrefpipe/tests/unittests/test_ref_parsers_xml.py b/adsrefpipe/tests/unittests/test_ref_parsers_xml.py index acc25b9..ab4c4b2 100644 --- a/adsrefpipe/tests/unittests/test_ref_parsers_xml.py +++ b/adsrefpipe/tests/unittests/test_ref_parsers_xml.py @@ -33,6 +33,7 @@ from adsrefpipe.refparsers.NLM3xml import NLMtoREFs from adsrefpipe.refparsers.NatureXML import NATUREtoREFs from adsrefpipe.refparsers.ONCPxml import ONCPtoREFs +from adsrefpipe.refparsers.OUPFTxml import OUPFTtoREFs from adsrefpipe.refparsers.OUPxml import OUPtoREFs, OUPreference from adsrefpipe.refparsers.PASAxml import PASAtoREFs from adsrefpipe.refparsers.RSCxml import RSCtoREFs, RSCreference @@ -1244,6 +1245,32 @@ def test_get_references(self): self.assertEqual(results, expected_results) +class TestOUPFTtoREFs(unittest.TestCase): + + def test_init(self): + """ test init """ + reference_source = os.path.abspath(os.path.dirname(__file__) + '/stubdata/test.oupft.xml') + references = OUPFTtoREFs(filename=reference_source, buffer=None).process_and_dispatch() + self.assertEqual(references, parsed_references.parsed_oupft) + + def test_process_and_dispatch_exception(self): + """ test exception in process_and_dispatch """ + + # data for raw references + raw_references = [{ + 'bibcode': '0000TEST..........Z', + 'block_references': ['invalid reference'], + 'item_nums': [] + }] + + with patch('adsrefpipe.refparsers.OUPFTxml.OUPFTreference', side_effect=ReferenceError("ReferenceError")): + with patch('adsrefpipe.refparsers.OUPFTxml.logger') as mock_logger: + torefs = OUPFTtoREFs(filename='testfile.xml', buffer={}) + torefs.raw_references = raw_references + result = torefs.process_and_dispatch() + + mock_logger.error.assert_called_with("OUPFTxml: error parsing reference: ReferenceError") + self.assertEqual(result, [{'bibcode': '0000TEST..........Z', 'references': []}]) class TestOUPreference(unittest.TestCase):