public XPathMutableCursor(IXmlNode parent, CompiledXPath path, IXmlIncludedTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags) : base(path, namespaces, parent) { if (null == parent) throw Error.ArgumentNull("parent"); if (null == path) throw Error.ArgumentNull("path"); if (null == knownTypes) throw Error.ArgumentNull("knownTypes"); if (!path.IsCreatable) throw Error.XPathNotCreatable(path); this.step = path.FirstStep; this.knownTypes = knownTypes; this.flags = flags; var source = parent.RequireRealizable<XPathNavigator>(); if (source.IsReal) iterator = new XPathBufferedNodeIterator( source.Value.Select(path.FirstStep.Path)); }
internal void MakeNotCreatable() { firstStep = null; depth = 0; }
private int Descend() { step = step.NextStep; return ++depth; }
private void ResetDepth() { step = xpath.FirstStep; depth = 0; }
private int Descend() { step = step.NextStep; return(++depth); }