Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / NavigatorInput.cs / 1 / NavigatorInput.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Xsl.XsltOld {
using Res = System.Xml.Utils.Res;
using System;
using System.Diagnostics;
using System.Xml;
using System.Xml.XPath;
internal class NavigatorInput {
private XPathNavigator _Navigator;
private PositionInfo _PositionInfo;
private InputScopeManager _Manager;
private NavigatorInput _Next;
private string _Href;
private Keywords _Atoms;
internal NavigatorInput Next {
get {
return _Next;
}
set {
_Next = value;
}
}
internal string Href {
get {
return _Href;
}
}
internal Keywords Atoms {
get {
return _Atoms;
}
}
internal XPathNavigator Navigator {
get {
AssertInput();
return _Navigator;
}
}
internal InputScopeManager InputScopeManager {
get {
AssertInput();
return _Manager;
}
}
internal bool Advance() {
AssertInput();
return _Navigator.MoveToNext();
}
internal bool Recurse() {
AssertInput();
return _Navigator.MoveToFirstChild();
}
internal bool ToParent() {
AssertInput();
return _Navigator.MoveToParent();
}
internal void Close() {
_Navigator = null;
_PositionInfo = null;
}
//
// Input document properties
//
//
// XPathNavigator does not support line and position numbers
//
internal int LineNumber {
get { return _PositionInfo.LineNumber; }
}
internal int LinePosition {
get { return _PositionInfo.LinePosition; }
}
internal XPathNodeType NodeType {
get {
AssertInput();
return _Navigator.NodeType;
}
}
internal string Name {
get {
AssertInput();
return _Navigator.Name;
}
}
internal string LocalName {
get {
AssertInput();
return _Navigator.LocalName;
}
}
internal string NamespaceURI {
get {
AssertInput();
return _Navigator.NamespaceURI;
}
}
internal string Prefix {
get {
AssertInput();
return _Navigator.Prefix;
}
}
internal string Value {
get {
AssertInput();
return _Navigator.Value;
}
}
internal bool IsEmptyTag {
get {
AssertInput();
return _Navigator.IsEmptyElement;
}
}
internal string BaseURI {
get {
return _Navigator.BaseURI;
}
}
internal bool MoveToFirstAttribute() {
AssertInput();
return _Navigator.MoveToFirstAttribute();
}
internal bool MoveToNextAttribute() {
AssertInput();
return _Navigator.MoveToNextAttribute();
}
internal bool MoveToFirstNamespace() {
AssertInput();
return _Navigator.MoveToFirstNamespace(XPathNamespaceScope.ExcludeXml);
}
internal bool MoveToNextNamespace() {
AssertInput();
return _Navigator.MoveToNextNamespace(XPathNamespaceScope.ExcludeXml);
}
//
// Constructor
//
internal NavigatorInput(XPathNavigator navigator, string baseUri, InputScope rootScope) {
if (navigator == null) {
throw new ArgumentNullException("navigator");
}
if (baseUri == null) {
throw new ArgumentNullException("baseUri");
}
Debug.Assert(navigator.NameTable != null);
_Next = null;
_Href = baseUri;
_Atoms = new Keywords(navigator.NameTable);
_Atoms.LookupKeywords();
_Navigator = navigator;
_Manager = new InputScopeManager(_Navigator, rootScope);
_PositionInfo = PositionInfo.GetPositionInfo(_Navigator);
/*BeginReading:*/
AssertInput();
if (NodeType == XPathNodeType.Root) {
_Navigator.MoveToFirstChild();
}
}
internal NavigatorInput(XPathNavigator navigator): this(navigator, navigator.BaseURI, null) {}
//
// Debugging support
//
[System.Diagnostics.Conditional("DEBUG")]
internal void AssertInput() {
Debug.Assert(_Navigator != null);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Xsl.XsltOld {
using Res = System.Xml.Utils.Res;
using System;
using System.Diagnostics;
using System.Xml;
using System.Xml.XPath;
internal class NavigatorInput {
private XPathNavigator _Navigator;
private PositionInfo _PositionInfo;
private InputScopeManager _Manager;
private NavigatorInput _Next;
private string _Href;
private Keywords _Atoms;
internal NavigatorInput Next {
get {
return _Next;
}
set {
_Next = value;
}
}
internal string Href {
get {
return _Href;
}
}
internal Keywords Atoms {
get {
return _Atoms;
}
}
internal XPathNavigator Navigator {
get {
AssertInput();
return _Navigator;
}
}
internal InputScopeManager InputScopeManager {
get {
AssertInput();
return _Manager;
}
}
internal bool Advance() {
AssertInput();
return _Navigator.MoveToNext();
}
internal bool Recurse() {
AssertInput();
return _Navigator.MoveToFirstChild();
}
internal bool ToParent() {
AssertInput();
return _Navigator.MoveToParent();
}
internal void Close() {
_Navigator = null;
_PositionInfo = null;
}
//
// Input document properties
//
//
// XPathNavigator does not support line and position numbers
//
internal int LineNumber {
get { return _PositionInfo.LineNumber; }
}
internal int LinePosition {
get { return _PositionInfo.LinePosition; }
}
internal XPathNodeType NodeType {
get {
AssertInput();
return _Navigator.NodeType;
}
}
internal string Name {
get {
AssertInput();
return _Navigator.Name;
}
}
internal string LocalName {
get {
AssertInput();
return _Navigator.LocalName;
}
}
internal string NamespaceURI {
get {
AssertInput();
return _Navigator.NamespaceURI;
}
}
internal string Prefix {
get {
AssertInput();
return _Navigator.Prefix;
}
}
internal string Value {
get {
AssertInput();
return _Navigator.Value;
}
}
internal bool IsEmptyTag {
get {
AssertInput();
return _Navigator.IsEmptyElement;
}
}
internal string BaseURI {
get {
return _Navigator.BaseURI;
}
}
internal bool MoveToFirstAttribute() {
AssertInput();
return _Navigator.MoveToFirstAttribute();
}
internal bool MoveToNextAttribute() {
AssertInput();
return _Navigator.MoveToNextAttribute();
}
internal bool MoveToFirstNamespace() {
AssertInput();
return _Navigator.MoveToFirstNamespace(XPathNamespaceScope.ExcludeXml);
}
internal bool MoveToNextNamespace() {
AssertInput();
return _Navigator.MoveToNextNamespace(XPathNamespaceScope.ExcludeXml);
}
//
// Constructor
//
internal NavigatorInput(XPathNavigator navigator, string baseUri, InputScope rootScope) {
if (navigator == null) {
throw new ArgumentNullException("navigator");
}
if (baseUri == null) {
throw new ArgumentNullException("baseUri");
}
Debug.Assert(navigator.NameTable != null);
_Next = null;
_Href = baseUri;
_Atoms = new Keywords(navigator.NameTable);
_Atoms.LookupKeywords();
_Navigator = navigator;
_Manager = new InputScopeManager(_Navigator, rootScope);
_PositionInfo = PositionInfo.GetPositionInfo(_Navigator);
/*BeginReading:*/
AssertInput();
if (NodeType == XPathNodeType.Root) {
_Navigator.MoveToFirstChild();
}
}
internal NavigatorInput(XPathNavigator navigator): this(navigator, navigator.BaseURI, null) {}
//
// Debugging support
//
[System.Diagnostics.Conditional("DEBUG")]
internal void AssertInput() {
Debug.Assert(_Navigator != null);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PropertiesTab.cs
- QuadTree.cs
- SystemWebSectionGroup.cs
- AudioFormatConverter.cs
- SqlColumnizer.cs
- UInt64Storage.cs
- BitmapMetadataBlob.cs
- MemoryStream.cs
- ConstraintManager.cs
- RuntimeEnvironment.cs
- Schema.cs
- DataGridCellsPresenter.cs
- Encoder.cs
- RtfFormatStack.cs
- NTAccount.cs
- Constants.cs
- ReflectionTypeLoadException.cs
- DataGridViewTopRowAccessibleObject.cs
- RoleManagerSection.cs
- WindowsStatic.cs
- Region.cs
- ListSortDescription.cs
- InternalControlCollection.cs
- TypeHelpers.cs
- PerformanceCountersElement.cs
- ConfigurationSectionGroupCollection.cs
- XmlParserContext.cs
- EdmMember.cs
- NativeMethodsCLR.cs
- TypeSystemProvider.cs
- RightsManagementEncryptedStream.cs
- GenericFlowSwitchHelper.cs
- FocusChangedEventArgs.cs
- Cursor.cs
- XmlILTrace.cs
- DateTimeFormatInfoScanner.cs
- ListViewItem.cs
- XPathNavigatorReader.cs
- XmlUTF8TextReader.cs
- __FastResourceComparer.cs
- DataViewSettingCollection.cs
- _ConnectOverlappedAsyncResult.cs
- ConstraintConverter.cs
- CodeTypeReference.cs
- HealthMonitoringSectionHelper.cs
- DataBindingCollection.cs
- HijriCalendar.cs
- JoinQueryOperator.cs
- TrackingLocationCollection.cs
- LinkUtilities.cs
- RijndaelManaged.cs
- MinimizableAttributeTypeConverter.cs
- HandlerFactoryWrapper.cs
- BitmapImage.cs
- ConfigurationErrorsException.cs
- XmlArrayAttribute.cs
- SafeHGlobalHandleCritical.cs
- AccessKeyManager.cs
- XslTransformFileEditor.cs
- SoapCodeExporter.cs
- ChtmlSelectionListAdapter.cs
- RSACryptoServiceProvider.cs
- WhitespaceSignificantCollectionAttribute.cs
- Column.cs
- CompensationDesigner.cs
- DeviceOverridableAttribute.cs
- QueryCursorEventArgs.cs
- IconBitmapDecoder.cs
- Guid.cs
- WebPartTracker.cs
- LabelAutomationPeer.cs
- MouseGesture.cs
- AsyncOperationContext.cs
- HyperLink.cs
- XmlDocument.cs
- ToolStripMenuItem.cs
- TemplateControl.cs
- XmlBinaryWriterSession.cs
- Matrix3D.cs
- SQLByteStorage.cs
- TreeNodeBinding.cs
- EncryptedPackage.cs
- DiscriminatorMap.cs
- DbConnectionPoolOptions.cs
- ClassDataContract.cs
- CmsUtils.cs
- GifBitmapDecoder.cs
- ParameterModifier.cs
- ImageButton.cs
- ToolStripItemImageRenderEventArgs.cs
- DPTypeDescriptorContext.cs
- WinEventTracker.cs
- Component.cs
- XmlDataSourceDesigner.cs
- XmlAttributeAttribute.cs
- HtmlObjectListAdapter.cs
- SapiAttributeParser.cs
- EntityCommandCompilationException.cs
- RegexBoyerMoore.cs
- ProxyGenerator.cs