Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / XmlUtils / System / Xml / Xsl / Runtime / XmlILIndex.cs / 1 / XmlILIndex.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Xml.XPath; namespace System.Xml.Xsl.Runtime { ////// This class manages nodes from one input document, indexed by key value(s). /// [EditorBrowsable(EditorBrowsableState.Never)] public sealed class XmlILIndex { private Dictionarytable; /// /// This constructor is internal so that external users cannot construct it (and therefore we do not have to test it separately). /// internal XmlILIndex() { this.table = new Dictionary(); } /// /// Add a node indexed by the specified key value. /// public void Add(string key, XPathNavigator navigator) { XmlQueryNodeSequence seq; if (!this.table.TryGetValue(key, out seq)) { // Create a new sequence and add it to the index seq = new XmlQueryNodeSequence(); seq.AddClone(navigator); this.table.Add(key, seq); } else { // The nodes are guaranteed to be added in document order with possible duplicates. // Add node to the existing sequence if it differs from the last one. Debug.Assert(navigator.ComparePosition(seq[seq.Count - 1]) >= 0, "Index nodes must be added in document order"); if (!navigator.IsSamePosition(seq[seq.Count - 1])) { seq.AddClone(navigator); } } } ////// Lookup a sequence of nodes that are indexed by the specified key value. /// Return a non-null empty sequence, if there are no nodes associated with the key. /// public XmlQueryNodeSequence Lookup(string key) { XmlQueryNodeSequence seq; if (!this.table.TryGetValue(key, out seq)) seq = new XmlQueryNodeSequence(); return seq; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Xml.XPath; namespace System.Xml.Xsl.Runtime { ////// This class manages nodes from one input document, indexed by key value(s). /// [EditorBrowsable(EditorBrowsableState.Never)] public sealed class XmlILIndex { private Dictionarytable; /// /// This constructor is internal so that external users cannot construct it (and therefore we do not have to test it separately). /// internal XmlILIndex() { this.table = new Dictionary(); } /// /// Add a node indexed by the specified key value. /// public void Add(string key, XPathNavigator navigator) { XmlQueryNodeSequence seq; if (!this.table.TryGetValue(key, out seq)) { // Create a new sequence and add it to the index seq = new XmlQueryNodeSequence(); seq.AddClone(navigator); this.table.Add(key, seq); } else { // The nodes are guaranteed to be added in document order with possible duplicates. // Add node to the existing sequence if it differs from the last one. Debug.Assert(navigator.ComparePosition(seq[seq.Count - 1]) >= 0, "Index nodes must be added in document order"); if (!navigator.IsSamePosition(seq[seq.Count - 1])) { seq.AddClone(navigator); } } } ////// Lookup a sequence of nodes that are indexed by the specified key value. /// Return a non-null empty sequence, if there are no nodes associated with the key. /// public XmlQueryNodeSequence Lookup(string key) { XmlQueryNodeSequence seq; if (!this.table.TryGetValue(key, out seq)) seq = new XmlQueryNodeSequence(); return seq; } } } // 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
- TransformDescriptor.cs
- FramingChannels.cs
- GetFileNameResult.cs
- GraphicsContext.cs
- ForwardPositionQuery.cs
- ConfigurationSection.cs
- DataTableCollection.cs
- HtmlString.cs
- DynamicValidator.cs
- RowUpdatingEventArgs.cs
- DataGridViewCellStyle.cs
- LoginView.cs
- QuaternionAnimation.cs
- LabelAutomationPeer.cs
- ListViewItem.cs
- InheritedPropertyChangedEventArgs.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ProfileGroupSettingsCollection.cs
- HttpServerVarsCollection.cs
- Soap.cs
- sqlmetadatafactory.cs
- CodeCatchClause.cs
- TreeWalkHelper.cs
- WindowsFormsHelpers.cs
- InvalidMessageContractException.cs
- ComboBoxItem.cs
- Logging.cs
- DefaultAutoFieldGenerator.cs
- WebPartsPersonalizationAuthorization.cs
- InputScopeConverter.cs
- ConcurrentQueue.cs
- LeftCellWrapper.cs
- DependentTransaction.cs
- PackageDigitalSignature.cs
- CellPartitioner.cs
- OptimalBreakSession.cs
- QueryableFilterUserControl.cs
- SmiEventSink.cs
- EntityViewGenerator.cs
- StateMachineSubscription.cs
- QilInvokeEarlyBound.cs
- ProxyAttribute.cs
- TextEncodedRawTextWriter.cs
- UniqueTransportManagerRegistration.cs
- ModuleConfigurationInfo.cs
- StylusButton.cs
- ConsoleCancelEventArgs.cs
- XmlQueryContext.cs
- SupportsPreviewControlAttribute.cs
- RefreshEventArgs.cs
- WasAdminWrapper.cs
- HostingPreferredMapPath.cs
- TransformConverter.cs
- DetailsViewUpdateEventArgs.cs
- IdentitySection.cs
- UpdateTranslator.cs
- StorageScalarPropertyMapping.cs
- IisTraceWebEventProvider.cs
- TabControl.cs
- SizeValueSerializer.cs
- DataMemberFieldEditor.cs
- PlanCompiler.cs
- DataTableExtensions.cs
- DataGridViewDataErrorEventArgs.cs
- ReceiveReply.cs
- configsystem.cs
- ModelItem.cs
- ExpressionWriter.cs
- StateMachine.cs
- Button.cs
- CurrentChangingEventArgs.cs
- WebServiceResponseDesigner.cs
- SR.cs
- ItemContainerGenerator.cs
- TextServicesHost.cs
- SystemParameters.cs
- MapPathBasedVirtualPathProvider.cs
- RootBrowserWindowProxy.cs
- SqlBuffer.cs
- CompiledIdentityConstraint.cs
- KeyEvent.cs
- ContentElementCollection.cs
- FlowLayout.cs
- SoundPlayerAction.cs
- DataGridViewIntLinkedList.cs
- RtfControls.cs
- LocatorBase.cs
- Inline.cs
- HtmlForm.cs
- BitmapImage.cs
- ValidationHelper.cs
- EventWaitHandleSecurity.cs
- HitTestFilterBehavior.cs
- ViewStateException.cs
- XPathSelfQuery.cs
- sapiproxy.cs
- SchemaType.cs
- CompositeDataBoundControl.cs
- TrustManagerMoreInformation.cs
- ClientTargetCollection.cs