internal void SetReferences(Schema schema, BizTalkArtifacts artifacts, Microsoft.BizTalk.ExplorerOM.Schema omSchema) { schema.Application = artifacts.Applications[omSchema.Application.Id()]; schema.ParentAssembly = artifacts.Assemblies[omSchema.BtsAssembly.Id()]; if (_schema == null || _schema.Name == null || !_schema.Name.Equals(schema.Name, StringComparison.Ordinal)) { var source = new XmlDocument(); source.LoadXml(omSchema.GetXmlContent()); var mgr = new XmlNamespaceManager(source.NameTable); mgr.AddNamespace("b", "http://schemas.microsoft.com/BizTalk/2003"); mgr.AddNamespace("x", "http://www.w3.org/2001/XMLSchema"); SetSchemaType(schema, source, mgr); SetSchemaImports(schema, source, mgr, artifacts); if (omSchema.Properties != null) { foreach (DictionaryEntry property in omSchema.Properties) { schema.Properties.Add(new KeyValuePair<string, string>(property.Key.ToString(), property.Value.ToString())); } } _schema = schema; } else { schema.Properties = _schema.Properties; schema.SchemaType = _schema.SchemaType; schema.ReferencedSchemas = _schema.ReferencedSchemas; } }