public static string TryGetPrecondionThat(string tagName, XmlNode extractedXML, out bool isRequired, out string indexVal, out bool indexPosition1) { isRequired = extractedXML != null && extractedXML.LocalName == tagName; indexVal = StaticAIMLUtils.GetAttribValue(extractedXML, "index", "1,1"); indexPosition1 = indexVal == "1" || indexVal == "1,1" || indexVal == "1,*"; if (!isRequired) { return(null); } string patternTxt = StaticAIMLUtils.VisibleRendering(extractedXML.ChildNodes, StaticAIMLUtils.PatternSideRendering); if (patternTxt == "") { patternTxt = StaticAIMLUtils.GetAttribValue(extractedXML, "value," + tagName + ",match,name", null); } isRequired = false; foreach (XmlNode childs in extractedXML.ChildNodes) { if (childs.NodeType != XmlNodeType.Comment) { isRequired = true; break; } } if (!isRequired) { if (patternTxt == null) { //writeToLog("extractThat1: '" + patternTxt + "' from " + extractedXML.OuterXml); } else { isRequired = true; } } return(patternTxt); }