public ParserSchemaFile LoadParser(string name) { if (name == null) { throw new ArgumentNullException("name"); } if (this._Paths.ContainsKey(name) == false) { throw new ArgumentException("no such parser", "name"); } if (this._LoadedParsers.ContainsKey(name) == true) { return(this._LoadedParsers[name]); } var parser = ParserSchemaFile.LoadFile(this._Paths[name]); this._LoadedParsers.Add(name, parser); ResolveParser(parser.Table); return(parser); }
public ParserLoader(string path) { this._Paths = new Dictionary <string, string>(); this._LoadedParsers = new Dictionary <string, ParserSchemaFile>(); foreach (var inputPath in Directory.GetFiles(path, "*.schema.xml", SearchOption.AllDirectories)) { var name = ParserSchemaFile.GetNameFromFile(inputPath); if (name == "ReferenceEArrayTemplate") { continue; } this._Paths.Add(name, inputPath); } }