protected override XPathItem NextItem() { while (true) { if (iter == null) { if (!baseIter.MoveNext()) { return(null); } sequentialPosition = 0; iter = XPath2NodeIterator.Create(node.Execute(new NodeProvider(baseIter.Current), dataPool)); } if (iter.MoveNext()) { sequentialPosition++; return(iter.Current); } iter = null; } }
public object Evaluate(IContextProvider provider, IDictionary <XmlQualifiedName, object> vars) { object res = exprTree.Execute(provider, BindExpr(vars)); if (res is XPathItem) { XPathItem item = (XPathItem)res; if (!item.IsNode) { res = item.TypedValue; } } resultType = CoreFuncs.GetXPath2ResultType(res); ValueProxy proxy = res as ValueProxy; if (proxy != null) { return(proxy.Value); } return(res); }
private void propertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { AbstractNode node = propertyGrid.SelectedObject as AbstractNode; node?.Execute(); }