diff Lang/TranslationXmlLoader.cs @ 115:de0ed24eb961

* Reimplement 7ca4acc659bbdd/IBBoard without the excess noise * Clean up code (and some automatic changes) * Use XML resources in TranslationXmlLoader
author IBBoard <dev@ibboard.co.uk>
date Tue, 26 Jun 2012 20:06:50 +0100
parents e32b5ccda410
children
line wrap: on
line diff
--- a/Lang/TranslationXmlLoader.cs	Sun Jun 24 15:48:25 2012 +0100
+++ b/Lang/TranslationXmlLoader.cs	Tue Jun 26 20:06:50 2012 +0100
@@ -19,33 +19,33 @@
 	{
 		private XmlReaderSettings settings;
 		private TranslationXmlExtractor extractor;
-		
+
 		public TranslationXmlLoader()
 		{
 			extractor = new TranslationXmlExtractor();
 		}
-		
+
 		public AbstractTranslationSet LoadTranslations(string path)
 		{
 			FileInfo file = new FileInfo(path);
-			
+
 			if (!file.Exists)
 			{
 				throw new TranslationLoadException("Translation file " + file.FullName + " did not exist");
 			}				
-				
+
 			XmlDocument doc = LoadTranslationDocument(file);
 			XmlTranslationSet translations = new XmlTranslationSet(extractor.GetLanguageOfDocument(doc));
 			translations.SetParentLanguage(extractor.GetParentLanguageOfDocument(doc));
 			translations.SetTranslationNodes(extractor.GetTranslationNodes(doc));
 			return translations;
 		}
-		
+
 		private XmlDocument LoadTranslationDocument(FileInfo file)
 		{
 			XmlDocument doc = new XmlDocument();			
 			XmlReader valReader = XmlReader.Create(file.OpenRead(), GetReaderSettings());
-			
+
 			try
 			{
 				doc.Load(valReader);
@@ -66,10 +66,10 @@
 			{
 				valReader.Close();
 			}
-			
+
 			return doc;
 		}
-		
+
 		/// <summary>
 		/// Lazy-getter for XML reader settings. May throw a <see cref="TranslationLoadException"/> if there is a problem with the translation schema.
 		/// </summary>
@@ -87,7 +87,7 @@
 					settings.ValidationFlags = XmlSchemaValidationFlags.ReportValidationWarnings;
 					settings.ValidationEventHandler += new ValidationEventHandler(ValidationEventMethod);
 					XmlSchemaSet cache = new XmlSchemaSet();
-					cache.Add("http://ibboard.co.uk/translation", new XmlTextReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("IBBoard.schemas.translation.xsd")));
+					XmlTools.AddSchemaToSetFromResource(cache, "http://ibboard.co.uk/translation", Assembly.GetExecutingAssembly(), "IBBoard.schemas.translation.xsd");
 					settings.Schemas.Add(cache);
 				}
 				catch (DirectoryNotFoundException ex)
@@ -103,10 +103,10 @@
 					throw new TranslationLoadException("Problem reading data for schema: " + ex.Message, ex);
 				}
 			}
-			
+
 			return settings;
 		}
-		
+
 		private void ValidationEventMethod(object sender, ValidationEventArgs e)
 		{
 			throw new TranslationLoadException("Problem validating schema for translation: " + e.Exception.Message, e.Exception);