Пример #1
0
        public XMLValue(XMLParamData data)
        {
            if (data.type == null || data.type == "")
            {
                Type = XType.UNDEFINED;
            }
            else
            {
                Type = (XType)Enum.Parse(this.Type.GetType(), data.type.ToUpper());
            }

            if (data.behaviors == null || data.behaviors == "")
            {
                Behavior = XBehavior.DEFAULT;
            }
            else
            {
                string[] behaviordata = data.behaviors.Split(BehaviorDelimiter);
                for (int a = 0; a < behaviordata.Length; a++)
                {
                    string[] refdata = behaviordata[a].Split(RefDelimiter);
                    if (refdata.Length == 2)
                    {
                        RefBlockType = refdata[1].ToLower();
                        Behavior    |= (XBehavior)Enum.Parse(this.Behavior.GetType(), refdata[0].ToUpper());
                    }
                    else
                    {
                        Behavior |= (XBehavior)Enum.Parse(this.Behavior.GetType(), behaviordata[a].ToUpper());
                    }
                }
            }

            masks = new List <XMLValueMask>();
            foreach (string s in data.masksPattern)
            {
                masks.Add(new XMLValueMaskPattern(s));
            }
            foreach (string s in data.masksRegex)
            {
                masks.Add(new XMLValueMaskRegex(s));
            }
            foreach (string s in data.masksNumeric)
            {
                masks.Add(new XMLValueMaskNumeric(s));
            }

            if (masks.Count == 0)
            {
                noMasks = true;
            }
            else
            {
                noMasks = false;
            }
        }
Пример #2
0
        private XMLParameter ParseParameterXml(XmlNode n)
        {
            string paramName     = n.Attributes["name"].Value;
            string paramBehavior = "";

            if (n.Attributes["behavior"] != null)
            {
                paramBehavior = n.Attributes["behavior"].Value;
            }

            List <XMLParamData> data = new List <XMLParamData>();

            foreach (XmlNode n2 in n.ChildNodes)
            {
                XMLParamData d = new XMLParamData();
                d.type = n2.Name;
                if (n2.Attributes["behavior"] != null)
                {
                    d.behaviors = n2.Attributes["behavior"].Value;
                }

                d.masksRegex   = new List <string>();
                d.masksPattern = new List <string>();
                d.masksNumeric = new List <string>();

                foreach (XmlNode n3 in n2.ChildNodes)
                {
                    if (n3.Name == "pattern")
                    {
                        d.masksPattern.Add(n3.InnerText.Trim());
                    }
                    else if (n3.Name == "regex")
                    {
                        d.masksRegex.Add(n3.InnerText.Trim());
                    }
                    else if (n3.Name == "numeric")
                    {
                        d.masksNumeric.Add(n3.InnerText.Trim());
                    }
                }

                data.Add(d);
            }

            return(new XMLParameter(paramName, paramBehavior, data));
        }