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; } }
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)); }