Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
        }