private void MergeDiscoveredTaxonomy(string fn, Taxonomy depTax, out int numErrors ) { numErrors = 0; if (this.dependantTaxonomyFilenames.Contains(fn)) return; dependantTaxonomyFilenames.Add(fn); dependantTaxonomies.Add(depTax); this.infos.Add(new TaxonomyItem(depTax.GetTargetNamespace(), depTax.schemaFile, depTax.GetNSPrefix(), depTax.IsAucentExtension, depTax.DefinesCustomTypes)); ArrayList tmp; //merge the presentation, calculation, definition linkbases... if (!this.innerTaxonomy) { presentationInfo = MergePresentations(presentationInfo, depTax.presentationInfo, out tmp); depTax.presentationInfo = null; if (tmp.Count > 0) { numErrors += tmp.Count; errorList.AddRange(tmp); } calculationInfo = MergePresentations(calculationInfo, depTax.calculationInfo, out tmp); if (tmp.Count > 0) { numErrors += tmp.Count; errorList.AddRange(tmp); } if (this.netDefinisionInfo == null) { this.netDefinisionInfo = depTax.netDefinisionInfo; } else { netDefinisionInfo.MergeDimensionLinks(depTax.netDefinisionInfo, out tmp); if (tmp.Count > 0) { numErrors += tmp.Count; errorList.AddRange(tmp); } } } }