static Author ConsumeAuthor(XElement authorXEl) { Author a = new Author(); a.Person = Person.FromXCN(authorXEl.SlotValue(XDMetadataStandard.Slots.AuthorPerson)); foreach (Institution i in (authorXEl.SlotValues(XDMetadataStandard.Slots.AuthorInstitutions).Select(i => Institution.FromXON(i)))) { a.Institutions.Add(i); } foreach (string s in authorXEl.SlotValues(XDMetadataStandard.Slots.AuthorRoles)) { a.Roles.Add(s); } foreach (string s in authorXEl.SlotValues(XDMetadataStandard.Slots.AuthorSpecialities)) { a.Specialities.Add(s); } return(a); }