code: def process(self, article):
          
          if self.article is not None and not self.collection:
              log.warning('Could not process additional article. Package only \
  handles one article unless collection mode is set.')
              return False
  
          if article.publisher is None:
              log.error('''Package cannot be generated for an Article \
  without a publisher!''')
              return
          self.article = article
          self.article_doi = self.article.doi.split('/')[1]
          self.all_dois.append(self.article.doi)
  
          #Analyze the article to add entries to the spine
          dash_doi = self.article_doi.replace('.', '-')
  
          #Entry for the main content document
          main_idref = 'main-{0}-xhtml'.format(dash_doi)
          self.spine_list.append(spine_item(main_idref, True))
  
          #Entry for the biblio content document
          biblio_idref = 'biblio-{0}-xhtml'.format(dash_doi)
          if self.article.root.xpath('./back/ref-list/ref'):
                  self.spine_list.append(spine_item(biblio_idref, True))
  
          #Entry for the tables content document
          tables_idref = 'tables-{0}-xhtml'.format(dash_doi)
          if self.article.publisher.has_out_of_flow_tables():
              self.spine_list.append(spine_item(tables_idref, False))
  
          self.acquire_metadata()
docs: Ingests an article and processes it for metadata and elements to provide
          proper references in the EPUB spine.
  
          This method may only be called once unless the Package was instantiated
          in collection mode using ``Package(collection=True)``. It places entries
          in an internal spine list for the Main Content Document, the
          Bibliographic Content Document (if there are ref elements in Back), and
          the Tables Content Document (if there are table elements). It then
          employs the publisher specific methods for extracting article metadata
          using the article's publisher attribute (an instance of a Publisher
          class).
  
          Parameters
          ----------
          article : openaccess_epub.article.Article instance
              An article to be included in the EPUB, to be processed for metadata
              and appropriate content document references.