private void LoadControlDefinitions(XmlNode definitionsNode, List <ControlDefinition> controlDefinitionList) { using (this.StackFrame(definitionsNode)) { int controlDefinitionIndex = 0; foreach (XmlNode n in definitionsNode.ChildNodes) { if (MatchNodeName(n, XmlTags.ControlNode)) { ControlDefinition def = LoadControlDefinition(n, controlDefinitionIndex++); if (def != null) { controlDefinitionList.Add(def); } } else { ProcessUnknownNode(n); } } } }
private ControlDefinition LoadControlDefinition(System.Xml.XmlNode controlDefinitionNode, int index) { using (base.StackFrame(controlDefinitionNode, index)) { bool flag = false; bool flag2 = false; ControlDefinition definition = new ControlDefinition(); foreach (System.Xml.XmlNode node in controlDefinitionNode.ChildNodes) { if (base.MatchNodeName(node, "Name")) { if (!flag) { flag = true; definition.name = base.GetMandatoryInnerText(node); if (definition.name == null) { base.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.NullControlName, base.ComputeCurrentXPath(), base.FilePath)); return null; } } else { base.ProcessDuplicateNode(node); } } else if (base.MatchNodeName(node, "CustomControl")) { if (flag2) { base.ProcessDuplicateNode(node); return null; } flag2 = true; definition.controlBody = this.LoadComplexControl(node); if (definition.controlBody == null) { return null; } } else { base.ProcessUnknownNode(node); } } if (definition.name == null) { base.ReportMissingNode("Name"); return null; } if (definition.controlBody == null) { base.ReportMissingNode("CustomControl"); return null; } return definition; } }
private ControlDefinition LoadControlDefinition(XmlNode controlDefinitionNode, int index) { using (this.StackFrame(controlDefinitionNode, index)) { bool nameNodeFound = false; // cardinality 1 bool controlNodeFound = false; // cardinality 1 ControlDefinition def = new ControlDefinition(); foreach (XmlNode n in controlDefinitionNode.ChildNodes) { if (MatchNodeName(n, XmlTags.NameNode)) { if (nameNodeFound) { this.ProcessDuplicateNode(n); continue; } nameNodeFound = true; def.name = GetMandatoryInnerText(n); if (def.name == null) { //Error at XPath {0} in file {1}: Control cannot have a null Name. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.NullControlName, ComputeCurrentXPath(), FilePath)); return(null); //fatal error } } else if (MatchNodeName(n, XmlTags.ComplexControlNode)) { // NOTE: for the time being we allow only complex control definitions to be loaded if (controlNodeFound) { this.ProcessDuplicateNode(n); return(null); //fatal } controlNodeFound = true; def.controlBody = LoadComplexControl(n); if (def.controlBody == null) { return(null); //fatal error } } else { this.ProcessUnknownNode(n); } } if (def.name == null) { this.ReportMissingNode(XmlTags.NameNode); return(null); //fatal } if (def.controlBody == null) { this.ReportMissingNode(XmlTags.ComplexControlNode); return(null); //fatal } return(def); } }
private ControlDefinition LoadControlDefinition(XmlNode controlDefinitionNode, int index) { using (this.StackFrame(controlDefinitionNode, index)) { bool nameNodeFound = false; // cardinality 1 bool controlNodeFound = false; // cardinality 1 ControlDefinition def = new ControlDefinition(); foreach (XmlNode n in controlDefinitionNode.ChildNodes) { if (MatchNodeName(n, XmlTags.NameNode)) { if (nameNodeFound) { this.ProcessDuplicateNode(n); continue; } nameNodeFound = true; def.name = GetMandatoryInnerText(n); if (def.name == null) { //Error at XPath {0} in file {1}: Control cannot have a null Name. this.ReportError(StringUtil.Format(FormatAndOutXmlLoadingStrings.NullControlName, ComputeCurrentXPath(), FilePath)); return null; //fatal error } } else if (MatchNodeName(n, XmlTags.ComplexControlNode)) { // NOTE: for the time being we allow only complex control definitions to be loaded if (controlNodeFound) { this.ProcessDuplicateNode(n); return null; //fatal } controlNodeFound = true; def.controlBody = LoadComplexControl(n); if (def.controlBody == null) { return null; //fatal error } } else { this.ProcessUnknownNode(n); } } if (def.name == null) { this.ReportMissingNode(XmlTags.NameNode); return null; //fatal } if (def.controlBody == null) { this.ReportMissingNode(XmlTags.ComplexControlNode); return null; //fatal } return def; } }