Ejemplo n.º 1
0
		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));
		}
Ejemplo n.º 2
0
		internal void MakeNotCreatable()
		{
			firstStep = null;
			depth = 0;
		}
Ejemplo n.º 3
0
		private int Descend()
		{
			step = step.NextStep;
			return ++depth;
		}
Ejemplo n.º 4
0
		private void ResetDepth()
		{
			step = xpath.FirstStep;
			depth = 0;
		}
Ejemplo n.º 5
0
 private void ResetDepth()
 {
     step  = xpath.FirstStep;
     depth = 0;
 }
Ejemplo n.º 6
0
 internal void MakeNotCreatable()
 {
     firstStep = null;
     depth     = 0;
 }
Ejemplo n.º 7
0
 private int Descend()
 {
     step = step.NextStep;
     return(++depth);
 }