// // Constructor // internal NavigatorInput(XPathNavigator navigator, string baseUri, InputScope rootScope) { if (navigator == null) { throw new ArgumentNullException(nameof(navigator)); } if (baseUri == null) { throw new ArgumentNullException(nameof(baseUri)); } Debug.Assert(navigator.NameTable != null); _Next = null; _Href = baseUri; _Atoms = new KeywordsTable(navigator.NameTable); _Navigator = navigator; _Manager = new InputScopeManager(_Navigator, rootScope); _PositionInfo = PositionInfo.GetPositionInfo(_Navigator); /*BeginReading:*/ AssertInput(); if (NodeType == XPathNodeType.Root) { _Navigator.MoveToFirstChild(); } }
internal void PushInputDocument(NavigatorInput newInput) { Debug.Assert(newInput != null); string inputUri = newInput.Href; AddDocumentURI(inputUri); newInput.Next = _input; _input = newInput; _atoms = _input.Atoms; _scopeManager = _input.InputScopeManager; }
internal void PopInputDocument() { Debug.Assert(_input != null); Debug.Assert(_input.Atoms == _atoms); NavigatorInput lastInput = _input; _input = lastInput.Next; lastInput.Next = null; if (_input != null) { _atoms = _input.Atoms; _scopeManager = _input.InputScopeManager; } else { _atoms = null; _scopeManager = null; } RemoveDocumentURI(lastInput.Href); lastInput.Close(); }
internal void PopInputDocument() { Debug.Assert(this.input != null); Debug.Assert(this.input.Atoms == this.atoms); NavigatorInput lastInput = this.input; this.input = lastInput.Next; lastInput.Next = null; if (this.input != null) { this.atoms = this.input.Atoms; this.scopeManager = this.input.InputScopeManager; } else { this.atoms = null; this.scopeManager = null; } RemoveDocumentURI(lastInput.Href); lastInput.Close(); }
internal void PopInputDocument() { Debug.Assert(_input != null); Debug.Assert(_input.Atoms == _atoms); NavigatorInput lastInput = _input; _input = lastInput.Next; lastInput.Next = null; if (_input != null) { _atoms = _input.Atoms; _scopeManager = _input.InputScopeManager; } else { _atoms = null; _scopeManager = null; } RemoveDocumentURI(lastInput.Href); lastInput.Close(); }
internal void PushInputDocument(NavigatorInput newInput) { Debug.Assert(newInput != null); string inputUri = newInput.Href; AddDocumentURI(inputUri); newInput.Next = _input; _input = newInput; _atoms = _input.Atoms; _scopeManager = _input.InputScopeManager; }
// // Constructor // internal NavigatorInput(XPathNavigator navigator, string baseUri, InputScope rootScope) { if (navigator == null) { throw new ArgumentNullException(nameof(navigator)); } if (baseUri == null) { throw new ArgumentNullException(nameof(baseUri)); } Debug.Assert(navigator.NameTable != null); _Next = null; _Href = baseUri; _Atoms = new KeywordsTable(navigator.NameTable); _Navigator = navigator; _Manager = new InputScopeManager(_Navigator, rootScope); _PositionInfo = PositionInfo.GetPositionInfo(_Navigator); /*BeginReading:*/ AssertInput(); if (NodeType == XPathNodeType.Root) { _Navigator.MoveToFirstChild(); } }
internal void PopInputDocument() { Debug.Assert(this.input != null); Debug.Assert(this.input.Atoms == this.atoms); NavigatorInput lastInput = this.input; this.input = lastInput.Next; lastInput.Next = null; if (this.input != null) { this.atoms = this.input.Atoms; this.scopeManager = this.input.InputScopeManager; } else { this.atoms = null; this.scopeManager = null; } RemoveDocumentURI(lastInput.Href); lastInput.Close(); }