public void Write(Taxonomy taxonomy, XmlWriter writer) { writer.WriteElement("taxonomy", NamespaceUri, delegate { var residents = taxonomy.GetResidents(); foreach (var resident in residents) { this.WriteOnceResolved(resident, writer); } }); }
public Taxonomy Copy(Taxonomy taxonomy) { var result = new Taxonomy(taxonomy.Id); var residents = taxonomy.GetResidents(); foreach (var resident in residents) { var copied = this.CopyOnceResolved(resident); result.RegisterResident(copied); } return(result); }
public IEnumerable <INode> TraverseTaxonomy(Taxonomy taxonomy) { var residents = taxonomy.GetResidents(); foreach (var resident in residents) { var nodes = this.TraverseOnceResolved(resident); foreach (var node in nodes) { yield return(node); } } }