private bool LoadXML(SpeechGrammar grammar, string xml) { // Check Language var language = ConfigManager.GetInstance().Find("bot.language", "fr-FR"); if (!Regex.IsMatch(xml, "xml:lang=\"" + language + "\"", RegexOptions.IgnoreCase)) { Log("Ignoring : " + grammar.Name + " (" + language + ")"); return(false); } // Clean XML var bot = ConfigManager.GetInstance().Find("bot.name", "SARAH").ToUpper(); // Replace SaRaH by bot name xml = Regex.Replace(xml, "([^/])SARAH", "$1" + bot, RegexOptions.IgnoreCase); // Add optional SARAH var item = "<item>\\s*" + bot + "\\s*</item>"; if (Regex.IsMatch(xml, item, RegexOptions.IgnoreCase)) { xml = Regex.Replace(xml, item, "<item repeat=\"0-1\">" + bot + "</item>", RegexOptions.IgnoreCase); grammar.HasName = true; } // Set XML grammar.SetXML(xml); return(true); }
private bool LoadXML(SpeechGrammar grammar, string xml) { // Check Language var language = ConfigManager.GetInstance().Find("bot.language", "fr-FR"); if (!Regex.IsMatch(xml, "xml:lang=\"" + language + "\"", RegexOptions.IgnoreCase)) { Log("Ignoring : " + grammar.Name + " (" + language + ")"); return false; } // Clean XML var bot = ConfigManager.GetInstance().Find("bot.name", "SARAH").ToUpper(); // Replace SaRaH by bot name xml = Regex.Replace(xml, "([^/])SARAH", "$1" + bot, RegexOptions.IgnoreCase); // Add optional SARAH var item = "<item>\\s*" + bot + "\\s*</item>"; if (Regex.IsMatch(xml, item, RegexOptions.IgnoreCase)) { xml = Regex.Replace(xml, item, "<item repeat=\"0-1\">" + bot + "</item>", RegexOptions.IgnoreCase); grammar.HasName = true; } // Set XML grammar.SetXML(xml); return true; }