private void Go(RuleLanguage lang) { string langCode = Helper3.GetLangCode(lang); APIBuilder Builder = new APIBuilder(root, version); Builder.Go(true, lang, langCode); Builder.Go(false, lang, langCode); PackAll(langCode); ListIdentifiers(lang, langCode); }
public string ToXML(bool withExamples, RuleLanguage lang, string langCode) { bool compact = true; //Why not Serialisation?? Rule[] Rules = Manager.Rules(); XmlDocument doc = new XmlDocument(); XmlElement RulesNode = doc.CreateElement("Rules"); RulesNode.SetAttribute("lang", Helper3.GetLangCode(lang)); foreach (Rule R in Rules) { XmlElement RuleNode = doc.CreateElement("Rule"); RuleNode.SetAttribute("identifier", R.Identifier); { XmlNode nameNode = doc.CreateElement("name"); nameNode.InnerText = GetName(R.Name, lang); RuleNode.AppendChild(nameNode); } { XmlNode linesNode = doc.CreateElement("lines"); linesNode.InnerText = R.Lines.ToString(); RuleNode.AppendChild(linesNode); } { XmlElement thresholdNode = doc.CreateElement("threshold"); thresholdNode.InnerText = R.Threshold.ToString(); if (R.DeferThresold) { thresholdNode.SetAttribute("deferThresold", R.DeferThresold.ToString()); } RuleNode.AppendChild(thresholdNode); } { XmlNode padyamTypeNode = doc.CreateElement("padyamType"); padyamTypeNode.InnerText = EnumText(R.PadyamType); RuleNode.AppendChild(padyamTypeNode); } { XmlNode node = doc.CreateElement("padyamSubType"); node.InnerText = EnumText(R.PadyamSubType); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("ruleType"); node.InnerText = EnumText(R.RuleType); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("rules"); node.InnerXml = GetRulesXml(R.RuleType, R.Rules); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("prasa"); node.InnerText = R.Prasa ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("prasaYati"); node.InnerText = R.PrasaYati ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("onlyPrasaYati"); node.InnerText = R.OnlyPrasaYati ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("onlyPrasaYati"); node.InnerText = R.OnlyPrasaYati ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("anthyaPrasa"); node.InnerText = R.AnthyaPrasa ? "1" : "0"; RuleNode.AppendChild(node); } if (lang == RuleLanguage.Kannada) { //NOTHING at this point of time } else { { XmlNode node = doc.CreateElement("yatiMode"); node.InnerText = EnumText(R.YatiMode); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("yatiRecycle"); node.InnerText = R.YatiRecycle ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("reverseYati"); node.InnerText = R.ReverseYati ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("yati"); //node.InnerText = R.Yati; RuleNode.AppendChild(node); } } { XmlNode node = doc.CreateElement("frequency"); node.InnerText = EnumText(R.Frequency); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("language"); node.InnerText = EnumText(lang); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("infiniteLength"); node.InnerText = R.InfiniteLength ? "1" : "0"; RuleNode.AppendChild(node); } if (withExamples) { XmlNode node = doc.CreateElement("rules"); node.InnerXml = GetExamplesXml(R.Examples, lang); RuleNode.AppendChild(node); } if (lang != RuleLanguage.Kannada) { { XmlNode node = doc.CreateElement("references"); node.InnerXml = GetArrayXml(R.References); RuleNode.AppendChild(node); } if (compact) { XmlNode node = doc.CreateElement("ruleText"); XmlCDataSection ruleTextSection = doc.CreateCDataSection(R.RuleText); node.AppendChild(ruleTextSection); RuleNode.AppendChild(node); } } doc.AppendChild(RuleNode); } return(doc.ToString()); }