public static Catalog Load(string directory_path)
{
if (!Directory.Exists (directory_path))
return null;
string index_file = System.IO.Path.Combine (directory_path, "index.xml");
if (!File.Exists (index_file))
return null;
XmlDocument doc = new XmlDocument ();
using (XmlTextReader rdr = new XmlTextReader (index_file))
doc.Load (rdr);
Catalog result = new Catalog ();
result.path = directory_path;
result.index_doc = doc;
return result;
}