private static void AddMetadata(MetadataElement me, IPersistenceProvider engine, string basePath) { string content = ResolveContent(me.Value); switch (me.Type) { case MetadataType.assembly: engine.RegisterMetaData(MetaDataFactory.FromAssembly(ResolveFilename(me.Value, basePath))); break; case MetadataType.model: if (!string.IsNullOrEmpty(content)) { using (System.Xml.XmlReader reader = new System.Xml.XmlTextReader(new System.IO.StringReader(content))) engine.RegisterMetaData(MetaDataFactory.FromModelFile(reader)); } else { engine.RegisterMetaData(MetaDataFactory.FromModelFile(ResolveFilename(me.Value, basePath))); } break; case MetadataType.metadata: if (!string.IsNullOrEmpty(content)) { using (System.Xml.XmlReader reader = new System.Xml.XmlTextReader(new System.IO.StringReader(content))) engine.RegisterMetaData(MetaDataFactory.FromMetaDataFile(reader)); } else { engine.RegisterMetaData(MetaDataFactory.FromMetaDataFile(ResolveFilename(me.Value, basePath))); } break; } }