using System; using System.Collections.Generic; namespace ZeroLevel.DocumentObjectModel { public interface IMetadataReader { void ReadId(Guid Id); void ReadSummary(string summary); void ReadHeader(string header); void EnterIdentifier(Identifier identifier); void ReadVersion(int version); void ReadTimestamp(long timestamp); void ReadDateLabel(string datelabel); void LeaveIdentifier(Identifier identifier); void EnterTagsBlock(TagMetadata tagBlock); void EnterKeywords(IEnumerable keywords); void ReadKeyword(string keyword, int order); void LeaveKeywords(IEnumerable keywords); void EnterPlaces(IEnumerable places); void ReadPlace(Tag place, int order); void LeavePlaces(IEnumerable places); void EnterCompanies(IEnumerable companies); void ReadCompany(Tag company, int order); void LeaveCompanies(IEnumerable companies); void EnterPersons(IEnumerable persons); void ReadPerson(Tag person, int order); void LeavePersons(IEnumerable persons); void LeaveTagsBlock(TagMetadata tagBlock); void EnterDescriptioveBlock(DescriptiveMetadata metadata); void ReadAuthors(string byline); void ReadCopiright(string copyright); void ReadCreated(DateTime created); void ReadLanguage(string language); void ReadPriority(Priority priority); void ReadSource(Agency source); void ReadPublisher(Agency publisher); void ReadOriginal(Tag original); void EnterHeaders(IEnumerable
headers); void ReadHeader(Header header, int order); void LeaveHeaders(IEnumerable
headers); void LeaveDescriptioveBlock(DescriptiveMetadata metadata); void EnterAsides(IEnumerable asides); void ReadAside(AttachContent aside, int order); void LeaveAsides(IEnumerable asides); void EnterAssotiations(IEnumerable assotiations); void ReadAssotiation(Assotiation assotiation, int order); void LeaveAssotiations(IEnumerable assotiations); void EnterCategories(IEnumerable categories); void ReadCategory(Category category, int order); void LeaveCategories(IEnumerable categories); T Complete(); } }