private bool MatchCondition(XElement e, IScope ds, string suffix) { var attrname = "xi-" + suffix; le = le ?? new LogicalExpressionEvaluator(); if (e.Attr(attrname).ToBool()) { var ifname = e.Attr(attrname); var ismatch = le.Eval(ifname, ds); if (!ismatch) { if (e.Parent != null) { e.Remove(); } else { e.SetAttributeValue("xi-delete", true); } return(false); } e.SetAttributeValue(attrname, null); } return(true); }
private bool MatchCondition(XElement e, IScope ds, string suffix) { var attrname = "xi-" + suffix; le = le ?? new LogicalExpressionEvaluator(); if (e.Attr(attrname).ToBool()) { var ifname = e.Attr(attrname); var ismatch = le.Eval(ifname, ds); if (!ismatch) { if (e.Parent != null) { e.Remove(); } else { e.SetAttributeValue("xi-delete", true); } return false; } e.SetAttributeValue(attrname, null); } return true; }