code: def get_info(self):
          'Retrieve the data from CrossRef.'
          escaped_doi = urllib2.quote(self.doi, '')
          html = get_resource("www.crossref.org", '/guestquery?queryType=doi&restype=unixref&doi=%s&doi_search=Search' % escaped_doi)
  
          xml_matches = []
          for m in re.finditer('(<doi_records>.*?</doi_records>)', html, re.DOTALL):
              xml_matches.append(m.group(0))
  
          if len(xml_matches) == 0:
              raise DOIRetrievalException('No matches found for the DOI "%s".' % self.doi)
          elif len(xml_matches) == 1:
              return xml_matches[0]
          else:
              raise DOIRetrievalException('Multiple (%d) matches found for the DOI "%s".' % (len(xml_matches), self.doi)f get_info(self):
          'Retrieve the data from CrossRef.'
          escaped_doi = urllib2.quote(self.doi, '')
          html = get_resource("www.crossref.org", '/guestquery?queryType=doi&restype=unixref&doi=%s&doi_search=Search' % escaped_doi)
  
          xml_matches = []
          for m in re.finditer('(<doi_records>.*?</doi_records>)', html, re.DOTALL):
              xml_matches.append(m.group(0))
  
          if len(xml_matches) == 0:
              raise DOIRetrievalException('No matches found for the DOI "%s".' % self.doi)
          elif len(xml_matches) == 1:
              return xml_matches[0]
          else:
              raise DOIRetrievalException('Multiple (%d) matches found for the DOI "%s".' % (len(xml_matches), self.doi))
docs: Retrieve the data from CrossRef.