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:
+ AbadiM.et al., 2016, preprint (arXiv:1603.04467)
+ Astropy Collaborationet 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:
+
+ AudenaertK., 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'?ext-link.*?>'), ''),
+ (re.compile(r'?uri.*?>'), ''),
+ (re.compile(r''), 'et al.'),
+ ]
+ # to clean up references by replacing certain patterns
+ reference_cleanup = [
+ (re.compile(r'?(ext-link|x).*?>'), ''),
+ (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'?x.*?>'), ''),
+ ]
+
+ # 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': 'AbramowitzM.StegunI., 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': 'AndredakisY.PeletierR.BalcellsM., 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': 'HubbleE., 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': 'PrietoM.AguerriJ. A. L.VarelaA. M.Munoz-TunónC., 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': 'ColbergJ. M.et al., 2008, MNRAS, 387, 93310.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': 'SchmidtS. 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': 'AnanthakrishnanS., 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': 'AppletonP.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': 'BaarsJ.GenzelR.Pauliny-TothI.WitzelA., 1977,A&A, 61, 99'}, {'authors': 'Bertin, E.', 'journal': 'AampAS', 'volume': '117', 'page': '393', 'year': '1996', 'refstr': 'Bertin, E., 1996. AampAS, 117, 393.', 'refraw': 'BertinE.ArnoutsS., 1996,A&AS, 117, 393'}, {'authors': 'Chapman, S.', 'journal': 'AJ', 'volume': '622', 'page': '772', 'year': '2005', 'refstr': 'Chapman, S., 2005. AJ, 622, 772.', 'refraw': 'ChapmanS.BlainA.SmailI.IvisonR., 2005,AJ, 622, 772'}, {'authors': 'Condon, J.', 'journal': 'ARAampA', 'volume': '30', 'page': '575', 'year': '1992', 'refstr': 'Condon, J., 1992. ARAampA, 30, 575.', 'refraw': 'CondonJ., 1992,ARA&A, 30, 575'}, {'authors': 'Condon, J.', 'journal': 'AJ', 'volume': '125', 'page': '2411', 'year': '2003', 'refstr': 'Condon, J., 2003. AJ, 125, 2411.', 'refraw': 'CondonJ.CottonW.YinQ.ShupeD.Storrie-LombardiL.HelouG.SoiferB.WernerM., 2003,AJ, 125, 2411'}, {'authors': 'Fadda, D.', 'journal': 'AJ', 'volume': '128', 'page': '1', 'year': '2004', 'refstr': 'Fadda, D., 2004. AJ, 128, 1.', 'refraw': 'FaddaD.JannuziB.FordA.Storrie-LombardiL., 2004,AJ, 128, 1'}, {'authors': 'Fadda, D.', 'journal': 'AJ', 'volume': '131', 'page': '2859', 'year': '2006', 'refstr': 'Fadda, D., 2006. AJ, 131, 2859.', 'refraw': 'FaddaD.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': 'FazioG.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': 'FrayerD.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': 'GarrettM., 2002,A&A, 384, 19'}, {'authors': 'Gruppioni, C.', 'journal': 'MNRAS', 'volume': '341', 'page': '1', 'year': '2003', 'refstr': 'Gruppioni, C., 2003. MNRAS, 341, 1.', 'refraw': 'GruppioniC.PozziF.ZamoraniG.CiliegiP.LariC.CalabreseE.La FrancaF.MatuteI., 2003,MNRAS, 341, 1'}, {'authors': 'Helou, G.', 'journal': 'AJ', 'volume': '298', 'page': '7', 'year': '1985', 'refstr': 'Helou, G., 1985. AJ, 298, 7.', 'refraw': 'HelouG.SoiferB.Rowan-RobinsonM., 1985,AJ, 298, 7'}, {'authors': 'Hopkins, A.', 'journal': 'AJ', 'volume': '123', 'page': '1086', 'year': '2002', 'refstr': 'Hopkins, A., 2002. AJ, 123, 1086.', 'refraw': 'HopkinsA.MillerC.ConnollyA.GenoveseC.NicholR.WassermanL., 2002,AJ, 123, 1086'}, {'authors': 'Moitinho, A.', 'journal': 'ASPC', 'volume': '285', 'page': '256', 'year': '2002', 'refstr': 'Moitinho, A., 2002. ASPC, 285, 256.', 'refraw': 'MoitinhoA., 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': 'KanthariaN.RaoA., 2001,GMRT Technical Note R00185'}, {'authors': 'Lacy, M.', 'journal': 'ApJS', 'volume': '161', 'page': '41', 'year': '2005', 'refstr': 'Lacy, M., 2005. ApJS, 161, 41.', 'refraw': 'LacyM.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': 'LuoS.WuX., 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': 'MorgantiR.GarrettM.ChapmanS.BaanW.HelouG.SoiferT., 2004,A&A, 424, 371'}, {'authors': 'Murphy, E.', 'journal': 'ApJ', 'volume': '638', 'page': '157', 'year': '2006', 'refstr': 'Murphy, E., 2006. ApJ, 638, 157.', 'refraw': 'MurphyE.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': 'PapovichC.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': 'RiekeG.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': 'ShimH.ImM.PakS.ChoiP.FaddaD.HelouG.Storrie-LombardiL., 2006,ApJS, 164, 435'}, {'authors': 'Stoughton, C.', 'journal': 'AJ', 'volume': '123', 'page': '485', 'year': '2002', 'refstr': 'Stoughton, C., 2002. AJ, 123, 485.', 'refraw': 'StoughtonC.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': 'WernerM.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': 'BellK. 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': 'OlbersH. 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': 'SuraceJ. 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.2013EspositoS.FiniL.Proceedings of the Third AO4ELT ConferenceFirenze, Italy43doi:10.12839/AO4ELT3.13269'}, {'authors': 'Regimbau, T.', 'year': '2012', 'arxiv': 'arXiv:1201.3563', 'refstr': 'Regimbau, T., 2012. arXiv:1201.3563', 'refraw': 'RegimbauT.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': 'PavlisN.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': 'WeversT.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': 'MiyamotoY., HaraH., MasudaT., SasaoN., TanakaM., UetakeS., YoshimiA., YoshimuraK., and YoshimuraM., 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
+AbramowitzM.StegunI., 1964, Handbook of Mathematical Functions. Dover, New York
+AndredakisY.PeletierR.BalcellsM., 1995, MNRAS, 275, 874
+HubbleE., 1936, The Realm of the Nebulae, Yale Univ. Press. New Haven, CT
+PrietoM.AguerriJ. A. L.VarelaA. M.Munoz-TunónC., 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)
+ColbergJ. M.et al., 2008, MNRAS, 387, 93310.1111/j.1365-2966.2008.13307.x
+SchmidtS. 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):