/* * /// <summary> * /// Traditional singleton implementation private variable. * /// </summary> * private static GeneratorHost _instance; * * /// <summary> * /// Traditional Singleton implementation. * /// </summary> * public static GeneratorHost Instance * { * get * { * if (_instance == null) * _instance = new GeneratorHost(); * return _instance; * } * } */ internal void InitSchema() { DefaultNamespaceManager = new XmlNamespaceManager(new NameTable()); DefaultNamespaceManager.AddNamespace("xgf", Namespace); //Validate customization if appropriate. if (GeneratorOptions.ValidateCustomizations == true) { Validator valid = new Validator(); using (FileStream fs = new FileStream(IO.AppendLocalPath("CustomizationSchema.xsd"), FileMode.Open)) CustomizationSchema = XmlSchema.Read(fs, new ValidationEventHandler(valid.OnValidation)); if (valid.HasErrors) { throw new InvalidOperationException("Customization schema file isn't valid." + Environment.NewLine + valid.Errors); } DefaultNamespaceManager = new XmlNamespaceManager(new NameTable()); XmlQualifiedName[] names = CustomizationSchema.Namespaces.ToArray(); foreach (XmlQualifiedName ns in names) { if (ns.Name != "xgf") { DefaultNamespaceManager.AddNamespace(ns.Name, ns.Namespace); } else if (ns.Namespace != GeneratorHost.Namespace) { throw new InvalidOperationException("xgf namespace prefix is reserved for XGoF namespace."); } } } }