/// <summary>
        /// Load Node from XmlNode
        /// </summary>
        /// <param name="node"></param>
        /// <returns></returns>
        public static SimpleRule loadFromXmlNode(XmlNode node)
        {
            SimpleRule root = new SimpleRule();

            // TODO : Add extention reading

            if (node.Attributes["id"] == null)
            {
                throw new PmmlException("Attribute 'id' is required in 'SimpleRule'.");
            }
            root.fid = node.Attributes["id"].Value;

            /*if (node.Attributes["operator"] == null)
             *      throw new PmmlException("Attribute 'operator' is required in 'SimplePredicate'.");
             * root.foperator = node.Attributes["operator"].Value;
             *
             * if (!("isMissing".Equals(root.foperator) || "isNotMissing".Equals(root.foperator)))
             * {
             *      if (node.Attributes["value"] == null)
             *              throw new PmmlException(string.Format("Attribute 'value' is required in 'SimplePredicate' if 'operator' is '{0}'.", root.foperator));
             *      root.fvalue = node.Attributes["value"].Value;
             * }*/

            root.fscore = node.Attributes["score"].Value;

            foreach (XmlNode item in node.ChildNodes)
            {
                if ("extension".Equals(item.Name.ToLowerInvariant()))
                {
                    // TODO : implement extension
                    //root.Nodes.Add(Node.loadFromXmlNode(item));
                }
                else if ("simplepredicate".Equals(item.Name.ToLowerInvariant()))
                {
                    root.Predicate = SimplePredicate.loadFromXmlNode(item);
                }
                else if ("compoundpredicate".Equals(item.Name.ToLowerInvariant()))
                {
                    root.Predicate = CompoundPredicate.loadFromXmlNode(item);
                }
                else if ("scoredistribution".Equals(item.Name.ToLowerInvariant()))
                {
                    root.ScoreDistributions.Add(ScoreDistribution.loadFromXmlNode(item));
                }
                else
                {
                    throw new NotImplementedException();
                }
            }

            return(root);
        }
Exemple #2
0
        /// <summary>
        /// Load Node from XmlNode
        /// </summary>
        /// <param name="node"></param>
        /// <returns></returns>
        public static RuleSet loadFromXmlNode(XmlNode node)
        {
            RuleSet root = new RuleSet(new TruePredicate());

            if (node.Attributes["id"] != null)
            {
                root.id = node.Attributes["id"].Value;
            }

            if (node.Attributes["defaultScore"] != null)
            {
                root.fdefaultscore = node.Attributes["defaultScore"].Value;
            }

            if (node.Attributes["recordCount"] != null)
            {
                root.recordCount = Convert.ToDecimal(node.Attributes["recordCount"].Value, CultureInfo.InvariantCulture);
            }

            root.ruleSelectionMethods = new List <RuleSelectionMethod>();
            root.scoreDistributions   = new List <ScoreDistribution>();
            foreach (XmlNode item in node.ChildNodes)
            {
                if ("extension".Equals(item.Name.ToLowerInvariant()))
                {
                    // TODO : implement extension
                    //root.Nodes.Add(Node.loadFromXmlNode(item));
                }
                else if ("ruleselectionmethod".Equals(item.Name.ToLowerInvariant()))
                {
                    root.RuleSelectionMethods.Add(RuleSelectionMethod.loadFromXmlNode(item));
                }
                else if ("scoredistribution".Equals(item.Name.ToLowerInvariant()))
                {
                    root.ScoreDistributions.Add(ScoreDistribution.loadFromXmlNode(item));
                }
                else if ("simplerule".Equals(item.Name.ToLowerInvariant()))
                {
                    root.Rules.Add(SimpleRule.loadFromXmlNode(item));
                }
                else
                {
                    throw new NotImplementedException();
                }
            }

            return(root);
        }
        /// <summary>
        /// Load Node from XmlNode
        /// </summary>
        /// <param name="node"></param>
        /// <returns></returns>
        public static ScoreDistribution loadFromXmlNode(XmlNode node)
        {
            ScoreDistribution root = new ScoreDistribution();

            root.fvalue = node.Attributes["value"].Value;

            root.frecordCount = node.Attributes["recordCount"].Value;

            if (node.Attributes["probability"] != null)
            {
                root.fprobability = node.Attributes["probability"].Value;
            }

            if (node.Attributes["confidence"] != null)
            {
                root.fconfidence = node.Attributes["confidence"].Value;
            }

            return(root);
        }
Exemple #4
0
        /// <summary>
        /// Load Node from XmlNode
        /// </summary>
        /// <param name="node"></param>
        /// <returns></returns>
        public static Node loadFromXmlNode(XmlNode node)
        {
            Node root = new Node(new TruePredicate());

            if (node.Attributes["id"] != null)
            {
                root.id = node.Attributes["id"].Value;
            }

            if (node.Attributes["score"] != null)
            {
                root.score = node.Attributes["score"].Value;
            }

            if (node.Attributes["recordCount"] != null)
            {
                root.recordCount = Convert.ToDecimal(node.Attributes["recordCount"].Value, CultureInfo.InvariantCulture);
            }

            root.scoreDistributions = new List <ScoreDistribution>();
            foreach (XmlNode item in node.ChildNodes)
            {
                if ("extension".Equals(item.Name.ToLowerInvariant()))
                {
                    // TODO : implement extension
                    //root.Nodes.Add(Node.loadFromXmlNode(item));
                }
                else if ("node".Equals(item.Name.ToLowerInvariant()))
                {
                    root.Nodes.Add(Node.loadFromXmlNode(item));
                }
                else if ("simplepredicate".Equals(item.Name.ToLowerInvariant()))
                {
                    root.Predicate = SimplePredicate.loadFromXmlNode(item);
                }
                else if ("true".Equals(item.Name.ToLowerInvariant()))
                {
                    root.Predicate = new TruePredicate();
                }
                else if ("false".Equals(item.Name.ToLowerInvariant()))
                {
                    root.Predicate = new FalsePredicate();
                }
                else if ("compoundpredicate".Equals(item.Name.ToLowerInvariant()))
                {
                    root.Predicate = CompoundPredicate.loadFromXmlNode(item);
                }
                else if ("simplesetpredicate".Equals(item.Name.ToLowerInvariant()))
                {
                    root.Predicate = SimpleSetPredicate.loadFromXmlNode(item);
                }
                else if ("scoredistribution".Equals(item.Name.ToLowerInvariant()))
                {
                    root.ScoreDistributions.Add(ScoreDistribution.loadFromXmlNode(item));
                }
                else
                {
                    throw new NotImplementedException();
                }
            }

            return(root);
        }
Exemple #5
0
        /// <summary>
        /// Load Node from XmlNode
        /// </summary>
        /// <param name="node"></param>
        /// <returns></returns>
        public static ScoreDistribution loadFromXmlNode(XmlNode node)
        {
            ScoreDistribution root = new ScoreDistribution();

            root.fvalue = node.Attributes["value"].Value;

            root.frecordCount = node.Attributes["recordCount"].Value;

            if (node.Attributes["probability"] != null)
                root.fprobability = node.Attributes["probability"].Value;

            if (node.Attributes["confidence"] != null)
                root.fconfidence = node.Attributes["confidence"].Value;

            return root;
        }