code: def affiliations(self):
          
          out = []
          order = 'eid name variant documents city country parent'
          aff = namedtuple('Affiliation', order)
          for item in self._json:
              name = item.get('affiliation-name')
              variants = [d.get('$', "") for d in item.get('name-variant', [])
                          if d.get('$', "") != name]
              new = aff(eid=item['eid'], variant=";".join(variants),
                        documents=item.get('document-count', '0'), name=name,
                        city=item.get('city'), country=item.get('country'),
                        parent=item.get('parent-affiliation-id'))
              out.append(new)
          return out or None
docs: A list of namedtuples storing affiliation information,
          where each namedtuple corresponds to one affiliation.
          The information in each namedtuple is (eid name variant documents city
          country parent).
  
          All entries are strings or None.  variant combines variants of names
          with a semicolon.